前言¶
在 DSH 插件式扩展的思路下,智能体运行时可以通过插件接入不同的消息渠道。itr-del/dsh-feishu 是一个用于 DeepSeek Harness(dsh)的飞书(Lark)IM 桥接插件,适合把飞书单聊消息接入运行中的 dsh 会话。
它解决的核心问题是:让飞书 DM 用户与 dsh 会话建立对应关系,使开发者可以通过飞书单聊与 dsh agent 进行多轮文本对话。
这是什么¶
dsh-feishu 的一句话定位是:Feishu (Lark) IM bridge for DeepSeek Harness (dsh)。
该插件由 itr-del 维护,许可证为 MIT,package.json 中版本为 0.1.0。
它主要用于将飞书自建机器人接入 dsh 的文本对话场景,并维护每个飞书 DM 用户对应的持久 dsh 会话。
核心功能¶
下面介绍已核实的功能点:
- 一个飞书 DM 用户对应一个持久 dsh 会话
会话标识为:
feishu:<open_id>
-
支持跨重连的多轮对话
同一 DM 用户在重新连接后,可以继续使用已有会话上下文。 -
过滤出站文本中的 DeepSeek DSML 工具调用标记
插件会在返回到飞书的文本中处理 DSML 工具调用标记,避免其直接出现在用户可见消息中。 -
纯 ESM,无 TypeScript 编译步骤
插件以 ESM 方式运行,不需要额外进行 TypeScript 编译。 -
无遥测,完全本地
已核实材料将其描述为无遥测、完全本地运行。
插件默认配置如下:
{
"appId": "",
"appSecret": "",
"defaultProvider": "deepseek-official",
"defaultModel": "deepseek-v4-flash"
}
安装与启用¶
1. 安装 dsh¶
先全局安装 DeepSeek Harness:
npm install -g @deepseek-ai/dsh
2. 添加插件¶
安装 dsh-feishu 插件:
dsh plugin add dsh-feishu
3. 配置飞书应用¶
在飞书开放平台创建一个 Custom App,并复制 appId 和 appSecret。
事件订阅需要按以下方式设置:
- 设置为使用长连接接收事件/回调。
- 添加事件:
im.message.receive_v1
权限需要授予:
im:message
im:message.p2p_msg
完成权限配置后,发布版本。
4. 设置环境变量并运行¶
以下环境变量在已核实材料中列为需要:
export DEEPSEEK_API_KEY="sk-..."
export FEISHU_APP_ID="cli_..."
export FEISHU_APP_SECRET="..."
然后启动 dsh web:
dsh web
启动完成后,在飞书单聊中给 bot 发送消息,即可发起会话。
典型用法¶
经过上面的步骤,典型使用流程如下:
- 在飞书单聊中向 bot 发送一条文本消息。
- 插件将消息接入 dsh 会话。
- dsh agent 返回文本回复。
- 插件将回复发送回飞书单聊。
同一飞书 DM 用户对应同一个持久会话:
feishu:<open_id>
因此,后续继续在该 DM 会话中发送消息时,可以基于已有会话进行多轮对话。
适用场景与注意¶
适合谁使用¶
该插件适合以下场景:
- 使用 dsh 构建或运行 agent,并希望通过飞书单聊访问它。
- 需要本地运行、MIT 许可、无遥测的飞书文本桥接方案。
- 只需要 DM 文本消息,不需要图片、文件、卡片或群聊能力。
限制¶
已核实材料中的限制包括:
- 仅支持文本消息。
- 不处理图片、文件、卡片、post。
- 暂不支持群聊,仅支持 DM。
关于流式回复,现有材料中存在不一致表述,因此本文不将其列为确定能力。
安全注意¶
FEISHU_APP_SECRET 和 DEEPSEEK_API_KEY 属于敏感凭据,不应提交到代码仓库或暴露在日志中。
插件以当前 dsh 进程权限运行。安装前建议检查源码与许可证;该插件许可证为 MIT。
链接¶
- GitHub 仓库:https://github.com/itr-del/dsh-feishu