DeepSeek Harness 插件

dsh-advisor-slhssb

Independent-model advisory review for DeepSeek Harness: after each tool step, a reviewer model audits the agent's operations and injects concerns/guidance into the next step.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
slhssb/dsh-advisor
最近更新
2026年8月14日
分类
自动化与任务
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/slhssb/dsh-advisor
插件名:dsh-advisor-slhssb
作者:slhssb

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh-CN.md来源说明 · 只读预览
README 语言

dsh-advisor

English | 中文

![npm](https://www.npmjs.com/package/@slhssb/dsh-advisor) ![license](LICENSE)

DeepSeek Harness 提供独立模型 advisory 审查。

每个工具执行步之后,由独立的审查模型审计 agent 最近的操作。发现真实问题时(破坏性/不可逆操作、契约/模式违规、偏离用户明确要求、正确性 bug),向下一轮模型调用注入一条简短的 [advisor] 指导消息,让 agent 自我纠正。操作健全时什么都不注入,审查只消耗一次(廉价的)审查调用。

dsh 本身没有内置 advisor;本插件基于标准的 agent/pre-step waterfall 实现(与 dsh-agent-instructionsdsh-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.yamlapiKeyEnvTOKENRHYTHM_API_KEY 环境变量)——本文件从不存放 key:

- id: advisor
  config:
    provider: tokenrhythm
    model: deepseek-v4-pro
    maxTokens: 512
    maxHistoryMessages: 40
    interval: 1
    timeoutMs: 30000
默认含义
providerdeepseek-official审查 provider 路由(任意 OpenAI 兼容 adapter 可用)。
modeldeepseek-v4-flash审查模型。
maxTokens512审查输出上限。
maxHistoryMessages40发送给审查模型的最新派生消息数。
interval1每隔 N 个含工具结果的步审查一次(1 = 每步)。
timeoutMs30000单次审查超时;超时静默降级。

行上加 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: …
actionwarnwarn 注入提示;block 拒绝该步。
tools全部可选:规则生效的工具名子串列表。
enabledtrue禁用但不删除规则。

非法规则(缺字段、坏正则)会被跳过并记录警告;错误配置的规则永远不会阻塞 agent。多条 warn 命中合并为一条消息。block 在 LLM 审查之前触发——被阻断的步不跑审查。

工作原理

1. 每次模型调用前触发 agent/pre-step(waterfall)。 2. 插件扫描会话日志找最新的 tool/result 事件。没有,或其 seq 已审过,则放行本步。 3. 否则审查模型接收最近的派生历史 + 审查指令,流式返回。 4. 非空响应包装为 user 消息(source: { kind: 'plugin', plugin: 'dsh-advisor' },文本带 [advisor] 前缀),插入本步 messages 的 claimed 消息之后、system context 之前——与 dsh-agent-instructions 相同的插入点,保证下一轮模型调用一定能看到。 5. 审查失败(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.mjspackage-lock.json。npm 发布经 files 白名单打 lib

发布

已发布到 npm:@slhssb/dsh-advisor;仓库带 GitHub dsh-plugin topic 便于发现。发新版:改 package.jsonversion → 发布 → 打 tag:

npm publish --access public
git tag v0.1.0 && git push --tags