dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DeepSeek Harness 的 advisor 策略模式插件:让便宜快速的执行模型继续跑主线,在关键节点把整段会话交给更强的审查模型,拿回 plan / correction / stop signal 后继续执行。
dsh-advisor-plugin 解决的是一个结构性问题:同一个模型既写代码又验代码,很容易“证明自己是对的”。长链路 Coding Agent 常见的三类失效——自验证盲区、长程漂移、过早宣告完成——都可以用“独立第二意见”来缓解。
它提供两条互补通道:
advisor(),整段会话与工具清单自动转发给审查模型;所有审查配置都在 DSH 设置页完成,不需要手改配置文件。
advisor() 工具:调用即自动转发整段会话,模型不需要组织上下文。session.deriveMessages() 的真实模型可见面,而不是过期原始历史。patrolImmuneTurns 冷却 + emission-guard 去重,防止过度打扰。search_files / read_file 核实事实,再给建议。disabledForModels 支持 model、provider/model、provider/model@effort 三种语法。advisor() 咨询卡片、巡逻裁决灰/琥珀/红三形态卡片。src/ # host 半(Node / Cordis 插件)
├── index.ts # apply:组装工具/提示段/门控/巡逻/命令/设置
├── advisor-prompt.ts # 咨询/巡逻两套系统提示 + 干预文本
├── config.ts # schemastery schema + 武装解析 + 黑名单语法
├── tool.ts # 零参 advisor 工具 + 专属卡片 + 结果信封
├── history.ts # 工具清单 + deriveMessages + 尾部规则
├── llm-call.ts # 审查调用 / sessionId 透传 / 降级 / 调查循环 / 回显剥离
├── patrol.ts # 巡逻调度 / 裁决解析 / agent.inject 干预
├── patrol-event.ts # 巡逻裁决写入会话事件
├── emission-guard.ts # 归一化 / 空话过滤 / FIFO 去重
├── settings.ts # settings 命名空间接入与活编辑
├── gating.ts # 按 agent 隐藏 advisor 工具
├── prompt-section.ts # 升级守则提示段
├── command.ts # /advisor 命令
└── client/ # 浏览器半
├── index.ts # 注册设置卡片 / 工具行 / 巡逻卡片
├── controller.ts # 设置暂存编辑 + 模型目录
├── AdvisorCard.tsx # 设置页卡片
├── AdvisorToolRow.tsx
├── PatrolNodeView.tsx
├── patrol-chat.ts
├── locales.ts
└── store.ts
docs/ # 技术文章与架构图
scripts/ # 本地开发辅助脚本
完整模块说明见 docs/。
dsh plugin --profile web add dsh-advisor-plugin
安装后重启 dsh web。
git clone https://github.com/leeyoung1/dsh-advisor-plugin.git
cd dsh-advisor-plugin
npm install
./scripts/link-deps.sh
./scripts/mount.sh
link-deps.sh 会把本机 DSH 携带的官方包链接进 node_modules,供类型检查和测试使用;mount.sh 会构建并挂载到本地 web profile。
注意:
npm install会清掉手工链接的@deepseek-ai/*包,重装依赖后需要重新执行./scripts/link-deps.sh。
dsh plugin --profile web add github:leeyoung1/dsh-advisor-plugin
advisor()。也可以在会话里执行 /advisor 查看当前配置和可用 provider/model。
~/.dsh/settings.yaml:
advisor:
enabled: true
provider: example-provider
model: reviewer-model
effort: high
patrolEnabled: true
patrolEverySteps: 6
patrolImmuneTurns: 3
investigate: true
disabledForModels:
- deepseek-v4-pro
- gpt-5.2@high
guidelines: []
provider + model 齐备才会武装;未配置时 advisor 工具对模型不可见,零提示词成本。
执行模型 ──advisor()──▶ 上下文组装 ──▶ 审查模型
▲ │
└──── plan / correction / stop ◀───────┘
适用时机:
agent/request ──每 N 步──▶ 快照 ──▶ 审查模型
│
ON-TRACK / CORRECTION / STOP
▼
会话事件卡片 + agent.inject() 注入下一请求
巡逻不会打断在飞 turn,干预最早落在下一个模型请求。
^22.19 或 >=240.1.5-rc.1 / 0.1.5-rc.2;不承诺更早的 rc / alpha 版本。^22.19 或 >=24。dsh plugin --profile web add dsh-advisor-plugin;裸 npm install 会撞 DSH 官方包的 peer 依赖,这不是插件本身的问题。执行模型 ──advisor()──▶ 上下文组装 ──▶ 审查模型
▲ │
└──── plan / correction / stop ◀───────┘
适用时机:
agent/request ──每 N 步──▶ 快照 ──▶ 审查模型
│
ON-TRACK / CORRECTION / STOP
▼
会话事件卡片 + agent.inject() 注入下一请求
巡逻不会打断在飞 turn,干预最早落在下一个模型请求。
^22.19 或 >=240.1.0-rc.6、0.1.1-rc.2、0.1.2-rc.1、0.1.3-alpha.1;已在 0.1.1-rc.2 上实机验证。enabled 字段时默认 true,不影响升级。enabled: false 时保留已保存的模型配置,但不注册工具与升级守则。dsh plugin --profile web add dsh-advisor-plugin;裸 npm install 会撞 DSH 官方包的 peer 依赖,这不是插件本身的问题。开发验证:
npm run typecheck
npm test
npm run build
当前测试:7 个测试文件、59 个用例通过。
cannot resolve package "dsh-advisor"这是 0.2.1 的旧 bundle patch 导致的:那个版本的 cordis.patch.yml 仍然引用旧包名 dsh-advisor。0.2.2+ 已经改成 dsh-advisor-plugin。
desktop profile):
dsh plugin --profile desktop remove dsh-advisor
dsh plugin --profile desktop remove dsh-advisor-plugin
dsh plugin --profile desktop add dsh-advisor-plugin@latest --registry=https://registry.npmjs.org
dsh --profile desktop --dump-config | grep -A3 dsh-advisor
期望看到:
# == dsh-advisor-plugin
- id: dsh-advisor-plugin
name: dsh-advisor-plugin
cordis.patch.yml 里还残留 - id: dsh-advisor / name: dsh-advisor 行,删掉那一行再重启。