DeepSeek Harness (DSH) Feishu (Lark) 长连接插件

DSH 采用「一切皆插件」的架构,插件化是扩展其能力边界的主要方式。在实际部署中,让智能体与特定平台进行交互是一个常见需求。dsh-feishu 是一个为 DeepSeek Harness (DSH) 设计的飞书(Lark)长连接通道插件,它将 DSH 智能体桥接为飞书机器人,允许用户通过聊天界面派发任务、接收结果以及进行权限审批。

由 0x0101010 维护,该插件的核心优势在于零 npm 依赖,直接基于 Node.js >= 22 的原生 WebSocket 实现,并手写了 protobuf 帧编解码器,与飞书官方 SDK 兼容。

核心功能

  • WebSocket 长连接:使用飞书官方的 WebSocket 回调接口 (callback/ws/endpoint),无需公网 IP、端口转发或自建回调服务器。
  • 会话隔离:每个聊天窗口对应一个独立的智能体上下文。空闲会话会在默认 30 分钟后自动回收。
  • 交互式审批卡片:DSH 的审批请求会渲染为飞书卡片按钮(允许/拒绝),点击或回复 y/n 即可操作,卡片会原地更新。
  • 中途转向:任务运行期间发送的普通消息会被注入到当前回合的下一步边界,无需打断任务;使用 /stop 进行硬中断。
  • 命令桥接:飞书中的所有 DSH 内置命令(如 /permission, /plan, /compact 等)均可直接使用。
  • 可靠传输:内置自动重连(断开后 5 秒重试)、心跳保活、事件 ACK(防止重发)以及基于序列号的断线去重。

安装与启用

安装命令如下:

npx @deepseek-ai/dsh plugin --profile feishu add /path/to/dsh-feishu

插件会将配置写入 DSH 的配置文件中,但凭证不会存储在配置文件里,必须通过环境变量提供。

在对应 profile 的 .env 文件(或全局 ~/.dsh/.env)中配置以下内容:

FEISHU_APP_ID=cli_xxxxxxxx
FEISHU_APP_SECRET=xxxxxxxx
# 可选:指定智能体的工作目录
DSH_FEISHU_CWD=/your/workspace

验证配置并启动:

npx @deepseek-ai/dsh --profile feishu --dump-config   # 验证配置是否正确
npx @deepseek-ai/dsh --profile feishu                  # 启动

典型用法

基础操作命令

在飞书聊天中,可以使用以下原生命令进行管理:

  • /new:销毁当前会话,清空上下文,创建一个新的智能体。
  • /mode:列出所有智能体预设(minimal/standard/code/cordis),并显示当前选中项。
  • /mode <preset>:切换当前会话的智能体预设(仅对空白会话立即生效,有历史记录的会话需配合 /new 使用)。
  • /status:查看当前模型、模式、会话状态、空闲回收倒计时等。
  • /stop:硬中断正在运行的回合,取消未完成的任务并清空输入队列。
  • /help:显示内置帮助文本。

权限与计划

权限预设通过 /permission 切换:
* read-only:文件只读,无需审批。
* workspace-write:工作区可写,越界操作需审批(默认)。
* danger-full-access:完全访问,无需审批。

使用 /plan 可以开启计划模式:智能体先制定计划,执行前等待审批。

普通消息交互

  • 任务运行中:此时发送普通消息不会打断任务,消息会被注入到当前回合的下一步,系统会回复 📌 确认收到。
  • 任务空闲时:发送的消息会像普通对话一样开始新的一轮。

配置与安全

在 cordis.patch.yml 中可以调整以下配置项:

配置项 默认值 说明
appId 必填 飞书 App ID
appSecret 必填 飞书 App Secret
cwd process.cwd() 智能体工作目录
allowUsers [] 开放用户 ID 白名单,为空则无限制
allowChats [] 开放群聊 ID 白名单,为空则无限制
sessionTimeoutMs 1800000 会话空闲回收时间(毫秒)
defaultMode standard 默认智能体模式

安全注意事项:
当 allowUsers 或 allowChats 为空时,任何能与机器人对话的人都可以驱动你的智能体(即在本地执行任务)。在生产环境中部署前,务必配置好白名单。凭证仅通过环境变量读取,不会写入配置文件。

生态与维护

该插件遵循 MIT 许可证。DSH 生态强调插件化与社区贡献,插件目录与 DeepSeek 或幻方官方无直接从属关系。

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

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

小夜