前言¶
在 DeepSeek Harness (DSH) 的開發場景中,將非結構化的聊天記錄轉化爲可執行的任務清單是一個常見痛點。手動整理耗時且容易遺漏。dsh-feishu-task-recorder 插件通過輪詢飛書(Lark)羣聊與單聊,利用模型提取候選任務,並提供懸浮面板與任務看板插件的雙向同步能力,解決了這一問題。
插件介紹¶
該插件是一個 DSH bundle,包含 Host(服務端)和 Client(瀏覽器端)兩部分。它運行在 DSH 的 Web Profile 下,主要負責與飛書交互和任務數據的存儲,並通過瀏覽器 UI 提供任務審查入口。
核心功能¶
- 聊天追蹤:支持選擇特定的飛書羣聊或單聊進行監控。插件爲每個聊天維護獨立的光標,並支持去重處理。
- 定時輪詢:提供可配置的輪詢間隔(
feishu_poll_interval)和歷史記錄回溯窗口(feishu_lookback,feishu_cursor_reset),確保不會遺漏新消息。 - 任務提取:新消息會被自動篩選爲“候選任務”,供後續處理。
- 審查工作流:定義了明確的任務狀態流轉:
pending(待處理)→ai/manual/rejected(判斷/拒絕)→done(完成)。你可以通過飛書原生工具或懸浮面板完成判斷。 - 雙向看板同步:通過 HTTP API 與同服務器上的任務看板插件(
@linxin666/dsh-client-ui-task-board)進行雙向數據同步。 - 懸浮面板:在瀏覽器頁面中提供獨立的 UI 界面,允許在不離開當前頁面的情況下進行任務審查、判斷和完成。
- 工具集:提供完整的命令行工具,包括
feishu_setup、feishu_status、feishu_task_list、feishu_task_review、feishu_task_add、feishu_task_judge、feishu_task_done等。
安裝與配置¶
安裝前,請確保已安裝 lark-cli 並在用戶級別完成授權。此外,若需使用看板同步功能,建議在同一 Profile 中安裝任務看板插件。
安裝¶
使用官方安裝命令添加插件:
dsh plugin --profile web add dsh-feishu-task-recorder
也可以將其添加到 package.json 的依賴中,並在 dsh.profile.bundles 中列出,隨後重啓 dsh web。
配置¶
插件的所有字段都有安全默認值。如需自定義,請在 Profile 的 cordis.patch.yml 中覆蓋配置:
- id: feishu-task-recorder
config:
workspace: /path/to/your/workspace # 任務存儲目錄
larkCli: /opt/homebrew/bin/lark-cli # lark-cli 路徑或命令名
fallbackOrigin: 'http://127.0.0.1:62658' # 看板 API Origin(首次請求前使用)
- workspace:任務狀態存儲爲
feishu-tasks.json(配合可讀的feishu-tasks.md)。留空則默認使用$DSH_FEISHU_WORKSPACE環境變量或 DSH 進程的當前工作目錄。 - larkCli:支持命令名或絕對路徑。注意:macOS 桌面應用在
PATH中通常缺少/opt/homebrew/bin,建議在此處使用絕對路徑。 - fallbackOrigin:用於在插件首次請求建立連接前,獲取看板插件的實時 API Origin。
注意事項¶
- 沙箱權限:DSH 會在
workspace-write沙箱中運行插件的 Shell 命令,默認僅允許寫入工作區和/tmp。 - 令牌安全:
lark-cli需要通過寫入~/Library/Application Support/lark-cli/*.enc來刷新用戶令牌。由於該目錄不在默認沙箱根目錄內,插件將lark-cli的可寫根目錄固定到了令牌目錄,同時保持HOME不變。這意味着主密鑰保留在 macOS Keychain 中,插件不會複製或派生令牌,增強了安全性。 - 依賴關係:任務看板插件在同一 Profile 中是可選的,但推薦安裝以啓用看板同步功能。
參考資源¶
- 插件目錄頁:https://www.skillhub.cn/plugins/CAI-MH/dsh-feishu-task-recorder
- GitHub 倉庫:https://github.com/CAI-MH/dsh-feishu-task-recorder