前言¶
DeepSeek Harness (DSH) 的设计理念是「一切皆插件」。在现有的插件市场里,feishu / lark 类目已有三十多个,但多数是通知器、多 IM 网关,或者通过 dsh plugin --profile web add 挂在官方网页旁边的桥。这种模式下,飞书只是遥控器:网页还在,关掉浏览器,产品就少了一半。不少还默认你坐在个人 PC 前,终端里弹二维码。
dsh-feishu 旨在解决这个问题。它是一个长在飞书里的 headless daemon。部署面是无头常驻:macOS、Linux、WSL 都能跑,主打一台能出网的机器当守护进程,不是笔记本终端扫码。一个 dsh --profile feishu 常驻,日志进文件,没有要人盯着的 TTY。飞书长连接进、飞书卡片出。模型、斜杠命令、进度、Goal、会话,全部发生在聊天框。
核心功能¶
不跟货架比按钮数量。它主要解决以下四个问题:
-
长在飞书里
harness 的面就是飞书,不是遥控网页。不依赖dsh-web-app,不开 3080 端口,不跑一次性 headless 进程。Cordis 插件直接在进程内调用create/followup/steer/cancel/resume。 -
Goal 卡片
发/goal或在卡片里填目标点「设定并开始」。Agent 自己多轮推进。进程重启后不会偷偷接着烧,要在卡片上点「恢复自动续跑」或发/goal resume。卡片上能设定/修改目标、暂停/恢复、清除,状态原地变更(完成变绿、阻塞变红)。 -
一进程多 Bot
同一个进程挂 2~3 个独立飞书应用。会话按(appId, chat_id)分开。历史可以互相/resume,同一条 session 不能被两个窗口同时握住。 -
会变的进度头
进度卡片原地改。例如显示为[dsf-23% G1/3] Using bash...(2),包含模型别名、上下文占比、Goal 轮次。跑完变 Done,失败变 Failed,正文另发一条,不跟进度糊在一起。
此外,它还提供:
* 高危审核卡:未点名的 rm、find -delete、破坏性 git 会挂起,飞书出一张橙卡。点「允许这一次」才跑。
* 斜杠命令就在聊天框:/stop /clear /model /status /compact /resume /rename /goal /bye 等。
安装与启动¶
安装前请确保环境满足以下条件:
- Node 22+:
node -v需以v22开头。 - DeepSeek Harness CLI:已全局安装。
- DeepSeek API Key:环境变量
DEEPSEEK_API_KEY。 - 飞书企业自建应用:在 open.feishu.cn/app 创建,获取 App ID / App Secret。权限需包含获取与发送单聊/群组消息、事件订阅长连接等。
1. 装插件¶
使用官方安装命令:
dsh plugin --profile feishu add github:shoxiy-danny/dsh-feishu
如需锁定版本,可使用 SHA:
dsh plugin --profile feishu add github:shoxiy-danny/dsh-feishu#<sha>
2. 写环境变量并启动¶
在机器上配置环境变量后启动:
export FEISHU_APP_ID=cli_xxx
export FEISHU_APP_SECRET=xxx
export DEEPSEEK_API_KEY=sk-xxx
dsh --profile feishu
日志出现 ready bots=... 后,在应用的单聊中发送消息。首个 bot 需在开放平台建好,服务器上没处可贴二维码。已通了的 bot 再开第二个,码可以打回飞书。
使用示例¶
除了基础交互,该插件还支持以下用法:
- 非官方模型:通过配置
cordis.patch.yml和models.json,将 OpenAI 兼容网关等模型接入。 - 多模态:图/语音/文件落到本地
inbox,路径写给模型。回图、回文件、回语音走send_file,不塞进 session image block。 - 上下文管理:累计过 100K 之后,工具结果自动摘要,冷启动和历史不回砍。
注意事项¶
- 首个 bot 限制:首个 bot 只能在开放平台建好,不能通过扫码在服务器上初始化。
- 重启行为:进程重启后不会自动续跑,需手动恢复或使用包装脚本写入续跑指令(10分钟过期)。
- 上下文限制:当前模型默认
dsf(deepseek-flash)。多模态工具需在配置中开启。
总结¶
dsh-feishu 适合有一台能出网的机器,想把 dsh 做成 7×24 云端同事,且已经在飞书办公、不想再为 Agent 开网页或守着笔记本终端的用户。它将 Harness 的能力完全嵌入到飞书聊天框中,以卡片和命令的形式提供无头、可控的交互体验。