在工具执行前复核动作是否越出当前目标并拦截
31.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yunling-bionic/dsh-rule-guard该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 1 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 的失败即拦截护栏:每次有副作用的工具调用执行前,都会对照项目规则和当前目标做审查。规则来自 AGENTS.md、.dsh/rules.md 或插件数据目录的 RULES.md。中英双语文档。
README
由 DeepSeek 最新模型翻译生成dsh-rule-guard
智能体老是改你没让它改的文件。 这个插件在它动手之前拦住,并把「违反了哪条目标、该怎么改」直接回给它。
在工具真正执行之前插入一次复核:取项目规则 + 当前目标 + 待执行动作,判断该动作是否在当前目标内;不在则拒绝执行,并把违反的目标与修正建议回给模型。
rule-guard 拦截示例
上图为实际运行记录:连续两次 Error: [rule-guard] 这一步不在当前目标之内 ——一次因为改动范围超出指令,一次因为把用户指令里的试探当成了执行请求。
中文 · English
- 版本:0.4.3
- 依赖:DeepSeek Harness ≥ 0.2.x
- 许可:MIT
- 安装:dsh plugin add dsh-rule-guard(或从源码目录 dsh plugin add ./dsh-rule-guard)
一、设计目标
智能体在长任务中容易产生范围外动作:改动未被要求的文件、顺手重构、把构建产物一并纳入修改、偏离当前目标。
本插件在动作落盘之前插入一次独立复核,将这类偏离挡在执行之前。复核由当前会话的模型完成,判定口径与项目规则文件一致。
二、判定原则
判据只有一条:这一动作是否在当前目标之内。
展开完整文档(README 剩余 1 节)
dsh-rule-guard
智能体老是改你没让它改的文件。 这个插件在它动手之前拦住,并把「违反了哪条目标、该怎么改」直接回给它。
在工具真正执行之前插入一次复核:取项目规则 + 当前目标 + 待执行动作,判断该动作是否在当前目标内;不在则拒绝执行,并把违反的目标与修正建议回给模型。
rule-guard 拦截示例
上图为实际运行记录:连续两次 Error: [rule-guard] 这一步不在当前目标之内 ——一次因为改动范围超出指令,一次因为把用户指令里的试探当成了执行请求。
中文 · English
- 版本:0.4.3
- 依赖:DeepSeek Harness ≥ 0.2.x
- 许可:MIT
- 安装:dsh plugin add dsh-rule-guard(或从源码目录 dsh plugin add ./dsh-rule-guard)
一、设计目标
智能体在长任务中容易产生范围外动作:改动未被要求的文件、顺手重构、把构建产物一并纳入修改、偏离当前目标。
本插件在动作落盘之前插入一次独立复核,将这类偏离挡在执行之前。复核由当前会话的模型完成,判定口径与项目规则文件一致。
二、判定原则
判据只有一条:这一动作是否在当前目标之内。
以下内容不作为判据:
- 是否写文件
- 技术风险高低
- 代码风格差异
判决口径为 fail-closed:
| 情形 | 处理 |
| 明确不在目标内 | 拒绝 |
| 复核失败(模型调用异常) | 拒绝 |
| 复核输出不可解析 | 拒绝 |
| 多路判决冲突 | 拒绝 |
本版本不含放行分支(fail-open),亦不提供任何豁免开关。因此表述模糊的指令会被直接拒绝,这是设计取舍:模糊授权不等于授权。
三、送审范围
送审(有副作用的动作)
- 文件写入与编辑(write / edit / str_replace_editor / 脚本内落盘)
- shell 非只读命令(重定向、Set-Content、Remove-Item、装包、起服务等)
- 网络请求、启动子代理、定时任务、桌面操作、office 文档落盘
- 未知工具:默认送审
- 读取工作区之外的路径
免审
- 纯读取,且路径在工作区内
- 只读 shell 白名单(Get-Content、git log 等)
四、使用方式
如需放行,请在指令中同时给出三项信息:做什么、在哪里、为什么。
允许示例:把 E:\SK\视觉\vision_mem_raw.py 的 --win-sec 默认值改为 60,因为瞬时层窗口按 60 秒计算。
拒绝示例:继续 / 优化一下 / 看着办
如需临时放宽力度,应在指令中写明授权范围;插件不提供配置开关:
本轮允许修改 视觉/ 目录下的任何文件,无需逐条确认。
本轮仅执行只读操作,无需复核。
被拒绝时,查看插件目录下的 rule-guard.log:event=deny 的记录包含违反的目标与建议做法。
被拒时的实际样子(会话里直接显示原因,不需要翻日志):
rule-guard 拒绝示例
上图是一次真实拦截:编辑动作被判「不在当前目标之内」,理由里点名了违反的规则原句(改动只碰被要求的文件。不做顺手重构,不改无关文件……);紧随其后的一次导出操作同样被拦。
五、工作原理
挂载于 Harness 的 tools/pre-execute 瀑布钩子,在动作执行前插入一次模型复核(temperature=0):
有副作用的动作 / 未知工具 / 读取工作区外 │ ▼ rule-guard 复核 │ ┌────┴─────┐ ▼ ▼ allow deny │ │ 正常执行 返回错误(违反的目标 + 修正建议),模型修正后重试
复核输入由三部分组成:
1. 项目规则:<工作区>/AGENTS.md、<工作区>/.dsh/rules.md(存在时读取)
2. 当前目标:本会话中用户最近一条指令
3. 待执行动作:工具名、参数,以及脚本正文开头 4 KiB
缓存策略:仅复用「拒绝」判决,按会话隔离,有效期 10 分钟。
六、自定义规则
规则文件由用户掌握,插件只负责读取与执行。定义方式有两种,效果相同:
方式一:手动编辑
在工作区根目录建立并维护 AGENTS.md(或 .dsh/rules.md):
项目规则
- 只修改用户明确要求的文件,不做顺手重构
- 不改动 dist/、build/ 等产物目录
- 依赖变更必须先说明理由
- 提交前必须通过 npm test
方式二:让 AI 按需修改
直接要求 AI 修改该规则文件即可,例如:
把"提交前必须通过 npm test"加进 AGENTS.md 的项目规则里
两种方式的共同前提:规则文件是数据,可以进版本库、可以回顾改动;插件本身不含硬编码的项目规则。
规则来源(0.4.1 起三者同时生效,按顺序拼接后送入复核)
① <工作区>/AGENTS.md 项目自己的规则,可进版本库 ② <工作区>/.dsh/rules.md 同上,二选一即可 ③ <数据目录>/RULES.md 复核机制的通用规则(首次安装生成,可直接改,改了就生效)
0.4.0 的问题:第 ③ 个文件只生成、不读取,按提示改了不生效。0.4.1 已修。
示例见 examples/AGENTS.md。未提供规则文件时,仅按当前目标判断。
首次安装提示:首次加载时通过客户端横幅提示(可关闭,只弹一次),同时在标准插件数据目录生成 RULES.md 与 INSTALL-NOTICE.txt,并向 rule-guard.log 记一条 first-run-notice:
标准插件数据目录(与 dshHomePath('rule-guard') 等价)
Windows %APPDATA%\dsh-desktop\harness\rule-guard\
Linux/mac ~/.dsh/rule-guard/
RULES.md 复核机制的通用规则(首次生成;用户改过则不覆盖) INSTALL-NOTICE.txt 中英文提示原文 .first-run-done 首次标记(存在即不再提示)
横幅由客户端入口 client.js 渲染(注册于 slot shell.overlay),内容为:
rule-guard 已安装 · 规则可以自己定可以自己定规则,方式两种:一是自己手动编辑规则文件;二是直接让 AI 按需要修改这个规则文件。
You can define your own rules. Two ways: edit the rule file by hand, or simply ask the AI
to modify that rule file as needed.
规则文件放在数据目录,不放在安装包内,因此升级插件不会覆盖用户改动。
横幅关闭状态记在浏览器 localStorage(键 dsh-rule-guard:first-run-notice:v1),刷新后不再弹出。
七、日志
插件目录下的 rule-guard.log,每行一条 JSON:
{"ts":"2026-10-31T11:30:00.000Z","event":"deny","tool":"write","session":"sess-abc","call":"call-12","paths":["src/app.ts"],"digest":"","reason":"该写入不在当前目标内","fix":"只修改 README"}
| event | 含义 | 关键字段 |
| plugin-loaded | 插件加载完成 | version |
| allow | 复核通过 | tool paths call |
| deny | 拒绝(含复核失败与不可解析) | reason fix |
| skip | 免审,未复核 | why |
| cache-hit-deny | 同等动作命中缓存拒绝 | paths |
每条记录包含工具名、目标路径、会话 ID、调用 ID 与参数摘要,可用来定位到具体轮次与动作。
常用查询:
Select-String '"event":"deny"' rule-guard.log | Select-Object -Last 5
Select-String 'src/app.ts' rule-guard.log
八、兼容性
- DeepSeek Harness ≥ 0.2.x(依赖 tools/pre-execute、ctx.llm、workingDirectory 服务)
- 已在 DSH Desktop 0.11.1(Harness 0.2.1-rc.2)实测加载
九、成本与限制
- 每次送审增加一次模型调用:约 2–5 秒延迟与少量 token 开销
- 复核使用当前会话的模型,模型能力越强,判定越准确
- 送审范围包含行为类工具、未知工具与工作区外读取
- 判决 fail-closed,表述模糊的指令会被拒绝
- 缓存仅复用「拒绝」,按会话隔离,10 分钟
- 属于软约束:模型可能被措辞误导,不应视为安全边界
十、目录结构
dsh-rule-guard/
├── package.json # dsh.bundle.patch 元数据 ├── cordis.patch.yml # 挂载条目 ├── lib/index.js # 插件实现(无第三方依赖) ├── examples/AGENTS.md # 规则示例 ├── LICENSE └── README.md
License
MIT © 2026 YL(韵铃)预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
yunling-bionic/dsh-rule-guard
在工具执行前复核动作是否越出当前目标并拦截
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
智能体运行框架路由HarnessRouter/harnessrouter
智能体 harness 的统一接口。
★ 3,984已汉化DSH
71.3
这是你的仓库?认领条目