
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
ax-feishu-bridge
Advanced tools
Feishu/Lark bridge for coding agents — chat with Pi or DeepSeek Harness from Feishu or Lark
支持 Deepseek Harness/Pi 接入 飞书/Lark 的消息桥接扩展:在熟悉的聊天界面里与本机 DSH/Pi 持续协作。
中文 · English
DSH、Pi飞书交流反馈群:https://applink.feishu.cn/client/chat/chatter/add_by_link?link_token=57dvecbb-95d3-4d01-b689-6ebc3d17c867
扩展有什么问题可以加群反馈。
全平台账号名称:AX阿煊
B站:https://space.bilibili.com/4489397
open:群里和话题里可直接回复,不需要 @,还需手动在飞书开发者后台开启机器人“获取群组中所有消息”的权限mention:只有 @ 机器人、命中关键词或回复机器人消息时才会回复(后两项可选开启)下面的快速开始先介绍 DeepSeek Harness(DSH),Pi 用户可直接跳到 Pi 快速开始。
本扩展同时以 DeepSeek Harness 组合包(bundle)形式分发,飞书机器人的配置和聊天体验与 Pi 一致。
前提:本机已安装 dsh
从 npm 安装
dsh plugin --profile web add ax-feishu-bridge --ignore-scripts
安装后重启dsh,如果没有检测到飞书机器人配置,会自动进入终端配置向导:推荐选择“扫码自动创建飞书助手”,按提示扫描终端里的二维码即可;如果你已经有现成的飞书/Lark 应用,也可以选择手动填写 App ID 和 App Secret。
配置完成后桥接会自动启动并连上飞书/Lark,之后每次启动 dsh 也会自动连接。
DSH 使用独立的配置文件
~/.dsh/feishu/config.harness.json(存放在 dsh 自己的家目录下),与 Pi 的配置互不干扰,两边可以同时安装、共存。
@ 机器人群聊策略设为open后,想要不@机器人就能回复任何群内消息,还需要到飞书开发者后台 - 对应机器人事件与回调 - 打开“获取群组中所有消息”或“获取群组中用户和机器人发送的消息”这两个任意一个权限。

/new、/resume、/model、/thinking、/stop、/workspace、/status、/config 等聊天内命令同样可用,完整列表见下文“飞书里怎么用”。
两点区别需要注意:
/feishu 管理命令是精简版:提供 setup / status / autostart / debug / reset,没有 start / stop / restart——桥接随 dsh 自动启停,由配置里的 autoStart 控制。HARNESS_(例如 HARNESS_APP_ID),而不是 Pi 的 FEISHU_;卡片回调端口默认也不同——Pi 默认 3001,DSH 默认 3002,两边同时启用也不会冲突。pi install npm:ax-feishu-bridge
也可以从 Git 安装:
pi install git:github.com/AX1202/ax-feishu-bridge
在 Pi 里运行:
/feishu setup
推荐选择“扫码自动创建飞书助手”,按提示扫描终端里的二维码即可。
如果你已经有现成的飞书/Lark 应用,也可以选择手动填写 App ID 和 App Secret。
/feishu start
如果开启了自动启动,Pi 会话启动时会自动连上飞书/Lark。
在飞书/Lark 里打开机器人,直接发消息即可。
@ 机器人群聊策略设为open后,想要不@机器人就能回复任何群内消息,还需要到飞书开发者后台 - 对应机器人事件与回调 - 打开“获取群组中所有消息”或“获取群组中用户和机器人发送的消息”这两个任意一个权限。
安装后一般会有这个文件:
C:\Program Files\Git\bin\bash.exe
这个就是 Windows 上给 Pi 使用的 Bash 环境。
打开:
C:\Users\你的用户名\.pi\agent\settings.json
在大括号里加这一行:
"shellPath": "C:\\Program Files\\Git\\bin\\bash.exe"
注意:如果你原来文件里还有其他配置,不要删掉,只加这一行即可。
这个配置主要是告诉 Pi 主程序 使用哪个 Bash。
有些插件会直接调用:
bash
它不一定读取 Pi 的 shellPath 配置,所以还需要把 Git Bash 加到系统 PATH。
在 PowerShell 里执行:
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", "User") + ";C:\Program Files\Git\bin",
"User"
)
执行完上面的命令后,要关闭 PowerShell,再重新打开。
然后验证:
where.exe bash
如果输出:
C:\Program Files\Git\bin\bash.exe
说明修复成功。
pi
最稳的配置是两个都做:
settings.json 配置 shellPath
+
Windows PATH 加入 C:\Program Files\Git\bin
前者给 Pi 主程序用,后者给插件或子进程直接调用 bash 用。
发送给机器人的常用命令:
| 命令 | 作用 |
|---|---|
/new | 为当前会话新建一个 Pi 会话 |
/resume | 打开当前工作区的历史会话列表;可在卡片中切到全部会话 |
/model | 打开模型选择卡片,切换当前会话使用的模型 |
/thinking | 打开思考强度选择卡片,切换当前模型实际支持的档位 |
/stop | 停止当前这条回复的处理 |
/workspace | 查看当前会话绑定的工作区 |
/workspace /path/to/project | 把当前会话切换到指定工作区,下一条消息生效 |
/status | 查看当前会话的工作状态、模型、思考强度和上下文占用 |
/commands | 查看机器人支持的全部命令 |
/config | 查看运行时配置(仅限与机器人的私聊) |
/config groupKeywords 关键词1,关键词2 | 设置群聊关键词触发并立即生效 |
/config streamingReply false | 关闭流式展示,改用普通回复卡片 |
/config clear groupKeywords | 清除某项运行时配置覆盖 |
| 命令 | 作用 |
|---|---|
/feishu setup | 打开初始化配置 |
/feishu start | 启动飞书桥接 |
/feishu stop | 停止飞书桥接 |
/feishu restart | 重启桥接,并重新加载最新代码和配置 |
/feishu status | 查看连接状态、当前 owner 和配置 |
/feishu autostart | 开关自动启动 |
/feishu debug | 查看最近 20 条调试日志 |
/feishu reset | 清除配置和映射,但保留会话历史 |
在 DSH 的 web 输入框或终端里输入(依赖宿主 DSH 的命令能力;宿主未提供时会静默跳过,不影响桥接本身):
| 命令 | 作用 |
|---|---|
/feishu setup | 重新配置机器人;问答与二维码在 DSH 进程所在终端进行,已有配置时先确认覆盖 |
/feishu status | 查看连接状态、当前 owner 和配置 |
/feishu autostart | 开关自动启动 |
/feishu debug | 查看最近 20 条调试日志 |
/feishu reset confirm | 清除配置和映射,但保留会话历史 |
与 Pi 的区别:DSH 不提供 /feishu start | stop | restart——桥接随 dsh 自动启停,setup / reset 之后把插件重启 dsh,新配置即可生效。
注意(DSH 平台限制):命令结果以可折叠的命令节点显示在对话流里,但空白的全新会话不渲染命令记录——如果敲了命令没看到任何反应,先在该会话里发一条普通消息,再执行命令即可。
setup不受影响(问答与二维码在终端)。
配置默认保存在:
~/.pi/agent/feishu/config.json
也可以通过环境变量配置:
| 变量 | 说明 |
|---|---|
FEISHU_APP_ID | 飞书/Lark 应用 ID |
FEISHU_APP_SECRET | 飞书/Lark 应用密钥 |
FEISHU_DOMAIN | feishu 或 lark,默认 feishu |
FEISHU_GROUP_POLICY | open 或 mention,默认 open |
FEISHU_GROUP_KEYWORDS | 群聊关键词,逗号或分号分隔;命中后无需 @ |
FEISHU_GROUP_ALSO_ON_REPLY | 1 时回复机器人消息可继续追问,无需再次 @ |
FEISHU_IGNORE_BOT_MESSAGES | 是否忽略其他机器人消息,默认 true |
FEISHU_LANGUAGE | zh 或 en |
FEISHU_REACT_EMOJI | 收到消息时的表情回应,默认 Get |
FEISHU_AUTO_START | 1 或 0 |
FEISHU_CARD_ACTION_MODE | webhook 或 ws,默认 webhook |
FEISHU_CARD_ACTION_WEBHOOK_HOST | 卡片回调监听地址,默认 0.0.0.0 |
FEISHU_CARD_ACTION_WEBHOOK_PORT | 卡片回调端口,默认 3001(DSH 用 HARNESS_CARD_ACTION_WEBHOOK_PORT,默认 3002) |
FEISHU_CARD_ACTION_WEBHOOK_PATH | 卡片回调路径,默认 /webhook/card |
FEISHU_PROMPT_NOTIFY_SEC | 长任务超过多少秒后在飞书发一条“仍在处理中”提示,默认 180,0 关闭 |
FEISHU_PROMPT_TIMEOUT_SEC | 任务硬超时秒数,超时后中止任务并报失败,默认 0(不设硬超时,长期运行也不会被报失败) |
FEISHU_PARSE_INTERACTIVE_CARDS | 是否把 interactive 卡片转为 Pi 可读文字,默认 true |
FEISHU_INCLUDE_QUOTED_MESSAGE | 回复/引用消息时是否带入原消息内容,默认 true |
FEISHU_QUOTED_MESSAGE_MAX_CHARS | 引用消息最多带入的字符数,默认 8000 |
FEISHU_SEND_MAX_RETRIES | 飞书接口临时失败时的重试次数,默认 2 |
FEISHU_STREAMING_REPLY | 是否启用 CardKit 单卡流式回复,默认 true |
FEISHU_STREAM_PRINT_FREQUENCY_MS | 流式逐字显示的刷新间隔,默认 50 |
FEISHU_STREAM_PRINT_STEP | 每次显示的字符数,默认 1 |
FEISHU_STREAM_PUSH_INTERVAL_MS | 向飞书推送最新正文的间隔,默认 120 毫秒 |
FEISHU_EXT_DEV | 1 时显示本地开发标识 DEV |
除了上面的环境变量,也可以在 config.json 里设置(优先级:环境变量 > config.json > 默认值):
| 字段 | 说明 |
|---|---|
promptNotifySec | 长任务超过多少秒后在飞书发一条“仍在处理中”提示,默认 180,0 关闭 |
promptTimeoutSec | 任务硬超时秒数,超时后中止任务并报失败,默认 0(不设硬超时,长期运行也不会被报失败) |
注意:长时间任务(例如跑测试、构建、批量处理)默认不会再被报为“任务失败”——到达
promptNotifySec后只会在飞书里提示“任务仍在处理中”,回复卡片保持“回复中”,完成后正常送达结果。只有显式设置promptTimeoutSec后才会硬超时。修改后请执行/feishu restart生效。
以下桥接设置可以在与机器人的私聊里用 /config 立即修改,无需重启,并保存到各自平台数据目录下的 runtime-overrides.json(Pi 为 ~/.pi/agent/feishu/,DSH 为 ~/.dsh/feishu/):
/config
/config groupKeywords 报警,告警
/config groupAlsoOnReply true
/config streamingReply false
/config clear groupKeywords
/config clear all
可热更新的范围仅包括 groupPolicy、groupKeywords、groupAlsoOnReply、ignoreBotMessages、reactEmoji、language 以及流式展示参数;应用凭证、引用消息展开和连接方式不能通过聊天修改。
| 路径 | 内容 |
|---|---|
~/.pi/agent/feishu/config.json | 机器人凭证和基础配置 |
~/.pi/agent/feishu/runtime-overrides.json | 通过私聊 /config 保存的运行时配置覆盖 |
~/.pi/agent/feishu/state.json | 飞书会话和 Pi 会话的映射 |
~/.pi/agent/feishu/bridge.json | 从飞书发起的 Pi 任务路由信息 |
~/.pi/agent/feishu/debug.log | 调试日志 |
~/.pi/agent/locks.json | 当前飞书连接的 owner 锁 |
~/.pi/agent/sessions/ | 每个飞书会话对应的 Pi 会话文件 |
~/.dsh/feishu/ | DSH 侧的配置、状态与日志(仅安装 DSH 时产生;未装 Pi 的机器不会创建 ~/.pi) |
连接锁选址:机器上装有 Pi(存在
~/.pi/agent目录)时沿用~/.pi/agent/locks.json,保证两边能协商同一个机器人的连接;纯 DSH 环境则使用~/.dsh/locks.json。
/feishu reset 只会清掉配置和映射,不会删除会话历史。/workspace 当前只支持绝对路径,或 ~/ 开头的路径。/resume 默认先显示当前项目的最近历史会话,也可以在卡片里切到“全部会话”并翻页浏览。FEISHU_CARD_ACTION_MODE 设成 ws。0.0.0.0:3001/webhook/card(Pi)/ 0.0.0.0:3002/webhook/card(DSH),需要在飞书开发者后台把交互卡片回调地址指到一个外部可访问的 URL。先看三件事:
/feishu start 是否已经运行@ 机器人如果你把群聊策略设成了 mention,就需要 @ 机器人后它才会回复。
open模式下:群里和话题里可直接回复,不需要 @,但还需手动在飞书开发者后台开启机器人“获取群组中所有消息”权限才能生效。
FAQs
Feishu/Lark bridge for coding agents — chat with Pi or DeepSeek Harness from Feishu or Lark
The npm package ax-feishu-bridge receives a total of 98 weekly downloads. As such, ax-feishu-bridge popularity was classified as not popular.
We found that ax-feishu-bridge demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.