前言¶
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 的能力完全嵌入到飛書聊天框中,以卡片和命令的形式提供無頭、可控的交互體驗。