dsh-superagent-win:在 Windows 上把 Superagent 裝進 DSH,且身份按命令隔離

前言

DeepSeek Harness(DSH)側欄可以掛 bundle 插件,把監聽 GitHub、派活、在獨立會話裏執行再交付一類工作流收進同一套界面。上游研究原型 dsh-superagent 面向 POSIX,且會通過 applyEnvironment() 改寫整個 DSH 進程的 PATH 與 GIT_CONFIG_GLOBAL,文檔要求使用專用 profile,與日常開發 profile 分開。若在 Windows 上同樣跑 Superagent,又希望插件與日常 profile 共存,就需要兼容層與更窄的環境作用域。下面介紹社區維護的 buyou-claw/dsh-superagent-win:非官方 Windows 移植參考實現,以 DSH bundle 形式加載,並把智能體身份從「整個 DSH 進程」縮小到「每一次 worker 命令」。

這是什麼

dsh-superagent 是主動式編碼智能體:監聽 GitHub(可選飛書),在策略(Policy)下把授權請求變成工單(Ticket),在獨立 DSH 會話中執行,完成後通過評論、分支或 PR 等方式交付,並帶 Superagent 面板。

本倉庫由維護者 buyou-claw 發佈,歸類爲 工作流 插件;GitHub 上爲 buyou-claw/dsh-superagent-win,目錄頁見 skillhub.cn。README 標明 非官方(Unofficial):基於 deepseek-ai/dsh-superagent-prototype 的 Windows 移植,不是 DeepSeek 官方發佈物。相對上游的兩類改動是:Windows 兼容補丁;按命令下發身份(不再改寫整個進程環境)。逐條差異見倉庫內 UPSTREAM.md。

核心功能

下面只列資料中已寫明的行爲。

Bundle 與界面。 以 DSH bundle 工作:加載後 DSH 側欄出現 Superagent 入口;package.json 中 dsh.bundle 指向 cordis.patch.yml,並注入側欄、工作區等 web client 模塊。

監聽與派活。 針對單個 GitHub 倉庫(README 描述),可選飛書;在 Policy 下評估請求,授權後生成 Ticket,每條 Ticket 在獨立 DSH Session 中執行。

按命令隔離環境(本移植重點)。 上游在 worker 側等價地設置 agent 的 PATH 與 git 配置,但會污染同 profile 下你自己打開的會話。本移植通過 DSH 的 ShellExecSpec.env → SubprocessSpawnSpec.env 隨每次命令下發;同 profile 裏個人會話不受影響。插件配置項 isolateEnvironment:true(默認)爲按命令下發;false 爲完全不下發,worker 使用宿主賬號。

Windows 差異。 不生成 gh / lark-cli 的無擴展名 PATH shim,worker 直接使用 PATH 上的 gh;prepare 使用 PowerShell 語法;隔離開啓時 worker 的 git 使用 useConfigOnly = true,提交需顯式作者信息。面板端口需與其它 profile 區分(示例配置使用 3082)。

已知限制。 上游仍爲研究原型;本移植不改變其設計取捨。倉庫單元測試爲 POSIX 形態,在 Windows 上會失敗;交叉驗證請在 WSL/Linux 中運行 pnpm vitest run。移動端、多用戶、遠程部署未驗證。

安裝與啓用

插件以當前 dsh 進程權限運行;安裝前應閱讀源碼與 MIT LICENSE,並理解非官方性質。

前置。 DeepSeek Harness(dsh 0.2.1-rc 系列)、Node.js 22.19+ 或 24+、pnpm、Git for Windows、GitHub CLI(gh,已 auth login)。package.json 的 engines 還要求 dsh ^0.2.1-alpha.2。

步驟 1:取源碼並構建。 README 給出的 Windows 流程如下。

git clone https://github.com/buyou-claw/dsh-superagent-win.git
cd dsh-superagent-win
pnpm install
pnpm build

步驟 2:裝入 profile。 示例爲新建 superagent profile:

dsh superagent --from-default-profile web --dump-config > $null
dsh plugin --profile superagent add "link:$PWD"

也可併入日常 profile:dsh plugin --profile <你的profile> add "link:$PWD",並在該 profile 的 patch 裏增加下文 dsh-superagent 配置;isolateEnvironment: true 時不影響其它會話。

步驟 3:編寫 patch。 在 $DSH_HOME\profiles\superagent\cordis.patch.yml 中增加 webserver 與插件配置(路徑按本機修改):

- id: webserver
  config:
    host: 127.0.0.1
    port: 3082
- id: dsh-superagent
  config:
    stateDir: C:\Users\<you>\.dsh\state\superagent   # 必填,絕對路徑
    isolateEnvironment: true                        # 默認值;false = 不下發 agent 身份

步驟 4:啓動與面板設置。

dsh --profile superagent

啓動後打開日誌中帶 token 的 URL,側欄進入 Superagent:在「設置 → 來源」填寫倉庫(owner/name)與 gh 路徑;在「設置 → 策略」添加允許派活的賬號。

典型用法

資料中的可復現路徑是「配置來源與策略 → 等待授權請求 → worker 在獨立會話執行並交付」,而非單獨 CLI 子命令列表。

  1. 完成安裝與 cordis.patch.yml 中的 stateDir、端口配置。
  2. 在 Superagent 面板綁定目標 GitHub 倉庫與 gh,並配置 Policy 允許的賬號。
  3. 當 GitHub(或已配置的飛書來源)出現符合策略的請求時,系統生成 Ticket;worker 在隔離環境(默認)下於獨立 DSH Session 中處理,交付方式見上游 docs/ 與提示詞中的 Delivery 段落(隔離開啓時會涉及 DSH_SUPERAGENT_GITHUB_COMMIT_EMAIL 等環境變量)。

上游設計文檔仍在倉庫 docs/;SETUP.md 描述上游流程,Windows 實際步驟以 README「安裝(Windows)」爲準。

適用場景與注意

適合誰。 在 Windows 上使用 DSH,需要 Superagent 式「監聽倉庫 → 工單 → 獨立會話 → 回寫 GitHub」工作流,且希望不必爲 Superagent 單獨維護一套被進程級環境改寫的 profile 的開發者。

與上游 profile 策略的對比。 上游仍建議專用 profile;本移植在 isolateEnvironment: true 時允許併入日常 profile,worker 側 git/ PATH 行爲與上游 worker 等價,個人會話不被接管。

生態說明。 DSH 理念是「一切皆插件」;skillhub.cn 爲社區插件目錄,與 DeepSeek / 幻方無官方從屬關係。本倉庫爲社區移植,星標與 fork 數以目錄頁與 GitHub 爲準(抓取時 GitHub 星標爲 0)。

同步上游。 需要跟進 deepseek-ai/dsh-superagent-prototype 更新時,可依據 UPSTREAM.md 逐條 rebase 或考慮向上遊提交補丁。

結尾

dsh-superagent-win 把 DeepSeek Harness 的 Superagent 研究原型搬到 Windows,並用按命令下發環境的方式減輕與日常 DSH profile 的衝突。若要查看分類與簡介,可打開目錄頁 https://www.skillhub.cn/plugins/buyou-claw/dsh-superagent-win;安裝與配置細節以 GitHub 倉庫 README 爲準:https://github.com/buyou-claw/dsh-superagent-win。

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

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

小夜