DeepSeek Harness 的独立模型顾问评审
Independent-model advisory review for DeepSeek Harness.
安装
dsh plugin --profile web add github:slhssb/dsh-advisorGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
English | 中文
为 DeepSeek Harness 提供独立模型 advisory 审查。
每个工具执行步之后,由独立的审查模型审计 agent 最近的操作。发现真实问题时(破坏性/不可逆操作、契约/模式违规、偏离用户明确要求、正确性 bug),向下一轮模型调用注入一条简短的 [advisor] 指导消息,让 agent 自我纠正。操作健全时什么都不注入,审查只消耗一次(廉价的)审查调用。
dsh 本身没有内置 advisor;本插件基于标准的 agent/pre-step waterfall 实现(与 dsh-agent-instructions、dsh-compaction-basic 相同的注入通道)。
安装
dsh plugin add @slhssb/dsh-advisor
或加入 profile 的 package.json:
"dependencies": { "@slhssb/dsh-advisor": "^0.1.0" },
"dsh": { "profile": { "bundles": ["@slhssb/dsh-advisor"] } }
然后在 profile 目录执行 npm install(或 pnpm install)并重启 dsh。
配置
默认目标为 DeepSeek 官方 API(deepseek-official provider)与廉价的 deepseek-v4-flash 模型。API key 不由本插件管理:deepseek-official adapter 按请求从 DEEPSEEK_API_KEY 环境变量或凭据存储解析。
默认值无需覆盖——即 DeepSeek 官方 API(deepseek-official/deepseek-v4-flash)。要换审查 provider,在 profile 的 cordis.patch.yml 中覆盖(后写覆盖先写)。以下示例把审查路由到第三方中转:API key 由该 provider 的 adapter 解析(此处按 settings.yaml 的 apiKeyEnv 取 TOKENRHYTHM_API_KEY 环境变量)——本文件从不存放 key:
- id: advisor
config:
provider: tokenrhythm
model: deepseek-v4-pro
maxTokens: 512
maxHistoryMessages: 40
interval: 1
timeoutMs: 30000
| 键 | 默认 | 含义 |
|---|---|---|
provider |
deepseek-official |
审查 provider 路由(任意 OpenAI 兼容 adapter 可用)。 |
model |
deepseek-v4-flash |
审查模型。 |
maxTokens |
512 |
审查输出上限。 |
maxHistoryMessages |
40 |
发送给审查模型的最新派生消息数。 |
interval |
1 |
每隔 N 个含工具结果的步审查一次(1 = 每步)。 |
timeoutMs |
30000 |
单次审查超时;超时静默降级。 |
行上加 disabled: true 可整体关闭;留空 provider/model 则回退到当前请求路由(agent/session 请求头,再退 agent options)。
规则(确定性检查)
除 LLM 审查外,rules 提供零成本、确定性的检查:用正则匹配最近一次工具调用(工具名 + 参数 JSON)。规则不会失败、不消耗 token;warn 规则向下一步注入 [advisor] Rule check: 消息,block 规则直接拒绝该步(显式开启,默认 warn)。
- id: advisor
config:
provider: deepseek-official
rules:
- id: no-recursive-delete
pattern: 'Remove-Item|rm\s+(-rf|-r\s*-f)|del\s+/[sq]'
message: '检测到破坏性删除命令,请确认目标路径与用户授权。'
action: warn # 或 block
tools: ['pwsh', 'bash'] # 可选:只对这些工具名生效
enabled: true # 可选,默认 true
| 键 | 默认 | 含义 |
|---|---|---|
id |
— | 规则标识(触发时记录日志)。 |
pattern |
— | 大小写不敏感的 JS 正则,匹配 工具名 + 参数。 |
message |
— | 注入文本 [advisor] Rule check: …。 |
action |
warn |
warn 注入提示;block 拒绝该步。 |
tools |
全部 | 可选:规则生效的工具名子串列表。 |
enabled |
true |
禁用但不删除规则。 |
非法规则(缺字段、坏正则)会被跳过并记录警告;错误配置的规则永远不会阻塞 agent。多条 warn 命中合并为一条消息。block 在 LLM 审查之前触发——被阻断的步不跑审查。
工作原理
- 每次模型调用前触发
agent/pre-step(waterfall)。 - 插件扫描会话日志找最新的
tool/result事件。没有,或其 seq 已审过,则放行本步。 - 否则审查模型接收最近的派生历史 + 审查指令,流式返回。
- 非空响应包装为
user消息(source: { kind: 'plugin', plugin: 'dsh-advisor' },文本带[advisor]前缀),插入本步 messages 的 claimed 消息之后、system context 之前——与dsh-agent-instructions相同的插入点,保证下一轮模型调用一定能看到。 - 审查失败(LLM 错误、超时、空输出)记录 warning,不注入,并推进已审 seq 标记,同一批不会在下一步重试。agent 主流程永不被阻塞。
注入的 [advisor] 消息是普通 user/message 日志条目;它们永不产生 tool/result 事件,因此审查不会递归自触发。
开发
npm install
npx tsc -p tsconfig.json
node test/smoke.mjs # 手写 fake,无网络
lib/ 已提交进 git(git 安装的消费者无需构建即可使用);gitignore 只排除 node_modules/、test/smoke.mjs、package-lock.json。npm 发布经 files 白名单打 lib。
发布
已发布到 npm:@slhssb/dsh-advisor;仓库带 GitHub dsh-plugin topic 便于发现。发新版:改 package.json 的 version → 发布 → 打 tag:
npm publish --access public
git tag v0.1.0 && git push --tags
原始 README: https://github.com/slhssb/dsh-advisor/blob/main/README.zh-CN.md ↗
同类插件
查看全部 →
dsh-anchored-standard
两阶段 DeepSeek Harness 预设:先 Minimal 对齐的 bootstrap,再切完整 Standard 工具(Project2 98/99)

PicGo-Core
极致的图片上传引擎,CLI 与 API 双支持

awesome-deepseek-harness
DeepSeek Harness(DSH)及其优秀社区插件的精选指南。

awesome-deepseek-harness
DeepSeek Harness (DSH)生态系统:来自dsh-external/hub和公共dsh-plugin主题的精选插件、工具和基础设施。

AI-Novel-Writer
本地优先 AI 小说创作工作台,提供 Windows/macOS 桌面版与 DeepSeek Harness 插件开发预览,支持角色、大纲、章节蓝图、审稿修稿和本地模型。

mcp-for-stata
MCP-for-Stata:把 Stata 集成进你的 agent