DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-remote-subagent

Remote Subagent

DSH 插件:通过 SSH 将本地会话中的任务分派到远程 DSH(dsh headless --json),将远程代理的运行事件(思考、工具调用、结果、最终回答)流式传回本地会话,并通过后续消息继续同一远程对话。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-remote-subagent@0.1.0
README兼容性版本

兼容性与来源证明

Remote Subagent 以 dsh-remote-subagent 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/11/4

版本

0.1.0stable
2026/11/4

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
100.2 kB
文件数
15
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 1
周下载
0
最近提交
2026/11/4
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 agents-orchestration 分类下经过校验的插件。

Headless@deepseek-ai/dsh-headlessdsh one-shot bundle:基于 dsh-base 的直接核心 Agent/Session 运行器,不包含 Host、HTTP 或浏览器层Experimental Agent Team Profile@deepseek-ai/dsh-experimental-agent-team-profile在一个实验性捆绑包中提供 Agent Teams 协作、工具和 Web UIExperimental Ralph Bundle@deepseek-ai/dsh-experimental-ralph-bundle使用全新代理执行明确请求的重复工作。Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

dsh-remote-subagent

English · 简体中文

DSH(DeepSeek Harness)远端子代理插件:本地会话用 remote_agent 工具把任务派给远端 DSH(SSH 上的另一台机器),远端 agent 用它自己的模型、工具与沙箱干活,思考 / 工具调用 / 工具结果 / 最终答复实时流回本地会话,并可在同一远端会话上追加消息——用法与内置 subagent 类似,但执行发生在远端机器里。

本地会话 ── remote_agent 工具 ──SSH──> 远端 dsh headless --json <task>
   ▲                                        │
   └──── 事件流(thinking / tool_call / tool_result / final)◄──┘

为什么用远端 dsh headless --json

DSH 自带 headless 入口,--json 会把一次 run 的过程按行输出为 JSON 事件;--session-id 可续跑同一个 Session:

dsh headless --json '<task>'                     # 新远端会话
dsh headless --json --session-id <id> '<msg>'    # 同一会话续跑

插件通过 SSH 的 exec 通道直接读这个流,因此:

  • 不需要在远端开公网端口,也不需要 token / WebSocket 协议;
  • 远端 agent 用它自己的模型配置、工具、沙箱与 session 存储(session 落在远端 $DSH_HOME/sessions,在远端 DSH Web UI 里同样可见);
  • 追加消息用 --session-id,语义与 subagent 的 send 一致;
  • 事件流本身就是「工作过程」,不需要额外埋点。

安装

# 从 npm 安装到当前 profile(bundle 形式)
dsh plugin --profile <profile> add dsh-remote-subagent
# 或在 DSH 插件市场/plugin_manager 里安装 dsh-remote-subagent

依赖会自动安装(ssh2)。启用后:左侧栏出现「远端代理」图标,模型侧多出 remote_agent 工具。

机器从哪来

不重复配置 SSH 清单:目标机器读取 dsh-remote 的注册表

$DSH_HOME/remote-workspaces/machines.json

解析顺序:插件 config.machineId → 注册表 currentId → 第一个已保存机器 → config.machine(独立部署无 dsh-remote 时用)。支持密码、私钥(含 passphrase)、SSH agent。主机密钥采用 TOFU:首次连接把指纹记录到 $DSH_HOME/dsh-remote-subagent/known_hosts.json,之后必须匹配。

工具:remote_agent

action作用关键参数
spawn起一次新的远端 run(独立远端会话)task, machine?, cwd?
wait阻塞等 run 结束或超时(默认 30s,上限 120s;超时不影响远端继续跑)runId, waitSeconds?
get状态 + 最近 N 条过程事件 + 结果runId, eventLimit?
send给同一远端会话追加消息(新 run,--session-id 续跑,turn+1)runId, task
list最近的 run 列表limit?
cancel终止远端进程(按 pid 文件 kill -TERM)runId
machines可用的远端机器—

典型用法:

remote_agent({action:"spawn", task:"在 /opt/app 跑一次只读健康检查:磁盘、内存、监听端口,最后总结"})
  → runId
remote_agent({action:"wait", runId, waitSeconds:120})
remote_agent({action:"get", runId, eventLimit:30})
remote_agent({action:"send", runId, task:"把监听端口按大小排序再列一次"})

复用语义:spawn 永远新建远端会话(等于 subagent 的 spawn);send 复用该 run 所属的同一远端会话(等于 subagent 的 send_message)。多个 spawn 并发 = 多个互不共享上下文的远端会话;同一会话同一时刻只能跑一个 turn。run 历史与 sessionId 持久化在本地,DSH 重启后仍可 send 续跑。

面板(Client 半)

左侧栏「远端代理」→ 主面板:

  • 左列:新建任务(选机器 + 任务文本 + 派活)、run 列表(状态点 / 任务摘要 / 机器 / 用时);
  • 右列:run 详情(状态、远端 session id、cwd、轮次、事件数、token)、实时事件时间线(1.5s 轮询增量、自动滚底)、结果框、终止 / 刷新、追加消息输入框。

数据接口(同源;Desktop 走 /api 前缀,Web 走裸路径):

GET  /dsh-remote-subagent/runs
GET  /dsh-remote-subagent/run?id=<run>&from=<seq>&limit=<n>
POST /dsh-remote-subagent/action   {action: spawn|send|cancel, ...}

配置(可选)

插件配置在 profile 的 cordis.patch.yml 的 config: 下,全部可省略:

字段默认说明
machineId''默认机器(id/名称/host)
machinesFile''自定义机器注册表路径
headlessCommanddsh headless远端命令前缀
cwd''远端工作目录(空 = 机器 home)
maxConcurrent4并行 run 上限
timeoutSeconds900单 run 上限,超时自动终止远端进程
maxEvents4000每个 run 保留的事件上限
connectTimeoutMs20000SSH 连接超时

本地数据

  • $DSH_HOME/dsh-remote-subagent/runs/<runId>.json:每个 run 的元数据 + 事件 transcript(重启后历史仍在;重启瞬间仍在跑的 run 标记 failed/interrupted,但保留 session id,可 send 续跑);
  • $DSH_HOME/dsh-remote-subagent/known_hosts.json:TOFU 主机指纹。

实测状态(v0.1.0,2026-11-04)

在一个 Linux 远端(DSH 0.2.0-rc.2,SSH 密码登录)上跑通:

  • spawn → 11s / 23 条事件 / turn 1,含 tool_call 与 tool_result;
  • send 续跑同一 session-*,turn 2 正确引用上一轮上下文,回答数值与 turn 1 一致;
  • DSH 重启 + 插件热重载后 send 仍能续上同一远端会话(turn 3);
  • cancel 后远端无残留 dsh headless 进程,pid 文件清理;
  • 面板槽位注册(sidebar.panellist id=remote-agents、main key=remote-agents)与三条面板接口的处理器行为均有单测/实测覆盖。

单测覆盖(离线,无网络):机器解析顺序与报错、事件流解析/分页/续跑/取消/持久化、面板路由、SSH 引用与 TOFU 指纹、Client 槽位注册。

已知边界

  • 远端需要 dsh 在 SSH 登录 PATH 上,且 headless profile 可用;远端版本过老、没有 --json / --session-id 时不可用;
  • 只支持 POSIX 远端(命令用 sh -c 包装);Windows 远端未实现;
  • 不支持 dsh-remote 的 useSshConfig 别名机器与 ProxyJump 跳板(请用直连条目);
  • 远端 run 的模型/工具/沙箱完全由远端 profile 决定,本地不能改;
  • wait 超时不会终止远端 run;运行中不支持插话,需 wait 或 cancel 后再 send;
  • 事件流覆盖 headless 单 turn;远端 agent 若把活丢进后台 job,其后续输出不在本 run 流里。

回滚

  • 卸载:从 profile 移除 dsh-remote-subagent bundle;
  • 清数据:删除 $DSH_HOME/dsh-remote-subagent/(run 历史 + TOFU 指纹);
  • 对远端无持久改动:仅 /tmp/dsh-remote-subagent-*.pid(正常结束自动清理)与远端 session 目录。

License

MIT