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

Qoder 子智能体 Zxznb666/dsh-qoder-cn-subagent

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

把任务委派给本机 Qoder CN 智能体执行并取回结果

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 14 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件
查看扫描证据(共 6 处,展示前 6 条)
  • 读取本地文件
    lib/qoder-cn.js:73
    if (!existsSync(path)) return undefined
  • 读取本地文件
    lib/qoder-cn.js:75
    const parsed = JSON.parse(readFileSync(path, 'utf8'))
  • 读取本地文件
    lib/qoder-cn.js:90
    if (!existsSync(path)) return undefined
  • 读取本地文件
    lib/qoder-cn.js:92
    const parsed = JSON.parse(readFileSync(path, 'utf8'))
  • 读取本地文件
    lib/qoder-cn.js:114
    hasCredential: existsSync(credential),
  • 读取本地文件
    lib/qoder-cn.js:115
    hasMachineId: existsSync(machineId),
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-subagent@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

把 Qoder CN 注册为 DeepSeek Harness 的子智能体后端:复用原生登录与设置,一次委派一个任务。

README

由 DeepSeek 最新模型翻译生成
DSH Qoder CN Subagent 把 Qoder CN 注册为 DeepSeek Harness 的子智能体后端:复用 Qoder CN 自己的登录与设置,一次委派一个任务。 装好之后,DSH 的模型除了 subagent(本地子智能体)之外,还会多一个 qoder_subagent 工具。调用它,任务会交给本机 Qoder CN 的 agent 循环去跑——它有自己的会话、自己的工具集、自己的账号计费——跑完只把最终答复交回父会话。 它做什么 - 一个后端,一条委派路径:qoder-cn 是 DSH subagents 服务上的一个外部提供方。父 agent 用 qoder_subagent 把活派出去,拿到的是结果而不是它完整的工具流水。 - 原生登录:认证走 Qoder CN 官方 SDK 的 qodercli 只读复用,插件不复制、不改写、不迁移 Qoder 的登录文件。 - 原生设置:默认把 ~/.qoder-cn/settings.json 里的 MCP 服务器转交给子会话,所以你在 Qoder CN 里配好的 MCP 在委派里照样可用。 - 一次一个任务:外部后端不提供继续输入。子会话跑完即结束,父会话收到的是最终答复。
展开完整文档(README 剩余 1 节)
DSH Qoder CN Subagent

把 Qoder CN 注册为 DeepSeek Harness 的子智能体后端:复用 Qoder CN 自己的登录与设置,一次委派一个任务。

装好之后,DSH 的模型除了 subagent(本地子智能体)之外,还会多一个 qoder_subagent 工具。调用它,任务会交给本机 Qoder CN 的 agent 循环去跑——它有自己的会话、自己的工具集、自己的账号计费——跑完只把最终答复交回父会话。

它做什么

- 一个后端,一条委派路径:qoder-cn 是 DSH subagents 服务上的一个外部提供方。父 agent 用 qoder_subagent 把活派出去,拿到的是结果而不是它完整的工具流水。
- 原生登录:认证走 Qoder CN 官方 SDK 的 qodercli 只读复用,插件不复制、不改写、不迁移 Qoder 的登录文件。
- 原生设置:默认把 ~/.qoder-cn/settings.json 里的 MCP 服务器转交给子会话,所以你在 Qoder CN 里配好的 MCP 在委派里照样可用。
- 一次一个任务:外部后端不提供继续输入。子会话跑完即结束,父会话收到的是最终答复。

认证边界(重要)

这里有一条由 Qoder 服务端划定的边界,插件无法绕过,所以直接说明:

| 登录来源 | 位置 | 能否驱动子智能体 |
| Qoder CN CLI 登录 | ~/.qoder-cn/.auth/user | 能(官方 SDK 的唯一受支持路径) |
| Qoder CN IDE/App 登录 | App 的 state.vscdb | 不能 |

IDE 里登录不等于 CLI 里登录。App 保存的是 device token(并且加密存放在 App 自己的库里),而 Qoder CN 的推理接口只接受 CLI 凭据库签发的凭据——拿 App 的 device token 去请求,上游会直接以 access_token_invalid 拒绝。这不是插件偷懒,而是上游的账号模型:两者是不同的凭据类型,不是同一把钥匙的不同副本。

所以启用前,在本机执行一次:

qoderclicn login

登录一次之后,子智能体的每次委派都自动沿用这份登录态,账号切换也会自动跟随。

插件启动时会打印状态,未登录时给出明确警告:

[qoder-cn-subagent] provider "qoder-cn" registered without a Qoder CN CLI sign-in
qoder home: /Users/you/.qoder-cn
app sign-in: yes (your-name)
cli sign-in: no
auth mode: native
settings delegation: on

The subagent runs through the Qoder CN CLI credential store, which is separate from the App sign-in.
Run qoderclicn login once (or set accessToken / accessTokenEnv) before delegating.

安装

插件本身不发 npm,按本地包安装:

1) 取回源码
git clone https://github.com/Zxznb666/dsh-qoder-cn-subagent.git
cd dsh-qoder-cn-subagent

2) 装好官方 SDK(插件已声明依赖,这一步是可选的预装)
npm install

3) 装进你要用的 profile(file: 需要绝对路径)
dsh plugin --profile <profile> add "file:$(pwd)"

Desktop 用户注意:官方 Electron 版把 desktop profile 交给 App 独占管理,独立 CLI 的 --profile desktop 会被拒绝,dsh plugin --profile desktop ... 同样不可用。想在 Desktop 里用,走 App 的插件入口安装本地包;Web / TUI / headless 用上面的命令即可。

装完后 --dump-config 能看到这两行,说明 bundle 层已生效:

== dsh-qoder-cn-subagent
- id: subagent-qoder-cn
name: dsh-qoder-cn-subagent
- id: tool-subagent-qoder-cn
name: '@deepseek-ai/dsh-tool-subagent'
config:
provider: qoder-cn
toolName: qoder_subagent
maxDepth: provider-managed

maxDepth: provider-managed 不是可选项。外部后端没有 depthLimit 能力,父级无法替它执行递归预算,DSH 会因此在启动时直接拒绝这条配置——如实转交比假装能限制更安全。

如果 pnpm 拦下了 SDK 的 postinstall

官方 SDK 的 postinstall 负责下载 Qoder worker runtime(约 60 MB)。pnpm 默认会拦下未批准的构建脚本:

Error: ERR_PNPM_IGNORED_BUILDS
× adding a new package
╰─▶ Ignored build scripts: @qodercn-ai/qodercn-agent-sdk@1.0.55

在 profile 的 pnpm-workspace.yaml 里放行,然后补跑一次:

allowBuilds:
'@qodercn-ai/qodercn-agent-sdk': true

cd ~/.dsh/profiles/<profile>
pnpm rebuild @qodercn-ai/qodercn-agent-sdk

配置

全部字段都有可用默认值,不配也能跑。

| 字段 | 默认 | 说明 |
| providerName | qoder-cn | 提供方注册名,委派工具的 provider 指向它 |
| authMode | native | native 只读复用 CLI 登录;token 用 accessToken/accessTokenEnv;auto 有令牌走令牌、否则走 CLI |
| accessToken | 空 | Qoder CN personal access token。不要填 App 的 device token |
| accessTokenEnv | QODERCN_PERSONAL_ACCESS_TOKEN | 令牌所在环境变量,避免密钥进配置文件 |
| qoderHome | 空 | Qoder CN 配置根目录。空表示 $QODERCN_CONFIG_DIR 或 ~/.qoder-cn |
| delegateSettings | true | 把 settings.json 的 MCP 服务器转交给子会话 |
| model | 空 | 子会话使用的 Qoder CN 模型 id;空表示上游默认 |
| permissionMode | bypass_permissions | 子会话的权限模式。子智能体无人值守,需要免提示才能动手 |
| maxTurns | 120 | 单次委派的轮数上限 |
| sessionPersistence | false | 是否把子会话留在磁盘,方便 qoderclicn --list-sessions 事后查看 |
| cwdPolicy | parent | parent 用委派时的工作目录;fixed 用 cwd |
| cwd | 空 | cwdPolicy: fixed 时使用的工作目录 |

在 profile 的 cordis.patch.yml 里覆盖:

- id: subagent-qoder-cn
name: dsh-qoder-cn-subagent
config:
authMode: auto
model: qmodel_latest
maxTurns: 60
sessionPersistence: true

它刻意不做的事

- 不声明做不到的能力。agentOptions / agentPreset / outputSchema / depthLimit 全为 false:Qoder CN 在另一个进程里跑,父级强制的这些启动能力它接不住。声明支持再静默忽略,会让调用方以为限制生效了。
- 不转发图片。当前只走文本提示;遇到图片块会显式标注「已丢弃」,而不是让模型对着残缺输入瞎猜。
- 不碰 Qoder 的登录文件。插件只读 settings.json 与 App 的状态快照;authMode: token 也只把令牌用在本次 SDK 调用上。
- 不复制 IDE 的插件开关。enabledPlugins 属于 IDE 的插件体系,SDK 侧没有对应概念,直接丢弃而不是假装支持。

故障排查

| 现象 | 原因 | 处理 |
| No qodercli login found | CLI 侧没有登录态 | qoderclicn login 一次 |
| The provided access token was rejected | 填了 App 的 device token,或令牌已过期 | 改用 CLI 登录,或换一个真的 personal access token |
| 启动时报 cannot enforce maxDepth | patch 里漏了 maxDepth: provider-managed | 补上该项 |
| Ignored build scripts | pnpm 拦下了 SDK postinstall | 见上文 allowBuilds |
| 委派一直无响应后报超时 | Qoder worker runtime 缺失或损坏 | 重跑 pnpm rebuild @qodercn-ai/qodercn-agent-sdk |

结构

lib/
index.js # 提供方注册与配置 schema qoder-cn.js # 认证选择、设置委派、提示折叠、结果收敛 host-modules.js # 从宿主入口解析 @deepseek-ai/* 共享包 test/ qoder-cn.test.js # 认证/设置/提示/结果映射 subagent-provider.test.js # run 句柄契约与取消语义 cordis.patch.yml # bundle 层:注册后端 + 委派工具

关于 host-modules.js:profile 里的插件和 DSH 宿主不在同一个 node_modules 树中,宿主以安装级包表提供 @deepseek-ai/*。直接 import '@deepseek-ai/schemastery' 在 profile 里解析不到,必须从宿主入口 createRequire——而且必须这么做,因为 cordis 靠实例身份判定服务,装第二份会出现「注册了却取不到」的问题。

验证

node --test test/qoder-cn.test.js test/subagent-provider.test.js

测试不触网:SDK 被替换成可控的假实现,断言的是「Qoder 返回什么 → DSH 收到什么」的映射,以及取消、幂等、错误收敛这些契约行为。

许可

MIT
预览分享卡片长什么样 ↓Zxznb666/dsh-qoder-cn-subagent
分享 · DeepSeek Harness Hub
Zxznb666/dsh-qoder-cn-subagent

把任务委派给本机 Qoder CN 智能体执行并取回结果

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部