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

角色小队 stuarthu/dsh-crew

DeepSeek Harnessv0.13.0
stuarthu13 天前有提交已提供中文文档扫描:含敏感能力

dsh-crew 是 DeepSeek Harnessdsh的插件。它把你的 dsh 会话变成产品经理PM,由 PM…

38.3/100
综合分
6
GitHub 星标
497
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-crew
npm 源 · dsh-crew 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · market
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 13 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

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

✓npm 包dsh-crew @ 0.13.0
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 08:18:42

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

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

读写/删除本地文件
查看扫描证据(共 25 处,展示前 23 条)
  • 读取本地文件
    host/crew.js:122
    entries = readdirSync(join(target, prefix), { withFileTypes: true });
  • 读取本地文件
    host/crew.js:136
    mine = readFileSync(join(target, rel), "utf8");
  • 读取本地文件
    host/crew.js:142
    shipped = readFileSync(join(source, rel), "utf8");
  • 读取本地文件
    host/crew.js:173
    if (!existsSync(source)) throw new Error(`dsh-crew: shipped preset missing at ${source}`);
  • 读取本地文件
    host/crew.js:176
    if (existsSync(target)) {
  • 读取本地文件
    host/crew.js:177
    if (!existsSync(stamp)) return `dsh-crew: left the existing "${PRESET_ID}" preset alone (not written by dsh-crew)`;
  • 删除本地文件递归
    host/crew.js:180
    rmSync(target, { recursive: true, force: true });
  • 写入本地文件
    host/crew.js:183
    mkdirSync(dirname(target), { recursive: true });
  • 写入本地文件
    host/crew.js:185
    writeFileSync(stamp, `${version}\n`);
  • 写入本地文件
    host/crew.js:192
    mkdirSync(dirname(backup), { recursive: true });
  • 写入本地文件
    host/crew.js:193
    writeFileSync(backup, contents);
  • 读取本地文件
    host/git-guard.js:224
    if (!existsSync(dir)) return undefined;
  • 读取本地文件
    host/git-guard.js:227
    entries = readdirSync(dir).filter(entry => /\.ya?ml$/i.test(entry));
  • 读取本地文件
    host/git-guard.js:234
    text = readFileSync(join(dir, entry), "utf8");
  • 读取本地文件
    host/git-guard.js:318
    if (!existsSync(approvalFile)) {
  • 删除本地文件
    host/git-guard.js:325
    rmSync(approvalFile);
  • 读取本地文件
    host/jobs.js:50
    if (!existsSync(file)) return undefined;
  • 读取本地文件
    host/jobs.js:53
    state = JSON.parse(readFileSync(file, "utf8"));
  • 读取本地文件
    host/jobs.js:78
    touched: statSync(file).mtime.toISOString().slice(0, 16).replace("T", " "),
  • 读取本地文件
    host/jobs.js:91
    if (!existsSync(root)) return "";
  • 读取本地文件
    host/jobs.js:95
    entries = readdirSync(root, { withFileTypes: true }).filter(entry => entry.isDirectory());
  • 读取本地文件
    host/roles.js:203
    if (!existsSync(candidate)) continue;
  • 读取本地文件
    host/roles.js:204
    const text = readFileSync(candidate, "utf8").trim();
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tool-subagent
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 调度多角色智能体
  • 角色间文件共享协作
  • 覆盖开发变更全流程

dsh 插件:把工作交给一小队角色智能体(产品经理、研究员、架构师、工程师、QA、代码审查、安全审查、文档审查),它们通过磁盘上的文件共享工作

v0.13.02026-10-21
· 任务文档不再落到你的项目文件夹里。开篇文档、设计、任务表、每份 ADR 和 CRD、边界契约和发布计划现在都放进临时文件夹:/dsh-crew///。是你的系统临时文件夹——没人设置时就是 /tmp——是你的项目完整路径,斜杠写成 -。项目文件夹只保留代码、qa/ 和随包发布的四个文件:README.md、CHANGELOG.md、CLAUDE.md 和 principles.md。任务文档在任务运行期间被读取,任务结束后没有任何东西保留它们。 · 中文 README 没了。README-zh.md 已删除,随之而去的是「两个 README 内容一致、同一次提交」这条规则。README.md 是唯一的 README,用英文。语言不是英文的任务仍会自己写一份翻译版 README,没有任何东西让那一页和英文版保持同步。 · 任务表每个任务一份,不是每个仓库一份。临时文件夹带任务名,所以每个任务开自己的表,从不读早先任务的表。 · 不再有任何东西检查 Verdicts 行。PM 仍会写它,任务结束时仍会给你每个任务打印一行。消失的是红色标记:某个任务缺值,或某个 not run 破折号后没写原因,都不会标红。qa/gaps.md 里写明了这一点。
v0.12.02026-10-15
· 修复 · Crew 预设现在会出现在 dsh 0.2.x 的预设选择器里,此前它一直被静默关闭。声明行由 @deepseek-ai/dsh-agent-preset 承载,并用一行 disabled: 把自己关掉。一行的 disabled 是针对加载器上下文求值的,而加载器上下文看不到注册表服务——只有一行 config 里的 !!js 表达式才能看到该插件自己的上下文。于是这个表达式在每个 dsh 上都为真,这一行在每个 dsh 上都被禁用,dsh 保留了一条激活失败的声明,失败「在名单上带着它的诊断信息」,而不是让配置档失败。症状就是预设缺失且没有报错,偏偏出现在唯一没有别处可放它的那一代:0.2.x 从不读取 $DSH_HOME/.agent-presets。 - 这一行现在由 host/crew-preset.js 承载,也就是这个包自己的插件,而且完全不带 disabled: 行。检查在该插件内部运行,ctx.get('agentPresets') 会针对这一行声明的注入来解析。 - dsh 0.1.x 上没有任何变化。那一代从不读取声明行;插件在那里什么都不做,文件夹安装就是全部——和以前一样的形态,现在真正走通了。 - 预设自身的内容没有动:同样的 id: crew,同样的 order,同样的 name 和 description,同样的 plugins: 列表,同样两处偏差。 · 变更 · 任务文件夹移到了仓库内部。它以前位于 ~/.dsh/crew/jobs//,每个任务一个文件夹,离项目很远。现在它位于 /.dsh-crew/jobs//,就在本次会话所工作的仓库根目录下——和任务文档在同一处,所以一条 ls 就能看到你正在做的任务,任务的进度也不会再被误认成别的仓库的。任务本身的形态没有任何变化:文件夹仍然是一次性的。PM 在往里写任何东西之前,先往仓库自己的 .git/info/exclude 里写一行,这样 git status 保持干净,文件夹永远不会被暂存、永远不会被提交,任务结束时整个丢弃。用 info/exclude 而不是项目的 .gitignore,是因为那一行说的是这个 crew 把进度放在哪里,而不是项目构建什么,也因为它被每个工作树共享——所以配对任务的两个树看到同一条规则。 - 以前没提交的东西,现在依然不提交。state.json 在每一步之后都会重写;提交它等于把一个每步都变的文件摆到每个评审者和每个读者面前。它仍然是进度,这个任务留下的记录仍然是 docs/ 里的那一份。 - 默认值现在是相对路径 .dsh-crew/jobs,相对会话运行所在的文件夹解析。把 dsh-crew-core 行里的 jobsDir 设成绝对路径(或以 ~/ 开头),就能把任务文件夹放到别处,和以前完全一样。 - 未完成任务提示的行为不变。留在文件夹里的任务仍然会在每次会话开始时摆到 PM 面前,只是现在给出的是解析后的绝对路径,而不是 ~ 路径。
v0.11.02026-10-15
· 新增 · Crew 预设现在在 dsh 0.2.x 上有了,此前它一直悄悄缺失。dsh 0.2.x 用 @deepseek-ai/dsh-agent-preset 替换了 @deepseek-ai/dsh-agent-presets 注册表,旧注册表的老家 $DSH_HOME/.agent-presets 已经完全不再读取。用新注册表自己的话说:它「既不扫描目录,也不接受预设路径」。现在预设是配置档组合里的一行声明,插件从自己的 bundle 补丁里插入这一行来交付预设。dsh-crew 以前只写文件夹,所以在 0.2.x 上插件能加载,PM 提示词和守卫都正常,但 Crew 从不出现在预设选择器里。插件的 bundle 补丁现在也声明了预设,选择器又能提供它了。 · dsh 0.1.x 上没有任何变化。文件夹安装保持原样,新行在旧注册表被加载的地方会自行禁用,所以 0.1.x 的配置档永远不会被要求装一个它没有的包。 · 预设故意写了两遍。两代 dsh 的插件列表不同——单是 persona 行在 0.1.x 里接收 text,在 0.2.x 里接收 prefix/suffix——所以两个声明无法互相推导。因此角色过滤(roleAllow、roleDeny、roleModels)必须设在你的 dsh 读取的那个文件里:0.1.x 上是 $DSH_HOME/.agent-presets/crew 下的预设副本,0.2.x 上是插件 cordis.patch.yml 里的 preset-crew 行。两处都加了注释说明。 · tools/verify-mount.mjs 让新声明遵守与旧声明相同的规则:crew 角色已挂载,子代理控制工具都在,没有第二条启动智能体的路径重新打开,预设保持 crew 身份,web fetch 保持关闭。 · 移除 · PM 写入守卫没了:host/pm-write-guard.js、它在 cordis.patch.yml 里的行,以及它的检查 tools/verify-pm-write-guard.mjs。它阻止根会话——也就是 PM——对每个不在硬编码白名单上的文件使用 write 和 edit,并逐个要求你批准每次这样的写入。那个白名单比 PM 自身规则给它的写入集合更窄,所以守卫不断询问规则本就允许的写入——README.md 和 CHANGELOG.md 就在其中。这次移除的是强制执行,不是规则:roles/pm.md 仍然写明 PM 可以写哪些文件。这也回退了 docs/design/prd-2026-08-23-pm-write-guard.md。 · git 守卫未动,插件现在只带一个守卫。它仍然负责拦截 crew 角色的 push、tag push、force push、远程删除和包发布。SECURITY.md 和 CLAUDE.md 描述的就是这一个。 · 如果你自己的配置档补丁针对行 id dsh-crew-pm-write-guard,删掉那个补丁。插件不再带该行加载的模块,而一行指向包未导出模块的声明无法解析。 · npm test 不再运行 tools/verify-pm-write-guard.mjs。测试套件里没有其他东西依赖它,也没有 QA 用例依赖它。 · 修复 · git 守卫根本没在守你的 crew 角色。它通过查看工具调用的 exec.parent 来判断谁是 PM,而在 dsh 里这个 token 标记的是嵌套子调用,不是父智能体:PM 自己的嵌套调用会设置它,每个 crew 角色都没有。于是每个角色都被读成 PM,守卫里信任 PM 的那一个分支就让子角色直接 push 受保护分支、push tag、force push、删除远程或发布包。守卫现在读取智能体自己的会话:crew 角色的会话会命名一个父会话,PM 的不会。每个子角色重新受到守卫,守卫自己的检查——它犯了同样的错误,把每个被拦截的用例都报成通过——现在也能看到子角色了。 · PM 相关的行为不变。它的 git 和发布命令仍然直接放行,trustRootAgent: false 仍然像对待子角色一样守它。 · 如果你之前依赖某个角色能 push,那个能力没了。它从来不是设计的一部分:子角色的 push 需要用户创建的一次性批准文件,正如 SECURITY.md 所述。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-crew 版本 0.13.0。 dsh-crew 是 DeepSeek Harness(dsh)的插件。它把你的 dsh 会话变成产品经理(PM),由 PM 带一支角色智能体团队:架构师、工程师、测试工程师、代码工程师、QA、代码评审、安全评审、文档评审、研究员。 它是什么 你跟 PM 对话。PM 为具体工作启动角色智能体。任务文档放在项目之外的文件夹里,项目文件夹保持干净。任务运行期间读取这些文档,任务结束后不再保留。留在项目里的文件只有随插件发布的五个:两份 README、CHANGELOG.md、CLAUDE.md 和 principles.md。 两条通道: - ask —— 你想要答案。PM 直接回答。什么都不改。 - team —— 你想要改动。PM 带团队干活:每个改动一个任务,一轮 QA,每类评审各一轮,然后提交。推送和发布仍然每次都要你点头。 安装 dsh plugin --profile tui add dsh-crew # or --profile web 重启 dsh。给会话选 Crew 预设。 快速开始 1. 安装插件(见上)。 2. 重启 dsh。 3. 在 Crew 预设上新建会话。你的会话就是 PM。 4. 提个问题,或者提个改动需求。 配置 全部可选。
展开完整文档(README 剩余 1 节)
dsh-crew

版本 0.13.0。

dsh-crew 是 DeepSeek Harness(dsh)的插件。它把你的 dsh 会话变成产品经理(PM),由 PM 带一支角色智能体团队:架构师、工程师、测试工程师、代码工程师、QA、代码评审、安全评审、文档评审、研究员。

它是什么

你跟 PM 对话。PM 为具体工作启动角色智能体。任务文档放在项目之外的文件夹里,项目文件夹保持干净。任务运行期间读取这些文档,任务结束后不再保留。留在项目里的文件只有随插件发布的五个:两份 README、CHANGELOG.md、CLAUDE.md 和 principles.md。

两条通道:

- ask —— 你想要答案。PM 直接回答。什么都不改。
- team —— 你想要改动。PM 带团队干活:每个改动一个任务,一轮 QA,每类评审各一轮,然后提交。推送和发布仍然每次都要你点头。

安装

dsh plugin --profile tui add dsh-crew # or --profile web

重启 dsh。给会话选 Crew 预设。

快速开始

1. 安装插件(见上)。
2. 重启 dsh。
3. 在 Crew 预设上新建会话。你的会话就是 PM。
4. 提个问题,或者提个改动需求。

配置

全部可选。设置放在两处:

- 配置档 cordis.patch.yml 里的 dsh-crew-core 和 dsh-crew-git-guard 两行:角色文件夹、活跃智能体上限、评审轮数、任务文件夹、git guard。
- dsh-crew-roles 行:每个角色用哪些工具和模型。这一行放在哪个文件,取决于你的 dsh 版本。dsh 0.1.x 上,它是插件自带预设副本里的 ~/.dsh/.agent-presets/crew/agent.cordis.yml。dsh 0.2.x 只读预设行,从不读那个文件夹,所以它在插件自己的 cordis.patch.yml 里的 preset-crew 行;配置档的 cordis.patch.yml 可以按这个行 id 覆盖它。在你 dsh 实际读取的那个文件里设置角色过滤。

许可证

MIT
预览分享卡片长什么样 ↓stuarthu/dsh-crew
分享 · DeepSeek Harness Hub
stuarthu/dsh-crew

dsh-crew 是 DeepSeek Harnessdsh的插件。它把你的 dsh 会话变成产品经理PM,由 PM…

这是你的仓库?认领条目

回到顶部