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

子代理工作目录委派 lynx-gt/dsh-subagent-cwd

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

按次指定子代理工作目录,前台后台都生效

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

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add lynx-gt/dsh-subagent-cwd
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →

可信度证据

安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-subagent-cwd(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/23 13:50:34

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

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

读写/删除本地文件
查看扫描证据(共 8 处,展示前 6 条)
  • 读取本地文件
    lib/index.js:65
    stat = statSync(cwd)
  • 读取本地文件
    lib/index.js:88
    await readFile(file, 'utf8')
  • 读取本地文件
    lib/index.js:94
    raw = await readFile(file, 'utf8')
  • 读取本地文件
    lib/index.js:115
    dirs = await readdir(presetsRoot, { withFileTypes: true })
  • 读取本地文件
    lib/index.js:124
    metaRaw = await readFile(metaFile, 'utf8')
  • 读取本地文件
    lib/index.js:155
    await readFile(join(presetsRoot, id, 'agent.cordis.yml'), 'utf8')
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 按次指定工作目录
  • 前台后台均生效

DeepSeek Harness 子代理委派增强

README

由 DeepSeek 最新模型翻译生成
dsh-subagent-cwd 为 DeepSeek Harness(dsh)提供增强版子代理委派工具,支持按次指定工作目录(cwd)。 包含 dsh-subagent-tools 的全部能力(按次 model / provider / persona / toolFilter 覆盖、@preset: 引用、provider/model 复合 id)再加按次 cwd 参数——并附带让 cwd 真正生效所需的两处进程内 provider 补丁。 | English | | awesome · DSH plugin 两个包二选一,不要同时装 | 包 | 按次 model/provider/persona/toolFilter | @preset: | cwd | 补丁 | | dsh-subagent-tools | ✅ | ✅ | ❌ | 无(纯 bundle) | | dsh-subagent-cwd(本包) | ✅ | ✅ | ✅ | 2 处 provider 补丁 | 二选一安装。两者暴露相同的工具面(subagent / subagent_fork),同时装会因工具名冲突互相打架。
展开完整文档(README 剩余 1 节)
dsh-subagent-cwd

为 DeepSeek Harness(dsh)提供增强版子代理委派工具,支持按次指定工作目录(cwd)。

包含 dsh-subagent-tools 的全部能力(按次 model / provider / persona / toolFilter 覆盖、@preset: 引用、provider/model 复合 id)再加按次 cwd 参数——并附带让 cwd 真正生效所需的两处进程内 provider 补丁。

| English | |

awesome · DSH plugin

两个包二选一,不要同时装

| 包 | 按次 model/provider/persona/toolFilter | @preset: | cwd | 补丁 |
| dsh-subagent-tools | ✅ | ✅ | ❌ | 无(纯 bundle) |
| dsh-subagent-cwd(本包) | ✅ | ✅ | ✅ | 2 处 provider 补丁 |

二选一安装。两者暴露相同的工具面(subagent / subagent_fork),同时装会因工具名冲突互相打架。

为什么 cwd 需要补丁(而其他功能不需要)

SubagentStartRequest 没有 cwd 字段,进程内驱动层构建子代理会话 meta 时只用
childSessionMeta(parent, ...)——按次 cwd 根本不会透传。进程内子代理有两条创建路径,两条都必须
打补丁,否则就会踩到经典陷阱:前台路径认 cwd、后台路径静默忽略:

| 路径 | 要改的包 | 文件 |
| 前台(one-shot) | @deepseek-ai/dsh-subagent-in-process-driver | lib/index.js |
| 后台(continuable) | @deepseek-ai/dsh-subagent | lib/index.js(bundle!不是 lib/types/continuation.js) |

第二处是 bundle 陷阱:该包 package.json 的 main/exports 指向 lib/index.js(内含 continuation manager 的内联副本)。改长得像源码的 lib/types/continuation.js 不生效——必须改并验证 bundle。

persona × preset 并存(补丁 v2)

preset 与 persona 同时给出时(例如
subagent(preset: "@preset:router-standard", persona: "@preset:翻译员")),旧补丁会把 per-call
persona 注册成 deployment:persona 段,随后被目标 preset 的 router-bootstrap 类插件按名删除(applyPersona 会清掉所有名字含 "persona" 的段)——角色 persona 静默丢失。

v2 补丁(install.ps1 的 hunk 3 / hunk 5,三态兼容:原始 / 旧补丁 / 新补丁均可升级)改为:
- preset + persona 同给时跳过 deployment:persona 注册;
- recompose 之后把 per-call persona 注册为 delegation:role(order 1,名字不含 "persona"),router 删不到它,于是 preset 自身的推理 persona 与委派的角色 persona 并存。

只传 persona(无 preset)时行为不变:仍走 deployment:persona 的 shadow 语义。

补丁 v2 的 hunk 3–5 目前仅在 install.ps1(Windows)实现;POSIX 的 install.sh preset hunks 将在后续补齐。届时在 Linux 上 preset 参数会被接受,但在该补齐落地前不会真正 recompose。

⚠️ 限制警告:router-style 预设下 persona 失效

即使有补丁 v2,当子代理/成员组合使用 router-style 预设(如 @preset:dsh-router-standard)时, per-call persona 依然不会进入系统提示。这是 router-style 预设的机制性行为:其 system-prompt/assemble 钩子会删除所有段名含 "persona" 的段,并注入预设自带的动态 persona。因此最终生效的只有预设自带动态 persona,自定义角色文本被静默丢弃。

缓解建议:
- a) 改用非 router-style 预设(如 standard),让 persona 参数正常生效;
- b) 把角色设定通过消息层注入(首轮 prompt 前缀 / 任务消息前缀,如 agent-teams 的拼接机制),不依赖 cwd;
- c) 或接受 router-style 下 persona 参数失效(预设动态 persona 生效)。

安装

1. 安装插件(npm / git / 本地目录)
dsh plugin --profile web add dsh-subagent-cwd

2. 应用两处驱动层补丁(cwd 生效必需) powershell -ExecutionPolicy Bypass -File patches\install.ps1 # Windows 或:./patches/install.sh # POSIX

安装后重启 dsh --profile web。

升级 dsh 之后

dsh 升级会重写 node_modules,两处补丁都会丢失。每次升级后:

重跑安装脚本(幂等;anchor 不匹配会自动报错) powershell -ExecutionPolicy Bypass -File patches\install.ps1

若安装脚本报 "anchor not found",说明目标包结构变了——检查是否有新版本,或提 issue。

卸载

powershell -ExecutionPolicy Bypass -File patches\uninstall.ps1 # Windows
或:./patches/uninstall.sh # POSIX
dsh plugin --profile web remove dsh-subagent-cwd

示例

让子代理在不注入项目 AGENTS.md 的目录里干活:
subagent(description="总结这个文件", prompt="...", cwd="D:\\projects\\scratch\\notes")

设计要点

- 工具面是 bundle——官方 tool-subagent / tool-subagent-fork 行被禁用并替换,工具面本身不改任何官方文件。
- cwd 是唯一无法保持 bundle-only 的能力。 SubagentStartRequest 没有 cwd 字段,按次 cwd 必须由进程内 subagent provider 透传——所以需要 patches/ 里的两处小补丁(各一个 hunk),幂等、首次运行自动备份、
node --check 校验。这就是本包与 dsh-subagent-tools 分开存在的原因。
- 版本契约: peerDependencies 锁定公开 dsh 包(0.1.1-rc.1);补丁针对同一版本。dsh 升级会重写
dsh 安装的 node_modules 并清掉两处补丁——每次升级后重跑 patches/install.ps1 / install.sh
(见"升级 dsh 之后")。bundle 本身装在 profile 自己的 node_modules,升级后仍在,但官方 API 一旦变化, peerDependencies 会显式拒绝加载。

已验证

在干净(无本地补丁)的 dsh 0.1.1-rc.1 Windows 环境实测(headless + web):

- dsh-subagent-tools 的全部验证项(按次 model/provider/persona/toolFilter、@preset:、presetHints)✅
- cwd 前台路径 ✅ —— 子代理的 pwd 和沙箱工作区都切到指定目录
- cwd 后台(continuable)路径 ✅ —— 后台子代理同样生效("前台认、后台静默忽略"的经典陷阱未复现)
- toolFilter 作用域 ✅
- patches/install.ps1 与 patches/uninstall.ps1 往返 ✅(备份→打补丁→node --check→还原→复验)

限制

- 补丁已适配 rc.1(0.1.1-rc.1)。 两处补丁匹配 rc.1 官方源码的精确锚点;dsh 再次升级后若锚点失效,重跑 patches/install.ps1(报 "anchor not found" 即需适配新版本)。rc.1 官方已原生支持按次 persona / toolFilter (applyChildComposition 直接消费 request.persona),补丁只补官方仍缺的按次 cwd 与 preset recompose。
- @preset: 依赖本地预设布局 —— 与 dsh-subagent-tools 相同。
- Web 会话需要 preset 适配脚本(install-preset.ps1)——原因同 dsh-subagent-tools。

License

MIT
预览分享卡片长什么样 ↓lynx-gt/dsh-subagent-cwd
分享 · DeepSeek Harness Hub
lynx-gt/dsh-subagent-cwd

按次指定子代理工作目录,前台后台都生效

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