dsh-superagent-local:本機主會話驅動的工作區智能體

前言

在 DeepSeek Harness(DSH)裏做編碼智能體,常見做法是讓插件監聽 GitHub 或飛書:外部有人提需求,編排器開 Ticket、Worker 在獨立目錄裏改代碼,再在原對話裏回覆。對個人開發者或只在本機 IDE 裏幹活的人來說,這套鏈路偏重——你本來就在側邊欄的工作區裏,卻還要先走到別的渠道才能「派活」。

下面介紹社區維護的 mengzhongjie/dsh-superagent-local:它是上游 dsh-superagent 的 fork,把需求來源改成本機操作者在主會話裏的消息,每個側邊欄工作區各有一條主會話,主會話只路由,具體執行仍由 Worker 在該工作區目錄完成。插件歸類爲「工作流」,由 mengzhongjie 維護;上游 README 標明這是研究原型,僅供參考,使用前請自行審閱源碼與許可證(MIT)。

這是什麼

一句話:dsh-superagent 的本地改造版 DSH bundle——每個工作區一個主會話,Trigger 來自本機 Session(source.kind === 'user'),而不是 GitHub/飛書 watcher。

與上游相比,README 列出四點差異:

  1. 本地 Source:src/sources/dsh.ts 以 ./local-watch 導出;主 Session 裏的一條用戶消息變成 Trigger,回答寫回同一會話;編排器自己注入的消息不會迴環。
  2. 每工作區一條主 Session:按需創建 orchestrator,映射保存在 KV.runtime.masters(workspaceId → sessionId);GET /orchestrator/api/master?workspace=<id> 可查詢,不存在則創建。
  3. 側邊欄入口:客戶端在每個工作區分組行([data-row-key^="workspace:"])注入星標按鈕,打開該工作區主 Session,並在列表中隱藏主會話行。
  4. 附件:Trigger 攜帶 meta.attachments,Worker 拿到 attachment-store 路徑後再處理。

未配置 Git 遠程時,resolveDeployment 可返回空倉庫,GitHub watcher 處於 paused,可不依賴 GitHub 運行。操作者提需求後,主 Session 路由到 Ticket,Worker 在工作區目錄執行;主 Session 本身不直接改文件。

核心功能

以下能力均來自倉庫 README 與 package.json 描述,未在資料中出現的配置項不在此展開。

能力 說明
Ticket / Worker 分工 與上游 superagent 模型一致:主會話路由,Worker 在 workspace 目錄執行
本地消息源 ./local-watch 監聽本機主 Session 用戶消息
工作區隔離 每 workspace 獨立 orchestrator 與 master session
Web 面板 上游能力保留,用於展示需要人工處理的事項(見文檔 005-panel.md)
可選 GitHub / 飛書 仍導出 ./github-watch、./feishu-watch;本地 fork 側重本機 Source

bundle 通過 cordis.patch.yml 注入客戶端模塊(locale、sidebar、workspace 等)。package.json 要求 Node ^22.19.0 || >=24.0.0,DSH ^0.2.1-alpha.2;當前包版本 0.2.1。

哲學與行爲邊界見倉庫 docs/000-philosophy.md:儘量少佔用人注意力,僅在有人請求或團隊規則允許時行動。

安裝與啓用

插件未發佈到 npm,需從 GitHub 或 release tarball 安裝。安裝命令以 README 爲準:

# 從源碼安裝;prepare 腳本會在安裝時構建 lib/
dsh plugin add github:mengzhongjie/dsh-superagent-local

或使用預構建包:

dsh plugin add https://github.com/mengzhongjie/dsh-superagent-local/releases/download/v0.2.1/dsh-superagent-0.2.1.tgz

安裝完成後,配置與首次啓動步驟較多,README 建議讓編碼智能體按 SETUP.md 逐步協助。可直接對 agent 說:

Read SETUP.md in this repository and set up dsh-superagent with me.

它會一次問一個短問題、展示完整計劃後再安裝配置。具體 profile、部署與排錯見 docs/006-deployment.md。

注意:插件以當前 DSH 進程權限運行;安裝前請閱讀倉庫源碼與 MIT 許可證,確認符合你的環境與安全策略。社區目錄 skillhub.cn 插件頁 與 GitHub 無 DeepSeek/幻方官方從屬關係,DSH 生態本身是「一切皆插件」的擴展模型。

典型用法

  1. 在 DSH 側邊欄打開目標工作區,通過工作區行上的星標入口進入該工作區的主 Session。
  2. 在主 Session 用自然語言描述要做的事(可帶圖片或文件附件);本地 Source 將其轉爲 Trigger。
  3. 編排器創建 Ticket,Worker 在該工作區目錄下的 agent session 中執行;結果回到主 Session 對話。
  4. 需要人工介入或查看隊列時,使用上游提供的 Web 面板(文檔 005-panel.md)。

想擴展新的需求來源,可參考 docs/008-cookbook.md(Adding a Source)。領域模型、授權、執行與 Prompt 設計按編號文檔順序閱讀:000 哲學 → 001 領域 → … → 008 Cookbook。

適用場景與注意

更適合:在本機 DSH 多工作區開發、希望「在同一 IDE 會話裏派活給 Worker」、暫時不配置 GitHub/飛書 webhook 的團隊或個人。

不太適合:必須嚴格走 GitHub Issue/PR 或飛書審批鏈路的生產流程——應使用上游 deepseek-ai/dsh-superagent 並按其部署文檔接入遠程 Source。

上游免責聲明仍適用:代碼爲研究原型,工程風格可能不一致,可能與論文 Exploring Super-agent Design 中的部分設想不完全一致;fork 爲公開發布適配版,與內部實現也可能有差異。升級與故障排查見 docs/006-deployment.md;開發自檢可運行 pnpm check(類型檢查、測試、構建)。

鏈接

經過上面的步驟,你可以在不動 GitHub/飛書的前提下,用每個工作區一條主會話,把本機操作者的需求路由到 Worker,在對應目錄裏完成編碼任務。

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

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

小夜