前言¶
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