前言¶
在 DSH 裏做一個智能體時,常見需求是:會話已經建好,但希望臨時在飛書裏發消息、看結果,而不是隻盯着 Web 界面。如果飛書機器人需要公網回調,接入成本會更高。dsh-fschannel 選擇使用飛書官方 @larksuite/channel SDK 的 WebSocket 長連接,無需公網回調地址,直接橋接 DSH Web 會話和飛書/Lark 聊天。
這是什麼¶
dsh-fschannel 是一個 DeepSeek Harness(DSH)插件。它把 DSH Web 會話綁定到飛書/Lark 聊天后,飛書消息會進入該 DSH 會話並由 Agent 處理,處理結果自動發回飛書。
倉庫用戶名爲 cershuang,源碼倉庫爲:
https://github.com/cershuang/dsh-fschannel
許可證爲 MIT。DSH 的擴展方式是「一切皆插件」;社區目錄屬於獨立站點,與 DeepSeek / 幻方無官方從屬關係,本文不按官方應用商店口徑描述。
核心能力¶
會話與飛書聊天綁定¶
插件支持將 DSH Web 會話與飛書聊天做一對一綁定,綁定關係持久化到:
$DSH_HOME/feishu-bindings.json
會話進入待綁定狀態後,下一條飛書消息所在的聊天會完成綁定。這樣可以在 Web 中先建會話,再到飛書私聊或羣裏完成關聯。
消息通道¶
插件使用 @larksuite/channel SDK 建立 WebSocket 長連接,無需配置公網回調地址。羣聊中默認僅響應 @ 機器人;單成員羣可以免 @。未綁定聊天收到消息時,插件可按配置返回引導提示。
消息投遞層面,插件提供 SDK 級去重(30s),並按聊天串行投遞。當 Agent 正在處理時,飛書側會提示當前消息的排隊位置。
收到消息時,插件可以自動添加表情反饋;是否開啓以及不同階段使用什麼表情可以配置。
流式輸出與卡片¶
插件支持流式卡片輸出:回合開始時開卡,回覆逐字呈現,回合結束後保留最終結果。輸出內容支持 markdown 表格、代碼塊和圖片內嵌。
若飛書側沒有卡片權限,插件會回退爲普通消息;也可以設置:
output: 'plain'
讓每一步都發送一條普通消息。
圖片處理與發送¶
飛書發來的圖片會先暫存,不立即處理;當下一條文字消息到達時,插件會把圖片路徑交給 Agent,由視覺識別能力結合文字消息處理。該能力需要 @anionex/dsh-vision-toolkit 就緒,並且需要 runtime 就緒。
插件還提供會話圖片畫廊,並對歷史 feishu/image 日誌做自動修復。
Agent 在回合中也可以把結果發回飛書:
- 調用
send_feishu_image發送圖片,支持 PNG/JPEG/WebP/GIF,且圖片路徑須在會話工作區內。 - 調用
send_feishu_file發送文件,大小限制爲 ≤30 MiB。
飛書側命令¶
插件在飛書側提供模型與 effort 控制入口。發送「調整模型」「切換模型」「把 effort 調一下」等短語,會彈出模型與 effort 按鈕卡片。
也可以直接使用命令:
/model
/model list
/model use <provider>/<model>
/model effort <off|high|max>
/status
/stop
/help
其中 /model、/model list、/model use、/model effort 用於查詢或切換模型與思考強度;/status、/stop、/help 用於查看狀態、停止當前回合和查看命令。
安裝與啓用¶
前置要求:
Node 22.19+
dsh CLI
pnpm
憑據推薦保存在 DSH 憑據庫:
$DSH_HOME/.credentials.yaml
.env 文件只放路徑配置。
按 README 安裝時,通常按下面順序執行:
cp example.env .env
npm install && npm run build
dsh plugin --profile web add file:<插件倉庫路徑>
dsh web
這裏先複製示例環境文件,再構建客戶端包,然後以 file: 方式安裝到 web profile,最後啓動 dsh web 生效。安裝命令中的 <插件倉庫路徑> 是本機插件倉庫路徑,不要按 owner/repo 名稱自行拼接遠程安裝命令。
如果 pnpm 因 protobufjs 構建腳本報:
ERR_PNPM_IGNORED_BUILDS
需要在 profile 的 pnpm-workspace.yaml 中加入:
allowBuilds:
protobufjs: false
修改插件源碼後,需要重新構建並重裝:
npm run build
dsh plugin --profile web add file:<插件倉庫路徑>
dsh web
典型用法¶
1、在 Web 界面新建會話後,點擊會話頭「連接飛書」,讓會話進入待綁定狀態。
2、在飛書私聊機器人,或在羣裏 @ 機器人發送一條消息,完成該聊天與當前 DSH 會話的綁定。
3、之後在飛書裏繼續發消息,消息會進入該 DSH 會話;Agent 的回覆會自動發回飛書聊天。
4、如果需要讓新會話默認進入待綁定,可打開「設置 → 飛書機器人」標籤頁中的「新會話默認連接飛書」,或點擊「新建會話並連接飛書」。
適用場景與注意¶
適合這類插件的場景是:你已經在用 DSH Web 會話,同時希望把同一個會話接入飛書/Lark,用於移動端、羣聊或日常協作入口;也希望 Agent 能向飛書發送圖片、文件,並使用模型切換、停止、狀態查看等命令。
使用前建議檢查以下事項:
- 插件會作爲 DSH 插件運行,並以當前 dsh 進程權限讀取本地路徑與文件。安裝前應自行檢查源碼與許可證。
- 許可證爲 MIT。
- 憑據推薦保存在
$DSH_HOME/.credentials.yaml,.env只放路徑配置。 - HTTP API
/feishu/*僅接受127.0.0.1訪問。 - 流式卡片依賴飛書卡片能力;無卡片權限時會自動回退普通消息。
- 圖片暫存識別依賴
@anionex/dsh-vision-toolkit且 runtime 就緒。 send_feishu_image支持 PNG/JPEG/WebP/GIF,且路徑須在會話工作區內;send_feishu_file限制 ≤30 MiB。- 羣聊默認僅響應 @ 機器人;單成員羣免 @。
- dsh 升級後,插件本體、註冊行、綁定數據保留,無需重打補丁。
鏈接¶
源碼倉庫:
https://github.com/cershuang/dsh-fschannel
社區目錄線索:
https://www.skillhub.cn/plugins/cershuang/dsh-fschannel
該目錄鏈接來自線索,未在本次資料中核實;如需以源碼爲準,優先使用倉庫地址。