dsh-feishu-bridge:把 dsh 会话接到飞书机器人

前言

用 DeepSeek Harness(dsh)跑 agent 时,人往往得守在电脑前:离开工位就看不到进度,要不要拍板也收不到通知,回来可能发现任务早就卡在某个问题上等了半天。常见做法是盯着终端或 Web 界面,手机端很难参与同一条会话。

下面介绍社区插件 dsh-feishu-bridge(维护者 superSizzzz,分类:工作流)。它在 dsh 与一个飞书 / Lark 机器人之间做双向桥:阶段结论推到飞书,你在飞书里回的消息进 dsh 会话,任务结束时还有一份工作汇报。

这是什么

dsh-feishu-bridge 是 DSH 生态里的工作流类插件,仓库:superSizzzz/dsh-feishu-bridge。目录页:SkillHub 插件页。

一句话定位:Two-way bridge between DeepSeek Harness (dsh) and a Feishu / Lark bot — stage conclusions out, messages in, work summary at the end.

插件以当前 dsh 进程权限运行;安装前建议自行查看仓库源码与 MIT 许可证。SkillHub 为社区目录站点,与 DeepSeek / 幻方无官方从属关系。

核心功能

推送节奏

默认只在三个时刻向飞书发声,中间保持安静:

  1. 派活后:固定说一句打算怎么干(与模型判断无关)。
  2. 阶段成果:思考先攒着,攒到有可说的成果再问模型「这一阶段实际做成了什么」;回答 NONE 则继续攒。只报已经做完的事,不把终端式逐句日志搬到飞书。
  3. 任务结束:工作汇报(做了什么、动了哪些文件、行数统计等)。

需要更密推送时,可在 patch 里把 turnPush 设为 always;临时安静可发 /mute,彻底关闭可把 enabled 设为 false。

飞书侧形态

消息以飞书卡片呈现,包含工作区路径、会话短码(如 #A3F2)与标题、阶段或收尾正文;收尾卡片会列出改动文件与 diff 统计。

消息回流与指令

非命令的普通消息直接进入 dsh 会话,与在电脑上打字等价;图片会下载后交给附件服务。常用飞书指令包括 /help、/status、/list、/use <短码>、/stop、/mute / /unmute、/chat / /work、/polish、/config、/forget 等(详见 README 表格)。

提问桥

当 dsh 通过 ask_user_question 向你提问时,插件把问题做成卡片推到飞书,网页端弹窗仍照常等待;谁先答用谁。默认约 5 分钟无应答则视为未答,agent 继续执行,避免卡死。

闲聊模式

/chat 后飞书侧仅为普通模型对话,不启动 dsh 会话、不用工具、不动工作区;/work 切回。重启 dsh 会回到工作模式(模式不持久化)。

配置与工具

  • dsh 设置页「飞书桥」栏,或浏览器访问 http://127.0.0.1:3080/feishu-bridge/config(端口随 dsh web 配置变化)。
  • 行为类字段(如 turnPush、thinkingJudge)需在安装时的 bundle patch 里写,保存后多数界面项即时生效,无需重启。
  • 插件还提供 feishu_notify、feishu_summary、feishu_silence 等工具(见仓库 src/tools.ts)。

安装与启用

前置条件

项 要求
dsh ≥ 0.1.7-rc.2
Node ≥ 22
lark-cli 全局安装
飞书应用 需 im:message、im:message:send_as_bot;事件订阅 im.message.receive_v1,长连接模式

未建过飞书应用时,可先初始化 lark-cli profile:

npm i -g @larksuite/cli
lark-cli config init --new --name dsh-bridge

在开放平台开通上述权限;要用卡片按钮可再加 im:message:readonly 与 card.action.trigger。

安装命令

在 web profile 下执行(每个 profile 各装一次,换 profile 则改 --profile 参数):

dsh plugin --profile web add github:superSizzzz/dsh-feishu-bridge

dsh 会读取包内 dsh.bundle.patch 并并入当前 profile,无需手写配置,也无需 git clone。

绑定用户

装完后在飞书里给机器人发一句话。插件从该消息识别并记住你的 open_id,之后只服务你一人;userId 配置可留空。未认领前不会主动推送。

建议重启 dsh 使插件生效;可查看 ~/.dsh/dsh-feishu-bridge/boot.log 确认加载,并在设置页确认出现「飞书桥」一栏。

典型用法

  1. 按上文完成安装与飞书应用配置,重启 dsh。
  2. 在飞书向机器人发送首条消息完成绑定。
  3. 在 dsh 中正常派活;在飞书接收开工说明、阶段卡片与收尾汇报。
  4. 离席时用飞书发消息继续会话,或用 /use <短码> 切换默认投递会话;需要打断 agent 时发 /stop。
  5. 模型在 dsh 里向你提问时,可在飞书卡片上点选按钮,或在网页端作答。

卸载:

dsh plugin --profile web remove dsh-feishu-bridge

状态目录为 $DSH_HOME/dsh-feishu-bridge/,需彻底清理可删除该目录;飞书开放平台上的应用与权限需自行处理。

适用场景与注意

适合:需要 mobile 或离席参与同一条 dsh 会话、希望阶段成果与收尾自动汇总到 IM、且已具备飞书自建应用能力的开发者。

权限与隐私(摘自 README):

  • 不新开端口;配置页复用 dsh HTTP 服务;出站主要为飞书与你配置的模型 provider。
  • 磁盘仅写 $DSH_HOME/dsh-feishu-bridge/;仓库说明无遥测代码。
  • 推送到飞书的文案由模型现写,会话相关内容会发往你的模型 provider,安装前需知悉。
  • 飞书侧不访问通讯录、云文档、日历;同一机器多 dsh 实例时仅一个实例通过 pid 锁接收飞书消息。

常见问题:装完无推送时先完成飞书首条绑定;无反应时查 boot.log;改插件代码后需重启 dsh。

结尾

dsh-feishu-bridge 把「阶段结论出、消息进、结束总结」接到飞书,减轻必须守在终端前的约束。进一步了解请访问 SkillHub 目录页 与 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye