@zhuzhongqian/pi-feishu-bridge

Control multiple local Pi coding agent sessions from a Feishu bot

Packages

Package details

extension

Install @zhuzhongqian/pi-feishu-bridge from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@zhuzhongqian/pi-feishu-bridge
Package
@zhuzhongqian/pi-feishu-bridge
Version
1.1.3
Published
Oct 27, 2026
Downloads
641/mo · 641/wk
Author
zhuzhongqian
License
UNLICENSED
Types
extension
Size
32.1 KB
Dependencies
1 dependency · 0 peers
Pi manifest JSON
{
  "extensions": [
    "./dist/multi-session.mjs"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

Pi 飞书多会话桥接

使用飞书机器人管理一台电脑上的多个 Pi Coding Agent 会话。每个设备应使用独立飞书应用。

安装

  1. 安装 Node.js 20 或更高版本和 Pi。在飞书开放平台创建企业自建应用,启用机器人,开通接收单聊消息及以应用身份发送消息的权限;订阅 im.message.receive_v1,事件与 card.action.trigger 回调均使用长连接接收。发布应用并将使用者加入可用范围。更新任务卡片可能需要消息更新权限。

  2. 创建 ~/.pi/agent/feishu.json(Windows 为 %USERPROFILE%\.pi\agent\feishu.json):

    { "appId": "cli_应用ID", "appSecret": "应用密钥", "allowedOpenIds": ["ou_用户open_id"] }

    可用环境变量 PI_FEISHU_CONFIG 指向其他配置路径。不要分享或提交配置文件。

  3. 运行 npx --yes --package @zhuzhongqian/pi-feishu-bridge pi-feishu-setup 生成本机网关密钥,再运行 pi install npm:@zhuzhongqian/pi-feishu-bridge。

  4. 在项目目录运行 pi、pi -r 或 pi -c。插件会自动启动本机网关。在飞书单聊发送 /sessions 选择在线会话;如卡片不可用,可用 /session 编号。

每台设备需要单独的飞书应用和该应用下的用户 open_id。请仅授权可信用户:飞书任务拥有 Pi 会话的工具权限。

更新

在终端运行 pi update npm:@zhuzhongqian/pi-feishu-bridge。等待飞书任务完成,在 Pi 中执行 /feishu-restart,再重启 Pi,使网关和插件都加载新版本;重启后需要重新选择飞书会话。Windows PowerShell 如遇到脚本执行限制,可用 pi.cmd 替代 pi。若安装时指定了固定版本,Pi 更新不会自动升级该固定版本,应使用目标版本重新执行 pi install。

构建与发布

维护者在源码目录运行 npm install 和 npm run build,构建结果位于 dist/。npm pack 和 npm publish 会通过 prepack 自动构建,发布包仅包含 dist/、README 和包信息;终端用户安装 npm 包时不需要自行编译。发布前可运行 npm pack --dry-run 检查文件清单。

命令与限制

/sessions、/session、/session 编号、/version、/help 在飞书使用;选择会话后可用 /status、/history、/models、/model 服务商/模型ID、/cancel 和 /clear。Pi 终端可用 /feishu-status 和 /feishu-restart。任务进度显示在可折叠卡片中;终端交互仍需在本机处理。网络中断期间的进度和结果不缓存。更新包后需要重启网关和 Pi。版本检查仅比较本机安装版本与运行的网关,不查询 npm 更新。