前言¶
DeepSeek Harness (DSH) 是一个本地运行的智能体开发与执行环境。开发者通常需要在终端或 IDE 中与智能体交互。dsh-lark 是一个为 DSH 设计的插件,它充当了 Feishu/Lark 与本地 DSH 实例之间的网关。通过这个插件,用户可以在 Feishu 中直接发送指令来驱动本地智能体,并接收实时回复。
该插件灵感来源于 botmux,旨在提供一种极简的“对话即驱动”体验。它通过 WebSocket 长连接建立通信,无需配置公网回调 URL,适合在笔记本电脑等网络环境受限的场景下使用。
核心功能¶
该插件主要解决远程控制与状态反馈的问题,具备以下能力:
- WebSocket 长连接:建立与 Feishu 的持久连接,无需回调 URL 即可接收消息。
- 会话映射:私聊为一对一会话;群聊中,不同话题(Thread)的消息相互隔离;普通群消息共享一个会话(可通过配置调整)。智能体不会主动开启话题,仅回复用户发言的位置。
- 多模态输入:支持在 Feishu 中直接发送图片,原生传递给支持视觉的模型。
- 文件传递工具:内置
lark_deliver工具,允许智能体将工作目录内的文件或图片发送回聊天窗口。 - 单卡片交互:每个任务对应一张可更新的卡片,实时显示状态(运行中、完成、错误)和执行步骤,底部附带 Web 按钮。仅回复内容过长时会溢出为额外消息。
- 工具批准:敏感操作会弹出批准卡片,支持 Feishu 内的一键通过/拒绝(
/approve//reject),Web 面板也支持该功能。 - 安全默认:默认开启
open_id白名单机制,陌生人首次交互时会收到自己的open_id,需手动添加到白名单。
安装与启用¶
构建产物已提交到仓库,安装后立即可用,无需本地构建步骤。
安装命令:
dsh plugin --profile web add "github:keepview/dsh-lark"
配置步骤¶
-
创建 Feishu 应用:
- 在 Feishu 开放平台 或 Lark Developer 创建自定义应用。
- 开启“机器人”能力。
- 权限配置:需勾选
im:message、im:message:send_as_bot、im:resource。 - 事件订阅:选择“长连接”模式,订阅事件
im.message.receive_v1。在回调配置中也需选择“长连接”(用于接收批准卡片的点击事件)。 - 发布版本并获取
App ID和App Secret。
-
提供凭证:
环境变量是推荐配置方式:
export DSH_LARK_APP_ID=cli_xxx
export DSH_LARK_APP_SECRET=xxx
export DSH_LARK_ALLOWED_OPEN_IDS=ou_xxx
> 若未配置凭证,插件会处于闲置状态并提示,不会阻塞 DSH 启动。
交互与命令¶
安装并启动 DSH Web Profile 后,可直接与机器人交互:
- 触发方式:在 Feishu 中直接发送私聊消息,或在群聊中 @ 机器人。
- 支持命令:
/steer <text>:接管对话。/stop:停止当前任务。/new:开启新任务。/sessions:查看会话列表。/resume <id>:恢复指定会话。/approve//reject:批准/拒绝工具调用。/help:查看帮助。
安全与架构说明¶
- 安全警告:陌生人默认被拒绝。若需开放给所有人,需将环境变量
DSH_LARK_ALLOW_ALL_USERS设为true,但这会允许任何能联系到机器人的用户驱动本地智能体,请谨慎操作。 - 文件限制:
lark_deliver工具仅限于发送工作目录内的文件。 - 代码规模:插件源码约 600 行,结构精简。Lark 协议层完全依赖官方 SDK,运行时无额外依赖,SDK 代码已内联。
- 适用范围:DeepSeek Harness 目前为开发者预览版。部署时需注意其沙箱边界(如广泛的只读权限、不受限的出口流量)。
总结¶
dsh-lark 提供了一种轻量级的途径,将本地的 DSH 智能体接入 Feishu 生态。对于需要通过即时通讯软件进行远程开发调试、代码审查或本地自动化执行的开发者,该插件是一个直接的解决方案。