🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

外部子代理接入 jingfushen/dsh-subagent-plugins

DeepSeek Harness
jingfushen10 天前有提交已提供中文文档扫描:含敏感能力

把外部智能体命令行接入为原生子代理与队友

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add jingfushen/dsh-subagent-plugins
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 10 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 37 处,展示前 36 条)
  • 读取本地文件
    dsh-codex-imagegen/index.js:165
    stats = statSync(value)
  • 读取本地文件
    dsh-codex-imagegen/index.js:208
    if (isAbsolute(candidate) && existsSync(candidate)) return candidate
  • 读取本地文件
    dsh-codex-imagegen/index.js:221
    entries = readdirSync(directory)
  • 读取本地文件
    dsh-codex-imagegen/index.js:232
    stats = statSync(full)
  • 删除本地文件
    dsh-codex-imagegen/index.js:315
    unlinkSync(lastMessageFile)
  • 读取本地文件
    dsh-codex-imagegen/index.js:347
    return readFileSync(lastMessageFile, 'utf8').trim()
  • 读取本地文件
    dsh-codex-imagegen/index.js:359
    if (answer === undefined || !existsSync(answer)) {
  • 读取本地文件
    dsh-subagent-antigravity/index.js:128
    stats = statSync(cwd)
  • 读取本地文件
    dsh-subagent-kimicode/index.js:123
    stats = statSync(cwd)
  • 删除本地文件
    dsh-subagent-zcode/bin/zcode-cli.cjs:123
    fs.rmSync(link, { force: true, recursive: true })
  • 写入本地文件
    dsh-subagent-zcode/bin/zcode-cli.cjs:132
    fs.copyFileSync(expected, link)
  • 读取本地文件
    dsh-subagent-zcode/bin/zcode-cli.cjs:148
    if (!fs.existsSync(bundle)) {
  • 读取本地文件
    dsh-subagent-zcode/bin/zcode-cli.cjs:151
    if (!fs.existsSync(builtin)) {
  • 写入本地文件
    dsh-subagent-zcode/bin/zcode-cli.cjs:159
    fs.mkdirSync(providerDir, { recursive: true, mode: 0o700 })
  • 读取本地文件
    dsh-subagent-zcode/bin/zcode-cli.cjs:160
    if (!fs.existsSync(entry)) {
  • 写入本地文件
    dsh-subagent-zcode/bin/zcode-cli.cjs:161
    fs.writeFileSync(
  • 读取本地文件
    dsh-subagent-zcode/index.js:124
    stats = statSync(cwd)
  • 读取本地文件
    dsh-subagent-zcode/index.js:537
    if (!existsSync(LAUNCHER_PATH)) {
  • 读取本地文件
    dsh-subagent-zcode/index.js:541
    if (!existsSync(bundle)) {
  • 读取本地文件
    dsh-subagent-zcode/index.js:545
    if (!existsSync(builtin)) {
  • 删除本地文件
    dsh-team-external/bin/zcode-cli.cjs:123
    fs.rmSync(link, { force: true, recursive: true })
  • 写入本地文件
    dsh-team-external/bin/zcode-cli.cjs:132
    fs.copyFileSync(expected, link)
  • 读取本地文件
    dsh-team-external/bin/zcode-cli.cjs:148
    if (!fs.existsSync(bundle)) {
  • 读取本地文件
    dsh-team-external/bin/zcode-cli.cjs:151
    if (!fs.existsSync(builtin)) {
  • 写入本地文件
    dsh-team-external/bin/zcode-cli.cjs:159
    fs.mkdirSync(providerDir, { recursive: true, mode: 0o700 })
  • 读取本地文件
    dsh-team-external/bin/zcode-cli.cjs:160
    if (!fs.existsSync(entry)) {
  • 写入本地文件
    dsh-team-external/bin/zcode-cli.cjs:161
    fs.writeFileSync(
  • 读取本地文件
    dsh-team-external/index.js:199
    if (!existsSync(file)) return { version: 1, teams: {} }
  • 读取本地文件
    dsh-team-external/index.js:201
    const value = JSON.parse(readFileSync(file, 'utf8'))
  • 写入本地文件
    dsh-team-external/index.js:216
    mkdirSync(join(file, '..'), { recursive: true })
  • 写入本地文件
    dsh-team-external/index.js:218
    writeFileSync(temporary, JSON.stringify(state, null, 2))
  • 写入本地文件
    dsh-team-external/index.js:219
    renameSync(temporary, file)
  • 写入本地文件
    dsh-team-external/index.js:421
    mkdirSync(dirname(control.path), { recursive: true })
  • 删除本地文件
    dsh-team-external/index.js:425
    unlinkSync(control.path)
  • 写入本地文件
    dsh-team-external/index.js:455
    chmodSync(control.path, 0o600)
  • 删除本地文件
    dsh-team-external/index.js:468
    unlinkSync(control.path)
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
DSH 原生子代理插件 独立的 DeepSeek Harness (DSH) 插件包,把外部智能体命令行暴露为原生子代理,另含一个 Codex 图像生成工具,以及一个 Agent Team 桥接,让同一批外部命令行以一等队友身份加入 Team。结构沿用官方 @deepseek-ai/dsh-subagent-codex / @deepseek-ai/dsh-subagent-claude-code 包:由 bundle 补丁插入 Host 平面行——ctx.subagents 上的 provider 行,以及 @deepseek-ai/dsh-tool-subagent 委派工具行(maxDepth: provider-managed)。 基于 DSH 0.2.1-rc.3 构建并验证(桌面配置档,macOS)。每个插件都是独立 bundle,单独安装——没有共享的聚合包。
展开完整文档(README 剩余 1 节)
DSH 原生子代理插件

独立的 DeepSeek Harness (DSH) 插件包,把外部智能体命令行暴露为原生子代理,另含一个 Codex 图像生成工具,以及一个 Agent Team 桥接,让同一批外部命令行以一等队友身份加入 Team。结构沿用官方 @deepseek-ai/dsh-subagent-codex / @deepseek-ai/dsh-subagent-claude-code 包:由 bundle 补丁插入 Host 平面行——ctx.subagents 上的 provider 行,以及 @deepseek-ai/dsh-tool-subagent 委派工具行(maxDepth: provider-managed)。

基于 DSH 0.2.1-rc.3 构建并验证(桌面配置档,macOS)。每个插件都是独立 bundle,单独安装——没有共享的聚合包。

| 插件 | 类型 | 面向模型的工具 | 后端 | 验证结果 |
| dsh-subagent-zcode | 子代理服务商 | subagent_zcode | ZCode CLI 0.17.0 (/Applications/ZCode.app/.../glm/zcode.cjs) | ✅ 真实委派返回 OK,ZCODE-DSH |
| dsh-subagent-antigravity | 子代理服务商 | subagent_antigravity | Antigravity CLI agy 1.4.7,强制走声明的全局代理 | ✅ 真实委派返回 OK,ANTIGRAVITY-DSH |
| dsh-subagent-kimicode | 子代理服务商 | subagent_kimicode | Kimi Code CLI 2.3.1 (kimi -p ... --output-format text) | ⚠️ 失败路径已验证;成功路径需要 kimi login |
| dsh-codex-imagegen | 模型工具 | codex_imagegen | Codex CLI codex exec + 内置 imagegen 技能(image_gen) | ✅ 生成了真实的 1254×1254 PNG |
| dsh-team-external | Agent Team 桥接(mod) | spawn_external_teammate(+ 随附的 Team 工具) | Antigravity / ZCode / Kimi Code 作为持久 Team 队友 | ✅ 实测 spawn/send/list/wait/interrupt + 任务归属 + 重载后恢复 |

报告:

- REPORT-dsh-subagent-plugins.md — 实现、安装、端到端验证、前置条件、回滚、已知缺口。
- REPORT-dsh-team-external.md — Agent Team mod:随附的 Team 为何无法拉起外部智能体、桥接如何装饰运行中的服务,以及实测证据。
- REPORT-dsh-native-subagents.md — 官方 DSH Codex / Claude Code 原生子代理包如何构建(源码级深入剖析),本文档以此为模板。

仓库结构

dsh-subagent-zcode/ # provider zcode + tool subagent_zcode
dsh-subagent-antigravity/ # provider antigravity + tool subagent_antigravity
dsh-subagent-kimicode/ # provider kimicode + tool subagent_kimicode
dsh-codex-imagegen/ # tool codex_imagegen
dsh-team-external/ # Agent Team bridge: spawn_external_teammate + external roster members
REPORT-dsh-subagent-plugins.md
REPORT-dsh-team-external.md
REPORT-dsh-native-subagents.md
artifacts/ # 端到端证据(生成的图片)

每个插件目录都是一个完整的 DSH bundle 包:package.json(含 dsh.bundle.patch)、 cordis.patch.yml、自包含的 index.js(只用 node: 内置模块——链接式 bundle 没有自己的 node_modules)、locale/en.json + locale/zh.json、icon.svg,以及一份带完整配置表的 README。

安装

推荐方式(DSH 负责安装包并选择配置档层):

1. 把仓库克隆到一个固定位置,例如 git clone https://github.com/jingfushen/dsh-subagent-plugins.git ~/dsh-subagent-plugins。
2. 在 DSH 会话里,让智能体用 plugin_manager 工具逐个安装 bundle, action: install_bundle,target: /abs/path/to/<plugin-directory>(每个目录一次)。
3. 安装即时生效(application: applied);新工具会在下一次模型请求时出现。
插件行属于 Host 平面行,所以这些工具是全局的(每个预设都可见)。
如果某个预设不该看到它,在配置档补丁里按 id 禁用或覆盖该行。

手动替代方案:把插件 cordis.patch.yml 里的同样两行加到配置档的 cordis.patch.yml,再用
dsh plugin --profile <profile> add link:/abs/path/to/<plugin-directory> 安装包。

环境要求

- ZCode 插件:/Applications/ZCode.app(3.16.3+),并在 ZCode 内登录。随附的 bin/zcode-cli.cjs 启动器会修复 ZCode 的 zcode-builtin.json 查找;appPath 可配置。
- Antigravity 插件:PATH 上有 agy(Antigravity 命令行安装器),已认证,且 127.0.0.1:12450 上有可达的代理(见下面的全局代理声明;设 proxy: null 可禁用)。
- Kimi Code 插件:先 npm i -g @moonshot-ai/kimi-code,再 kimi login(设备码流程)。
未登录时每次委派都会失败,并给出有界的「No model configured / run kimi login」诊断。
- Codex imagegen 插件:codex 已用 ChatGPT 登录;内置 image_gen 工具不需要 OPENAI_API_KEY。默认代理 127.0.0.1:12450;图片输出落在工作区之外,所以子进程默认以 sandbox: danger-full-access 运行(可配置)。
- Team bridge 插件:需要随附的实验性 Agent Team bundle (@deepseek-ai/dsh-experimental-agent-team + -tool-agent-team)。命令行前置条件同上; Antigravity/ZCode 可立即使用,Kimi Code 需要 kimi login。外部成员有自己的准入预算(maxExternalMembers,默认 8),不占用原生 Team 成员上限。
Lead 给它们分配任务并等待完成;外部回答以 Team 对等消息的形式到达。

Antigravity 全局代理声明

需求是一条明确的「所有流量走代理」声明。它存在两处,保持同步:

- dsh-subagent-antigravity/cordis.patch.yml —— 可见的
- 单行配置 proxy: http://127.0.0.1:12450;
- dsh-subagent-antigravity/index.js — const GLOBAL_PROXY = 'http://127.0.0.1:12450';每个子进程的环境都强制设为 HTTP_PROXY/HTTPS_PROXY/ALL_PROXY=proxy,并设 NO_PROXY='' (DSH 启动子进程时会清理凭据环境),启动前还会做一次 TCP 探测;代理不可用时直接报出代理本身的问题,而不是 agy 那条容易误导的账号错误。

配置与移除

每个插件的 README 都写明了各自的配置字段。配置档层的覆盖会替换整个 config: yaml
- id: subagent-antigravity
config:
proxy: http://127.0.0.1:12450
effort: max

用 plugin_manager 的 remove_bundle(或 Plugins 页面)移除。移除 bundle 不会移除上面列出的命令行前置依赖。

注意事项与限制

- 这些工具是 Host 级全局工具(行为与官方 bundle 一致)。它们不会创建本地子会话:父会话拿到一个子 id,完成时拿到最终答案或一份有长度上限的诊断信息;子会话的推理过程、工具流量和 stderr 都不会进入父会话。
- 只支持一次性调用:不能续接、恢复或池化。
- Kimi Code 的成功路径尚未验证,要等已登录的 subagent_kimicode 跑出一次答案。
- 官方深入分析(REPORT-dsh-native-subagents.md)是针对 DSH 0.2.1-rc.3 写的;协议和命令行版本锁定可能随 DSH 或产品升级而变化。
预览分享卡片长什么样 ↓jingfushen/dsh-subagent-plugins
分享 · DeepSeek Harness Hub
jingfushen/dsh-subagent-plugins

把外部智能体命令行接入为原生子代理与队友

这是你的仓库?认领条目

回到顶部