DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

DRQRTS /

DRQRTS/dsh-cds-mode

Verified

CDS 模式(Chen's DS)— a multi-agent development mode for DeepSeek Harness. You talk to one persona; it dispatches 56 personas that hand work to each other directly.

★ 2 Stars1 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@dbaa9fa9

CDS 模式(Chen's DS)

CDS 模式图标:一个枢纽带四颗卫星

一个把「多智能体协作」真正跑起来的工作模式,装进 DeepSeek Harness。

你和唯一的主人格晨对话。它带着 56 个人格分头干活,互相直接交接,最后把结果交回你手上。

56 是怎么算的:主模式 21 个(A/B/C/D/E 五组)+ 网络安全模式 35 个(八组)。两个模式各自还有一位"晨"——主模式的晨和它的安全模式版本。所以你实际会看到 58 份人格卡,但对你说话的自始至终只有一个。

语言: English · 简体中文 · 日本語


一、这是什么

大多数 AI 编程助手的工作方式是:你问,它答。

CDS 模式不一样。你面对的是一个人格 —— 晨。它不会立刻动手,而是先问清楚,然后把活拆开、派人、验收,最后给你一个交代。

用一句话说:它把"一个人干活"变成了"一个团队干活,但只有一个人跟你汇报"。

你可能遇到的麻烦 CDS 的做法
需求没说清,AI 就开始写,写完发现方向错了 晨先问 5 道题校准专业度,再问需求,不问清不动手
AI 说"已经修好了",你一测还是坏的 修完必须由另一个人格验证,而且验证方式是重放原问题,不是自己说"好了"
每次改都冒出新的坏 每轮必须报净变化量,连续 5 轮不收敛就自动熔断停下来
代码一看就是 AI 写的,一股塑料味 有专人(D4)专门抓 AI 味,而且有一票否决权
聊天里说过的话,下次就不记得了 所有结论必须落盘成文件,以文件为准,不以对话记忆为准
问着问着,AI 自己把活干了,派出去的人没派 明文禁止抢活,晨越权产出的东西直接作废
一堆 AI 同时干活,互相覆盖 同批并行但有互斥切片声明,禁止重复劳动

二、核心是什么:九条铁律

整个模式的行为由九条规则锁死。这些不是口号,违反会有明确后果。

# 铁律 违反了会怎样
L1 只有晨能跟你说话。 其他人格不许直接输出 越权,输出作废
L2 需求没澄清,不许开工。 首次对话做校准+需求采集,之后每次新要求先追问 5–10 题 违规开工,回退
L3 不藏 bug。 所有问题都要进台账,连"知道但先不修"的也要写清理由 严重违规
L4 循环必须收敛。 每轮修复后要给出这轮的净变化量 失控,触发熔断
L5 改版本要你明确说。 你没说"更新/重构/改版本号",一切改动按普通功能问题处理 越权变更
L6 同组不许互相掩盖。 发现了别人的 bug 必须写进台账,不许偷偷改掉不记录 违规
L7 结论必须落盘。 人格之间的结论以文件为准 无效结论
L8 派活要交出完整人格卡。 只给路径等于没派,子 Agent 会变成普通助手 无效委任,产物作废
L9 问你必须用提问工具(结构化选项卡片),不许一大段散文问你 流程违规

其中 L2 和 L9 是你感受最直接的:晨会用选择题卡片问你,而不是丢一大段话让你自己找重点。


三、56 个人格,分两种模式

主模式:晨 + 21 个人格(日常开发、文档、设计)

晨 是主人格。另外 21 个分五组:

组 特质 成员 擅长的活
调查组 情感冷漠 A1 官方派 · A2 复用派 · A3 个性化派 · A4 汇总验证 查资料、盘代码、去 AI 味、整合验证
设计组 贪欲 / 精进 B1 古怪奇想 · B2 务实 · B3 美观与人因 · B4 汇总收口 出方案、务实红线、视觉与操作、一票收口
开发组 懒惰 + 完美主义 C1 前端 · C2 后端 · C3 细节与修 bug · C4 安全层 写代码、跑一遍、修细节、安全清单
测试组 真诚 D1 代码级跑测 · D2 实机体验 · D3 长远 bug · D4 AI 味猎手 · D5 安全红队 · D6 分类汇总 五个视角独立找问题,D4 有否决权
其他组 —— E1 文员 · E2 演示文稿 · E3 宣传片视频 一切文字、PPT、视频

附属模式:C-WEB 网络安全工作流(35 个人格)

做安全任务时启用,不影响日常开发。八个组:

组 特质 人数 干什么
A 情报侦察 情感冷漠 4 资产边界、威胁情报、公开信息、供应链
B 检测分析 求真 5 告警分诊、数字取证、漏洞分析、恶意代码、流量分析
C 响应恢复 克制 4 执行响应、验证恢复、遏制策略、业务连续性
D 治理合规 固执 4 策略门、报告复盘、合规、隐私
E 安全架构与工程 远见 6 架构、应用安全、云安全、身份、数据安全、密码学
F 攻防对抗 攻防思维 4 渗透测试、红队、逆向、漏洞研究
G 安全运营与自动化 效率 3 检测工程、安全自动化、安全工具开发
I 实时防御反击 快准狠 5 实时指挥、攻击阻断、欺骗防御、攻击溯源、反击执行

安全模式有两条特别的设计:

D-web1 是「策略门」,连晨都不能绕过它。 任何会改变系统状态的动作都要过它,判定只有三种结果:允许 / 需审批 / 拒绝。没有第四种 —— "先做着,同时补审批"不算一种结果,算违规。

D-web4 有一票否决权。 涉及个人数据的操作,它可以直接否掉,不需要请示晨,但必须给出不涉及个人数据的替代路径。


四、最有意思的设计:晨不许抢活

这是整个模式里最反直觉、也最实用的一条。

AI 手上什么工具都有。默认行为倾向就是"顺手把这块也写了"。 一旦晨自己动手,派出去的人格就永远不会被派出去 —— 而模式承诺的所有保障(测试组的真诚、B4 的收口、D4 的 AI 味否决、A 组的对立验证)就全部不会发生。

所以有一条明文判据:

如果晨产出了一份本该由某个人格落盘的东西,那就是抢活,产物作废,退回去重做。

晨只被允许写"编排记录"类的文件,业务产物一律不许碰。

还有配套的症状 → 人格对照表:什么症状派给谁,表里有的不许自己硬上;表里没有的,先考虑该不该新增人格,或者停下来问你。


五、什么时候会停下来等你

这条很重要 —— 不是每件事都会来烦你。

必须停下来问你 不许停,自己继续
需求摘要等你确认 轮内推进(调查 → 设计 → 开发 → 测试)
接手项目时等你确认「不可动清单」 修 bug → 复测这个循环
判定为版本变更 / 推倒重做 单个子任务完成(这不叫停点)
熔断触发 ——
需求出现矛盾 ——
碰到安全红线 ——
准备交付 ——

另外还有一条纪律:不要每派完一个人格就来汇报一句。 那是骚扰,不是负责。


六、怎么防"越修越乱"

模式内置了六种熔断,达到条件自动停下:

编号 触发条件 含义
CB-1 连续 5 轮测试循环没收敛 陷入死循环
CB-2 任一轮新增 3 个以上致命 bug 修引入的问题比修掉的多
CB-3 代码连续 3 轮净增长,且 bug 没减少 越修越乱
CB-4 你和晨在需求上出现无法用选择题收敛的分歧 方向性分歧
CB-5 预算/时间到上限 资源熔断
CB-6 同一个 bug"修"了 3 次还没好 根因判断错了

问题分成五级,从 S1(致命)到 S5(建议)。其中有一条硬规定:

"不报错但结果是错的"这类问题,至少按 S2 算,跟它是不是核心功能无关。

静默错误数据是最危险的 —— 界面一切正常,账却算错了。


七、装完之后你看到什么

两张预设卡片

卡片 说明
CDS 模式(晨的DS) 日常用这个。 零实验依赖,一定激活
CDS 模式 · 同伴频道版 多挂 Agent Teams:人格之间可直接互相说话、共享任务板

协同功能只在第二张卡里。 第一张卡故意不挂任何实验包 —— 实验包出问题时,CDS 主体仍然能用。

选「同伴频道版」的会话,对话头部会多一个 Agent Teams 入口,点开能看到队友名册、共享任务板、点进某个队友的会话。

看不到协同入口,只有一个原因:你选的是第一张卡。


八、安装

前置条件:装好 DeepSeek Harness,能跑 dsh web。不需要 npm 登录,本包零外部依赖。

四种装法,选一种就行。推荐先看第一种(最省事),或者直接跳到第四种(最不依赖网络)。

方式一:Web 界面装(最省事)

  1. 打开 DSH 的 Web 界面(dsh web 后面板)

  2. 侧边栏点 Plugins

  3. 点 Add plugin

  4. 在输入框里填仓库地址:

    https://github.com/DRQRTS/dsh-cds-mode
    
  5. 选好 Registry(默认即可),勾选上方的信任确认框

  6. 点 Install

  7. 重启 dsh web

注意信任框里那句话:已安装的插件不会自动更新 —— 升级的做法是卸载再装新版本。

勾选它代表你确认了这一点。装插件会在你的 profile 里执行包里的代码(这是插件机制的通用性质,不是本包的特殊要求)。装之前你可以自己读一遍 index.js,约 400 行,只用 Node 内建模块。

方式二:命令行装(适合脚本化)

dsh plugin --profile web add https://github.com/DRQRTS/dsh-cds-mode

(web 是你的 profile 名。不指定 --profile 会报错,这个参数是必需的。)

装完同样重启。

方式三:让 agent 装

在一个 DSH 会话里说:

帮我安装插件:https://github.com/DRQRTS/dsh-cds-mode

agent 会调用 plugin_manager 工具的 install_bundle。这一步需要 danger-full-access 权限。

方式四:从压缩包装(不依赖 GitHub)

如果 GitHub 连不上(中国大陆常见,见下面第十一节),用这条:

mkdir -p ~/dsh-bundles
unzip dsh-cds-mode-1.5.0.zip -d ~/dsh-bundles
# 得到 ~/dsh-bundles/package/

然后让 agent 装这个目录:

plugin_manager  action: install_bundle
                target: /绝对路径/到/解压出的/package

为什么强调"长期保留":安装用软链接方式,DSH 会指向这个目录。目录删了,插件就加载失败。

install_bundle 接受 registry 包、git 地址、tarball、绝对路径四种。不接受 .zip 本身 —— 所以要先解压。路径必须是绝对路径。

四种装法对比

方式 需要 GitHub 可达 需要重启 适合
Web 界面 是 是 大多数人
命令行 是 是 批量 / 脚本
agent 工具 视 spec 而定 是 已经习惯用对话
压缩包 否 是 GitHub 不通时

最后一步:重启

dsh web

重启是必需的,刷新页面不够。 JS 模块是进程启动时加载的,新增或替换一个包必须重启才会加载。

然后新建会话,预设里选「CDS 模式」。

卸载与升级

卸载:Web 界面的 Plugins 页找到 CDS 卡片 → 卸载;或让 agent 执行

plugin_manager  action: remove_bundle  target: @local/dsh-cds-mode

升级:因为插件不自动更新,升级 = 先卸载,再按上面任一方式装新版本,然后重启。

卸载不影响你的项目产物 —— 那些在你的项目工作区里。


九、装完怎么验(三步)

第一步 · 卡片不标红。 打开预设列表,两张 CDS 卡片应当没有红色「加载失败」徽标。有的话,把诊断原文贴出来 —— 那是逐行的,会直接写明哪一行、什么原因。

第二步 · 它知道自己是谁。 新开会话问:

你是谁?

应当得到晨的自述。再问:

你手上的 CDS 规范里有几条铁律?第一条是什么?

应当答出 九条,第一条是「晨是唯一对用户说话的人格」。

第三步 · 提问走工具。 随便说个需求,比如"帮我做个管理学生作业的小工具"。应当看到晨弹出选择题卡片(不是一大段散文),每批不超过 5 题,而且第二批发问接得上你的回答 —— 你答"就我们班用",它就不该再问支付、发票、备案。


十、常见问题

现象 原因 怎么办
预设列表里没有 CDS 卡片 装完没重启 重启 dsh web
卡片标红「加载失败」 某一行激活失败 把诊断原文给发布者
诊断说「内置语料缺失」 压缩包不完整 重新解压完整压缩包
安装时报 Cannot access GitHub GitHub 连不上 见第十一节:配代理,或改用压缩包方式
侧边栏没有 Plugins 页 这个 profile 没有托管 改用命令行或 agent 工具
模型说"我是 coding agent…" 选的是别的预设 确认会话预设是「CDS 模式」
找不到任何协同入口 用的是「CDS 模式」 换「CDS 模式 · 同伴频道版」
重复安装报 ambiguous-install 同一目标已装 正常现象,重启即可
装了新版没变化 插件不自动更新 先卸载再装新版,然后重启
缓存命中率突然变低 语料被改过(前缀变了) 看包内 cds/CHANGELOG.md 的缓存影响记录

十一、GitHub 连不上怎么办

这是中国大陆用户最可能卡住的地方,所以单独说。

插件本身不需要联网(零外部依赖、语料随包自带)。但前三种安装方式都要访问 GitHub(要 clone 仓库)。

症状

  • Web 界面弹 Cannot access GitHub 或 GitHub connection timed out
  • 命令行里 git ls-remote 或 dsh plugin add 卡住约 22 秒后失败
  • 报错形如 Failed to connect to github.com port 443

怎么办

办法一:给 git 配代理(如果你有代理)

git config --global http.proxy  http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

把端口换成你自己的。配完验证:

git ls-remote https://github.com/DRQRTS/dsh-cds-mode HEAD

能打印出一串 commit hash 就通了。

办法二:改用压缩包方式(不需要代理,最稳)

按第八节的方式四,把 zip 解压到本地目录,让 agent 从绝对路径安装。这条路完全绕开 GitHub 和 npm registry。

顺带说明:npm registry 的国内镜像(npmmirror)帮不了这个问题 —— 它镜像的是 registry 上的包,不镜像 GitHub 仓库。所以「换镜像」对 GitHub 地址无效,这就是 Web 界面会提示 Try another way 的原因。


十二、要如实说明的几点

能保证的

  • 零外部依赖:核心代码只 import Node 内建模块。不会因为某个包解析不到而在你机器上失效(这条是踩过坑之后定死的)。

  • 自带完整验证:包内两套校验脚本共 203 项断言,覆盖结构、接线、可移植性、真实装载。你可以自己跑:

    node _verify3.mjs && node _verify-corpus.mjs
    
  • 语料可核对:node _sync-corpus.mjs --check 会逐字节比对包内语料与源语料。

  • .zip 与 .tgz 内容逐字节一致,两种格式都用独立解压器验证过。

要如实说明的

  • 「同伴频道版」依赖两个实验包(dsh-experimental-agent-team / dsh-experimental-tool-agent-team)和一个实验 UI 包。它们无稳定性承诺;上游若破坏性变更,那张卡可能激活失败。这不影响「CDS 模式」(保底卡)。
  • 同一批并发上限 8 个实例。这是刻意的,不是缺陷。
  • 本包按 DSH 0.2.0-rc.2 开发。换 DSH 大版本前,请先跑一遍上面的验证脚本。
  • 四个功能面尚未在真实会话中做端到端验证:预设不标红、子 Agent 角色扮演、提问走工具、同伴频道界面与队友互发。203 项断言覆盖的是"接线对、语料全、能装载",不是"跑起来好用"。第一次用建议按第九节的三步验一遍。

关于安全模式的边界

  • 反击执行(I-web5)有准入七项,缺一项直接拒收,不接受"先做后补""口头同意""情况紧急"。
  • 还有一份**"绝对不做"清单**:入侵、破坏、DDoS、植入后门、窃取数据、攻击未列入范围的目标、对自然人报复 —— 无论授权书写得多宽,都不做。
  • 理由很简单:授权可以扩大"允许做什么",但不能把犯罪行为变成合法行为。

十三、想改点什么

改语料:包内 cds/ 就是全部规范文本。改完重启。

用自己的语料库:把 cds/ 复制到别处,在 cordis.patch.yml 的 cds-mode 行加 corpusDir 指向它。

别打开 liveReload:它会在语料变化时改写系统提示前缀,打掉本会话的提示词缓存。这个模式很在意缓存命中 —— 改了语料就重启,别靠热重载。

卸载:plugin_manager action: remove_bundle target: @local/dsh-cds-mode。卸载后预设卡片消失,系统提示恢复默认。你的项目产物不受影响(它们在你的项目工作区里)。


十四、文件在哪

dsh-cds-mode/                 ← GitHub 仓库根目录(也是 bundle 根目录)
├── README.md                 ← 中文(默认,本文件)
├── README.en.md              ← English
├── README.ja.md              ← 日本語
├── INSTALL.md                ← 安装与故障排查(偏操作)
├── LICENSE                   ← MIT 许可证正文
├── package.json              ← 包定义:名称、版本、dsh.bundle.patch 指向
├── index.js                  ← 插件本体,约 400 行,零外部依赖
├── cordis.patch.yml          ← 预设与挂载配置(两个预设 + 同伴频道行)
├── icon.svg                  ← 图标源文件:单色 currentColor,跟随主题
├── icon.png                  ← 图标位图 512×512(浅底用,透明背景)
├── icon-dark.png             ← 图标位图 512×512(深底用,透明背景)
├── icon-64.png               ← 图标位图 64×64
├── locale/                   ← 界面上显示的名称与描述
└── cds/                      ← 全部规范语料(90 个文件)
    ├── CORE.md                  运行契约:九条铁律、状态机、门禁、委任协议、编排纪律
    ├── README.md                模式总入口与人格总览
    ├── CHANGELOG.md             变更记录(含每次缓存失效登记)
    ├── personas/                晨 + 21 个人格委任书 + 5 份组索引
    │   └── web/                 网络安全模式的 36 份(含 chen-web)
    ├── workflow/                5 条工作流(新项目 / 接手 / 迭代 / 熔断 / 网络安全)
    ├── protocol/                协同协议、产物契约、bug 分类法
    ├── questions/               提问总纲 + 题库(校准 / 新项目 / 接手 / 追问)
    ├── selfrescue/              省钱部分:缓存命中与前缀稳定化
    └── web/                     网络安全工作流的 8 份支撑文档

想深入了解,从 cds/CORE.md 开始 —— 那是运行契约,其余都围绕它展开。

校验脚本(可选,自测用)

仓库里还有几个只用于开发和校验的文件,安装插件用不到它们:

文件 作用
_verify3.mjs 插件层校验:结构、接线、可移植性、真实装载
_verify-corpus.mjs 语料层校验:委任书要素、组特质一致性、死链
_sync-corpus.mjs 语料同步(--check 只比对不写入)
_check-specs.mjs 验证各种安装写法能否被官方解析器接受
_check-icon.mjs 校验图标 SVG:结构、几何、主题跟随
_check-locale.mjs 按字节检查 locale JSON(防编码损坏)
_compare-extract.mjs 比对"解压产物 vs 源"是否逐字节一致
_patch-reader.mjs 零依赖的 patch 结构读取器
_zip.mjs 零依赖的 ZIP 写入器
_pack.mjs 打包出 .zip 与 .tgz

你可以自己跑前两个(共 228 项断言):

node _verify3.mjs && node _verify-corpus.mjs

语言: English · 简体中文 · 日本語

—/ 5

No ratings yet

Verified DSH bundle

Commit dbaa9fa9eead

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout