dsh-feishu-bridge
by shifan3
飞书(Feishu / Lark)桥接插件,用于 DeepSeek Harness(DSH)。
Feishu/Lark bridge plugin for the DeepSeek Harness (DSH): long-connection → agent → reply
安装
dsh plugin --profile web add github:shifan3/dsh-feishu-bridgeGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
飞书(Feishu / Lark)桥接插件,用于 DeepSeek Harness(DSH)。
通过飞书长连接(WebSocket)接收机器人消息 → 交给一个拥有完整工具集的常驻 Agent 执行命令 → 再通过飞书机器人回复。不需要公网 IP / 域名 / 内网穿透,本机能访问公网即可。
架构
飞书用户 → 飞书云 ←WS 长连接→ helper.mjs(本地) --POST--> 插件路由 → 常驻 Agent(执行命令) → 飞书 API 回复
helper.mjs:用官方@larksuiteoapi/node-sdk的WSClient主动外连飞书服务器,接收im.message.receive_v1事件。index.js:宿主插件,负责创建常驻 Agent、注册桥接路由、处理/命令、回发消息与 typing 指示器。
前置条件
- 已部署 DSH,并能以
dsh web(web profile)启动。 - 本机 Node.js ≥ 18(
fetch/WebSocket均可用)。 - 一个飞书企业自建应用(含机器人能力)。
第一步:配置飞书应用
- 打开 open.feishu.cn/app → 创建企业自建应用 → 添加「机器人」能力。
- 权限管理开启:
im:message(获取与发送消息)、im:message.p2p_msg(单聊)、im:message.group_at_msg(群聊 @)、以及消息表情回复权限(im:message.reaction,用于 typing 指示器)。 - 事件与回调 → 订阅事件
im.message.receive_v1,订阅方式选「使用长连接接收事件」。 - 创建版本并发布(个人租户需管理员审批通过后机器人才生效)。
- 在「凭证与基础信息」复制 App ID 和 App Secret。
第二步:安装插件
mkdir -p ~/.dsh/plugins
git clone https://github.com/<你的用户名>/dsh-feishu-bridge.git ~/.dsh/plugins/feishu-bridge
cd ~/.dsh/plugins/feishu-bridge
npm install
第三步:配置凭证(二选一)
方式 A:环境变量(推荐)
export FEISHU_APP_ID=cli_xxxxxxxx
export FEISHU_APP_SECRET=xxxxxxxx
方式 B:本地 config.json(已 gitignore,不会进仓库)
cp config.example.json config.json
# 编辑 config.json,填入 appId / appSecret / cwd(工作目录)等
凭证优先级:环境变量
FEISHU_APP_ID/FEISHU_APP_SECRET>config.json。
第四步:挂载到 web profile
编辑 ~/.dsh/profiles/web/cordis.patch.yml,加入:
- insert:
- id: feishu-bridge
name: '../../plugins/feishu-bridge/index.js'
重启 dsh web 即可生效。启动日志出现 [feishu-bridge] 与 [feishu-helper] 即表示加载成功。
内置命令
在飞书里直接发送:
| 命令 | 作用 |
|---|---|
/help |
显示命令帮助 |
/new |
新建会话(重置) |
/reset |
重置当前会话 |
/sessions |
列出会话(* 为当前) |
/session <名称> |
切换 / 新建会话 |
/cd <路径> |
切换 workspace(相对 / ~ / / 绝对路径),会重置会话 |
/status |
当前状态 |
/context |
当前上下文占用 |
/usage |
本会话 API 用量(tokens) |
/skills |
列出所有 skill |
/models |
列出可用模型(* 为当前) |
/model <模型> |
切换模型 |
/efforts |
列出思考强度(* 为当前) |
/effort <强度> |
切换思考强度 |
/modes |
列出可用模式(* 为当前) |
/mode <模式> |
切换模式(preset),会重置会话 |
/permissions |
列出 permission(* 为当前) |
/permission <名称> |
切换 permission |
⚠️ 会新建会话(清空历史与上下文)的命令:
/new、/reset、/cd、/mode。/session <名称>会切换到已有会话(保留其历史);只有名称不存在时才新建。/model、/effort、/permission只切换对应设置,不会重置会话。 列表类命令(/sessions、/models、/efforts、/modes、/permissions)会用*标记当前项;切换类命令(/session、/model、/effort、/mode、/permission)必须带参数。
处理普通消息时,机器人会先在消息上显示 typing 表情,处理完成后移除。
config.json 字段
| 字段 | 说明 | 默认 |
|---|---|---|
appId |
飞书 App ID(也可用 FEISHU_APP_ID) |
— |
appSecret |
飞书 App Secret(也可用 FEISHU_APP_SECRET) |
— |
presetId |
Agent 使用的 preset;null 为默认 |
null |
cwd |
Agent 工作目录 | — |
groupReplyOnlyWhenMentioned |
群聊仅被 @ 时回复 | true |
maxReplyChars |
回复最大字符数 | 4000 |
安全说明
- 切换 workspace(
/cd)会把该 Agent 的文件沙箱边界切换到新目录;/cd到某目录即代表授权它在该目录下读写。
License
MIT
原始 README: https://github.com/shifan3/dsh-feishu-bridge/blob/main/README.md ↗
同类插件
查看全部 →
dsh
将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。

dsh-qqbot
让 QQ Bot 接入 DeepSeek Harness(dsh)的官方插件

dsh-open-in-vscode
从 Web GUI 一键在 VS Code 中打开工作区目录。

dsh-notification
回合完成桌面通知,按结果分控 + 关键词过滤。

dsh-notifier
DSH 统一通知推送与远程控制:一个 `notify()` API 打通 25+ 渠道(Telegram / 钉钉 / 飞书 / 企业微信 / QQ 机器人 / WxPusher / PushPlus / Server 酱 / Bark / Discord / Slack / ntfy / webhook 等),timeSensitive / active / passive 分级路由并重试;五通道反向审批(Telegram 按钮 / 飞书卡片 / QQ / WxPusher / 微信 iLink);QQ/钉钉/飞书官方扫码登录;本地 Web 管理台;多 agent 路由;系统桌面通知——以及**手机指挥中心**:在手机上发 `!status` / `!stop` / `!retry` 遥控 agent,通知带可操作按钮(查看结果 / 重试 / 日志,点击回调 agent)。密钥脱敏、工具限流、零运行时依赖。

chatccc
飞书(Lark)或微信(WeChat)聊天控制 DeepSeek Harness / Claude Code / Cursor / Codex / CCC Agent