前言¶
Super-agent 是主動代理,啓動後會在後臺常駐等待事件。如果只在需要時使用它,常駐的 Node 進程、已加載模塊和運行時狀態仍然佔用內存;而如果沒有一個統一開關,多個 DSH 會話會各自控制同一個後臺進程,狀態互相覆蓋。下面介紹的 mingoyung/dsh-superagent-power 就是爲解決這個問題而生的客戶端插件:把 Super-agent 後臺的啓動和停止放進輸入欄按鈕,按需退出、釋放內存。
它由 MingoYung 獨立維護,不是 DeepSeek 官方插件,上游是 DeepSeek Harness 與 Super-agent research prototype。插件不替代 Super-agent 本身,只管理已經安裝好的獨立 Super-agent profile。
這是什麼¶
一句話定位:給 DSH 輸入欄加一個 Sup 按鈕,全局啓停 Super-agent 獨立後臺進程,關閉時先走正常收尾流程再退出。
- 維護者:MingoYung
- 分類:客戶端(瀏覽器端 UI + 控制服務)
- 面向平臺:Windows / DSH NEXT
- 版本:v0.1.1,MIT 許可證
- 目錄頁:https://www.skillhub.cn/plugins/MingoYung/dsh-superagent-power
- GitHub:https://github.com/MingoYung/dsh-superagent-power
輸入欄按鈕是短標籤 Sup,面板顯示完整名稱 Super-agent。按鈕位於輸入欄底部工具區,可以和權限、REA、併發等按鈕放在一起。
核心功能¶
按需啓停後臺,釋放內存¶
Super-agent 啓動後即使沒有正在執行的任務,也會持續佔用內存。這個插件把進程的啓停放到日常聊天入口:需要時點「開啓」,用完點「關閉」。關閉會先調用 Super-agent 的正常收尾流程,再退出獨立 CLI 進程;確認進程退出後,界面才顯示「已關閉」。
README 記錄了一次本機驗收觀測值:原後臺主進程 RSS 約 468 MB,關閉後該進程退出。這是單個環境中的觀測值,不是所有機器都能節省同等內存的承諾,實際佔用取決於版本、加載的插件、任務和會話狀態。
開關是全局的,不屬於某個會話¶
如果 A 會話設爲開啓、B 會話設爲關閉,卻操作同一個後臺進程,就會出現相互覆蓋或狀態誤導。因此開關屬於 DSH_HOME + Super-agent profile,而不是某個聊天會話。切換會話不會自動啓動或關閉後臺;多個會話同時操作時,狀態版本檢查會拒絕過期請求,避免悄悄覆蓋新選擇。
輸入欄工具區: [權限] [REA] [併發] [● Sup]
│
Super-agent · 全局
所有會話共用同一個開關
已關閉 [開啓]
關閉前給任務收尾的機會¶
有活動任務時,面板需要再次點擊「中斷任務並關閉」。關閉流程調用 Runtime.stop(),隨後使用 DSH 的 appExit() 退出,給任務取消、後臺工作清理和狀態持久化提供正常路徑。如果控制接口失聯或進程未退出,面板會顯示異常,不會直接把狀態標成已關閉。
狀態點與面板¶
插件在狀態點上區分四種狀態,避免重複操作和誤報:
| 狀態 | 按鈕提示 | 行爲 |
|---|---|---|
| 已關閉 | 灰點 | 沒有託管的 Super-agent 後臺進程 |
| 已開啓 | 綠點 | 後臺可接收、處理任務,面板顯示主進程 RSS 和活動任務數 |
| 啓動 / 關閉中 | 黃點 | 等待狀態確認,防止重複操作 |
| 異常 | 紅點 | 顯示原因,由用戶決定重試 |
其他行爲要點:全局狀態持久化,下次啓動桌面時沿用上次選擇;正常關閉桌面時會請求後臺退出;單個控制者和串行操作防止重複啓動,端口已被佔用時拒絕啓動第二份實例;同一渲染窗口的會話共享狀態,其他可見窗口約 5 秒刷新一次,重新聚焦時立即刷新。關閉狀態下只保留桌面內部的按鈕與控制服務,不額外增加常駐控制器進程。
需要說明一個取捨:關閉期間不會監聽或處理外部任務。插件不做「閒置自動關閉」,因爲等待新事件正是主動代理的用途之一,暫無任務不代表用戶不需要它值守;需要持續值守時保持開啓即可。關閉會保留配置和歷史記錄,但中斷後的恢復行爲由上游 Super-agent 決定,不保證外部命令能從中斷位置繼續。
兼容性¶
v0.1.1 明確支持 DSH 0.2.1-rc.4、0.2.1-rc.5 和 0.2.2-rc.1。Windows 本機已檢查 DSH NEXT 2.0.21-next 和 2.0.22-next;新版對應 Cordis 4.1.0。CI 對上述三個 DSH 版本分別運行同一組隔離測試。
2026-11-05 的升級檢查確認:新版桌面仍能加載 Sup、打開面板並讀取全局狀態;新版 Gateway 和進程控制迴歸通過。獨立 Super-agent 仍使用 CLI 0.2.1-rc.5,其隔離 profile 啓停及進程退出再次通過。桌面更新不等於獨立 CLI 已更新,本次沒有將 Super-agent 的運行時升級到 0.2.2-rc.1。
DSH 宿主接口與 Super-agent 內部生命週期接口仍可能變化,其他版本需要重新驗證。macOS / Linux 尚未完成驗收。
插件依賴 Runtime.stop() 等現有接口,通過原生 slot 和 Remote 接入桌面,無需修改 DSH 的 app.asar,也不對 Super-agent 核心打補丁。
安裝與啓用¶
安裝分兩側:桌面的按鈕/控制器,以及 Super-agent 進程裏的伴隨模塊。只導入桌面插件包不能完成整個安裝。先確認 DSH NEXT、Node.js 24+、獨立 DSH CLI 和獨立 Super-agent profile 都已就緒,再按下面步驟操作。
第 1 步:安裝桌面包¶
從 Releases 下載 .tgz,或在源碼目錄執行 npm ci、npm run check、npm pack 自行構建。然後安裝到桌面 profile:
dsh plugin --profile desktop add C:/Downloads/local-superagent-power-0.1.1.tgz
包名是 @local/superagent-power,這只是本地插件的命名空間,本項目沒有發佈到 npm registry。確認 DSH_HOME/profiles/desktop/package.json 已包含此包,且 dsh.profile.bundles 中有且只有一個 @local/superagent-power。若安裝工具未自動添加 bundle,在保留原條目的前提下追加:
{
"dsh": {
"profile": {
"bundles": ["@local/superagent-power"]
}
}
}
然後在桌面的 cordis.patch.yml 追加 ID 爲 local-superagent-power 的配置覆蓋,最關鍵的是 homePath、nodePath、cliPath 和 profileName。常用配置項如下:
| 配置項 | 用途 / 默認值 |
|---|---|
homePath |
兩側共用的 DSH_HOME;默認取環境變量 DSH_HOME |
profileName |
Super-agent 獨立 profile 名;默認 superagent |
nodePath |
Node 可執行文件;默認 C:/Program Files/nodejs/node.exe |
cliPath |
獨立 CLI 的 lib/bin.js;默認當前用戶 APPDATA 下全局 npm 的 DSH 路徑 |
port |
實際後臺 HTTP 端口;默認 3082,只做佔用檢查和管理頁鏈接 |
cwd |
啓動工作目錄;默認 homePath |
proxy |
可選;透傳給子進程的 HTTP_PROXY / HTTPS_PROXY |
重載桌面後會生成 DSH_HOME/plugins/superagent-power/control.key。沒有已保存選擇和可接管的後臺時,默認關閉。
第 2 步:配置 Super-agent 伴隨模塊¶
在 Super-agent profile 的 cordis.patch.yml 裏追加條目,name 指向已安裝桌面包裏的 bridge.js:
DSH_HOME/profiles/desktop/node_modules/@local/superagent-power/bridge.js
伴隨模塊與 Super-agent 運行在同一進程,不是另一個守護進程。雙方都要使用相同的 homePath 和 profileName,keyFile 指向第 1 步生成的控制密鑰。不要把密鑰文件加入 Git 或複製進公開問題報告。
第 3 步:驗證¶
- 在任意會話輸入欄點擊
Sup,確認面板標明「全局」。 - 點擊「開啓」,等待綠點與「已開啓」。後臺業務未配置完成時會單獨提示。
- 切換會話,確認顯示同一全局狀態。
- 無任務時點擊「關閉」,等待「已關閉」,並檢查對應後臺進程確已退出。
- 若面板提示有活動任務,評估是否中斷後再點第二次關閉。
典型用法¶
日常使用基本只有兩步:需要 Super-agent 值守時在輸入欄點 Sup →「開啓」;用完用「關閉」退出後臺。首次開啓真實業務 profile 會恢復其監聽和任務行爲,README 建議選擇合適的空閒時間,或使用獨立測試 profile 驗證。
關閉狀態下只保留桌面瀏覽器內的按鈕與控制服務,不新增常駐進程;全局狀態持久化,桌面重開後沿用上次選擇。若希望下次保持關閉,先在面板點「關閉」。
啓動失敗時可以查看 DSH_HOME/plugins/superagent-power/worker.log,每次啓動覆蓋該日誌;其中可能包含本地登錄鏈接,公開報告前必須脫敏。插件不會無限重試啓動,異常會顯示在面板,由用戶決定是否重試。異常退出後若保存的選擇仍爲開啓,下次桌面初始化會再嘗試啓動一次。
適用場景與注意¶
適合這幾類人:
- 只在需要時才用 Super-agent,不想它在後臺長期佔內存。
- 多個 DSH 會話共用同一個 Super-agent profile,希望有單一全局開關而不是會話級狀態。
- 想在輸入欄裏隨權限、併發等按鈕一起操作後臺進程。
使用前注意以下幾點:
- 插件以當前 DSH 進程權限運行,能在桌面上啓動、停止獨立 CLI。安裝前應閱讀源碼與許可證(MIT),確認配置路徑、端口和進程參數符合你的部署。
- 本插件是社區項目,不是 DeepSeek 官方插件;命名空間
@local/superagent-power只表示本地插件,不代表已發佈到 npm。 Sup按鈕不會註冊到未加載 bundle 的桌面上,只裝文件不加載 bundle 是沒效果的。- 本插件管理的是獨立運行的 Super-agent profile,不適用於把 Super-agent 直接加載進桌面主 profile 後再關閉整個桌面進程的場景。
- 本插件沒有修改系統開機啓動項,卸載不會刪除業務配置和會話歷史。
結尾¶
這個插件解決的是一件具體的事:給常駐後臺的 Super-agent 提供一個全局的、放在輸入欄裏的開關,關閉時走正常收尾流程退出進程,避免不使用時仍長期佔用內存。它不追求更復雜的調度能力,取捨也很明確——關閉期間不監聽外部任務。如果你已經在用 DSH NEXT 和獨立 Super-agent profile,可以從下面的目錄頁和倉庫開始瞭解。
- 目錄頁:https://www.skillhub.cn/plugins/MingoYung/dsh-superagent-power
- GitHub:https://github.com/MingoYung/dsh-superagent-power