dsh-consult
已验证dsh-consult · v0.1.0 · MIT
Explicit, evidence-first multi-model consultation for DeepSeek Harness
安装
dsh plugin add dsh-consult 用 dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南。
源码
标签
作者
说明文档
dsh-consult
English · 简体中文
关键决策,多听几种真正不同的声音。
dsh-consult 是为 DeepSeek Harness 打造的多模型“专家会诊”插件,在主 Agent 真正需要判断的时刻,为它组织一场有边界的委员会咨询。
/consult 先完成实现和测试,再请多个独立模型评审这个方案是否适合发布。
主 Agent 仍然负责探索 workspace、修改代码和运行验证;到了决策关口,插件把同一份证据、同一个问题, 同时交给 2–5 个由你配置的模型。主 Agent 最后综合匿名意见,并对交付结论负责。
不是更多人干活,而是更多人帮助判断
很多 subagent 或 agent team 的工作方式,可以类比为同一个人戴上不同的帽子:一个关注架构, 一个检查测试,一个负责实现。它们从不同角度拆解任务,擅长扩大探索范围和执行吞吐。
dsh-consult 采用另一种思路:不同的人,看同一份材料,站在同一个决策关口,回答同一个问题。
顾问之间不分工、不共享讨论过程,也不互相说服;我们要保留的,正是不同模型独立判断后产生的差异。
| Agent team / subagent | dsh-consult | |
|---|---|---|
| 主要解决 | 怎么把工作并行做完 | 这个判断是否可靠 |
| 组织方式 | 不同角色、不同子任务 | 不同模型、同一问题 |
| 上下文 | 各取所需,持续探索 | 同一份精选证据包 |
| 工具权限 | 通常可以读写和执行 | 无工具、无 history、无 workspace 权限 |
| 最终产物 | 多份执行结果 | 多份独立意见,由主 Agent 综合 |
| 成本形态 | 随执行过程持续增长 | 只在显式咨询点产生 |
这并不是要替代 agent team,而是在区分两类问题:执行需要负责人,关键决策才需要委员会。
以现在的 Agent 能力,方向确定后,编码、修改、测试和验收通常可以由一个主 Agent 连贯完成;
如果把委员会也做成一组拥有工具、持续协作的 Agent,往往会额外支付上下文、工具调用和协调成本。
dsh-consult 因此只把多模型能力用在最有价值的地方——挑战判断,而不是重复劳动。
哪些时刻值得咨询?
- 两种架构都说得通,但长期维护成本不同;
- 安全、隐私或数据边界可能被忽略;
- 改动已经完成,需要一次独立的发布前评审;
- 失败模式复杂,单一模型可能对自己的方案过于自信;
- 取舍涉及性能、复杂度、兼容性与用户体验,无法只靠一个指标决定;
- 你想确认当前结论是否只是某个模型的偏好。
对于改文案、修明确的小 bug、执行已经确定的步骤等日常任务,通常没有必要咨询。咨询应当是一个 高价值、低频率、由用户决定的检查点,而不是每轮对话的默认开销。
一次咨询如何发生
flowchart LR
U["用户指定咨询任务"] --> A[主 Agent 探索、实现、验证]
A --> P[整理同一份证据与问题]
P --> C1[模型 A 独立判断]
P --> C2[模型 B 独立判断]
P --> CN[模型 C–E 独立判断]
C1 --> S[主 Agent 比较并综合]
C2 --> S
CN --> S
S --> R[给出最终结论]
这条流程有几个刻意设置的边界:
- 显式发起:只有用户输入
/consult <task>才会创建咨询; - 先做功课:主 Agent 必须先完成必要的探索和验证,再准备证据;
- 公平比较:每个顾问收到完全相同的 prompt 和 evidence packet;
- 独立作答:顾问并行调用,不辩论、不投票,也看不到彼此的答案;
- 匿名综合:主模型只看到
Consultant A/B/...,避免品牌和模型名称影响判断; - 主 Agent 负责:意见不是证明,最终取舍、执行和验收仍由主 Agent 完成;
- 成本可控:顾问数量、模型、超时、输出长度和意见大小均由部署方限制。
快速开始
需要 Node.js >=22.19.0、一个兼容的 DeepSeek Harness 版本,以及至少两组已经在 DSH 中配置好的
模型服务(每组由 provider 和 model 共同确定)。
1. 安装
把 bundle 安装到你使用的 profile(通常是 web):
dsh plugin --profile web add dsh-consult
如果你通过包执行器启动 DSH,也可以直接运行:
pnpm dlx @deepseek-ai/dsh plugin --profile web add dsh-consult
2. 选择顾问模型
插件安装后默认休眠,不会产生任何模型调用。在 ~/.dsh/profiles/web/cordis.patch.yml
(或 DSH_HOME 下对应的 profile 文件)加入下面的最小配置:
- id: consult
config:
consultants:
- provider: "<provider-id-a>"
model: "<model-id-a>"
- provider: "<provider-id-b>"
model: "<model-id-b>"
请把 <...> 占位符替换成 DSH 中的实际 ID:provider-id 是模型服务的标识,
model-id 是该服务下的模型标识。两个 provider-id 可以相同,例如可以从同一个模型服务选择
两个不同模型;真正不能重复的是完整的 provider + model 组合。上面是两位顾问的最小配置,
你也可以按相同格式继续添加,最多配置五位顾问。API key 仍由 DSH 的 settings 与 credentials
机制管理,dsh-consult 不读取也不保存密钥。其余选项均可省略,插件会使用默认值;需要调整时
再显式填写。完整配置见配置指南。
检查配置并启动:
dsh --profile web --dump-config
dsh web
3. 在关键节点发起咨询
/consult 评审当前缓存失效方案。先检查实现和测试,再判断是否适合发布。
主 Agent 会照常工作,并在证据准备好后调用一次 consult。仍处于等待状态的咨询可以用
/consult off 取消。
你仍然掌握控制权
- 顾问来自你配置的 provider/model,可以为不同模型指定不同 reasoning effort;
- 2–5 个顾问并行执行,总等待时间通常取决于最慢的 route,而不是所有耗时相加;
- 所有顾问成功时结果为
complete,至少一份有效意见时为partial; - provider、model、用量、耗时和原始失败仅写入 model-hidden 诊断事件;
- 咨询状态与交付过程会持久化,恢复 session 时不会悄悄重复已经开始的外部调用;
- Native Tool、Code Mode 和
ctx.consult.run(...)service API 均受同一套显式 intent 约束。
数据与安全边界
证据包会被完整发送给每一个已配置的顾问模型,同时写入 DSH session event log。 当前版本不会自动探测、裁剪或脱敏 secret。请求咨询前,请分别确认:
- 这些内容适合发送给所有顾问 provider;
- 这些内容适合随 session 日志在本地持久化、导出或备份。
顾问无法自行读取 workspace,也不能调用工具;证据帧会被标记为不可信数据。但这些隔离措施并不能 让原本不应外发的秘密变得安全。生产部署前请阅读安全与数据流指南。
已验证的兼容版本
DeepSeek Harness 仍处于 developer preview,RC 之间可能发生不兼容变化。因此本项目不笼统承诺 一个开放式预发布范围,而是明确列出并持续测试:
0.1.0-rc.70.1.0-rc.80.1.1-rc.10.1.1-rc.2
开发基线为 0.1.1-rc.2。CI 在 Node 22.19 上覆盖全部四个版本,并在 Node 24 上复测当前基线;
另有非阻塞任务监控 DSH next。通过 next 监控并不会自动扩大支持范围,详情见
兼容性说明。
进一步了解
| 文档 | 适合什么时候阅读 |
|---|---|
| Configuration | 配置顾问、超时、大小限制与 reasoning effort |
| Usage | 了解 intent 生命周期、Code Mode 与 service API |
| Security | 上线前检查外发、留存和信任边界 |
| Architecture | 理解 fan-out、匿名结果、事件结算与恢复 |
| Compatibility | 查看 Node/DSH 支持矩阵和验证方式 |
| Releasing | 维护者准备 npm 与 GitHub Release |
深层技术文档目前以英文维护,避免两套实现说明随版本演进而产生偏差。
开发与贡献
pnpm install
pnpm check
测试使用真实 Cordis service composition、fake LLM adapter 与 fake Code Runtime bridge,不需要
任何模型凭据。pnpm verify:compat 会在临时环境中运行完整兼容矩阵,不改写当前 checkout。
欢迎阅读 CONTRIBUTING.md 参与贡献。安全问题请按照 SECURITY.md 私下报告。
dsh-consult 目前是面向快速演进中的 DSH developer preview 的早期公开版本。生产环境请固定
使用已验证的 DSH 版本,并在升级前阅读 CHANGELOG.md。