dsh-rules:把 agent 准则收成一份可审计的规则库

前言

在 DSH 里跑 agent,准则往往散在多处:AGENTS.md 手写段、项目级 AGENTS、技能包、经验库、style-packs。改一处不一定处处生效,冲突也难系统化排查。若只靠每次对话临时粘贴长规则,既占上下文,又缺少「谁覆盖谁、哪些该常驻、哪些按任务按需加载」的明确机制。

下面介绍社区插件 dsh-rules(维护者 xulei666a,GitHub:xulei666a/dsh-rules)。它在 DSH 侧提供统一规则层:本地规则库、适用面(默认常驻 / 局部按任务域)、语义路由、分类树,以及管理页与面板内助手;生效规则还可同步到 ~/.dsh/AGENTS.md 顶部托管段,与手写内容分离。插件分类为「工作流」,许可证 MIT,当前公开版本 1.1.1(见仓库 README)。社区目录页:skillhub.cn/plugins/xulei666a/dsh-rules——该站点为独立社区目录,与 DeepSeek / 幻方无官方从属关系。

这是什么

dsh-rules 是 DSH 的「统一准则 / 规则层」插件:把 agent 可用的准则收到 一份规则库(~/.dsh/rules/rules.jsonl,每行一条),统一管理、统一生效,并支持审计、导出、回滚与改动历史。

规则带 scope / category / key / value / priority / tags / source / status 等字段;适用面分为 default(默认常驻,进 AGENTS 托管段,体积可控)和 local(按任务域语义路由,不占常驻预算),另有会话级「本对话生效」。插件提供 23 个模型工具、23 条宿主 HTTP 路由,以及单文件 HTML 管理页、右栏「统一准则」页签和面板内助手。

核心功能

规则库与 AGENTS 托管段

生效规则通过 rules_sync 或面板「同步到全局」写入 ~/.dsh/AGENTS.md 顶部,包在 <!-- dsh-rules:begin ... end --> 托管段内;手写段不受影响。同步采用摘要模式(中文名称 + 截断值),改动前自动备份,可回滚。

同 key 只取 active 一条,按 priority 降序与 scopeRank 排序;冲突在 rules_audit 与「问题台账」中报告。

读取规则与来源闸口

「读取规则」扫描 ~/.dsh/AGENTS.md 手写段、EXPERIENCE.md、项目 AGENTS.md、用户技能、插件自带技能、style-packs 等,增量收录并去重。rules_collect 支持 dryRun、重置抑制清单;另有来源账、批量提取提案、合并去重与覆盖审计。

适用面与会话覆盖

coverage 为 default 或 local(配合 appliesTo 任务域)。rules_session 支持 pin/unpin/set/clear,会话级生效数据在 ~/.dsh/rules/session-overrides.json(7 天 TTL)。

语义路由与分类树

语义路由分 A 档(零依赖)与 B 档(可选本地 embedding,向量缓存在 ~/.dsh/rules/embeddings.json)。rules_route 按任务描述命中领域与相关规则;若同一决策点多个生效选项并存,返回 hasBranchConflict,助手需停让用户选,面板支持「本次用这套」等会话级分支选择。

分类树有基准 5 大类(产出交付 / 记忆与底线 / 工作方式 / 工具与环境 / 待复核),可任意层级、多套方案;支持副本机制(同一准则可出现在多个文件夹,编辑仍指向同一条数据)。

问题台账与面板助手

问题台账按归属分组:待复核、冲突、同标题多条、重复内容、来源失效、抑制清单、字段异常、适用面等;通过助手汇报并给处理建议。

面板「助手」驱动真实 DSH 会话(归入「准则会话分组」),职责写在 ~/.dsh/rules/ASSISTANT.md;可批量操作、导入技能、起草规则、个性化分类、校准与排错,完成后面板自动刷新。

CLI 与自检

仓库提供 scripts/cli.mjs 与离线自检 scripts/selftest.mjs(110 项,临时 HOME,不碰真实规则)。Node 要求 >=20。

安装与启用

推荐:插件市场

  1. 打开 DSH 侧栏 Plugins → 市场。
  2. 搜索 dsh-rules 并安装。
  3. 重启 DSH。

本地开发版(link) 需在 ~/.dsh/profiles/<profile>/package.json 增加依赖,并把 dsh-rules 加入 dsh.profile.bundles;插件目录还需将 node_modules/@deepseek-ai/{dsh-tools,cordis,schemastery} 指向宿主包 junction,然后重启 DSH。细节见仓库 docs/QUICKSTART.md。

安装前建议自行查看 GitHub 源码 与 MIT 许可证。插件以当前 DSH 进程权限读写 ~/.dsh/rules/ 与 AGENTS 等路径,请确认环境可信。

典型用法

经过上面的安装步骤后,可按 README 快速开始流程操作:

  1. 重启 DSH,打开右栏 统一准则 页签,或访问 http://127.0.0.1:<DSH端口>/dsh-rules/ui。
  2. 首次打开是空库(不预置准则)。可点「读取规则」从现有来源收录,或对助手说「记一条…」。
  3. 若需载入通用示例:在 ~/.dsh/rules/config.json 写入 {"seedDefaults": true},删除 rules.jsonl 后重启。
  4. 打开 助手,例如说「检查一下准则库」「帮我校准待复核」「按我的习惯重新分类」。
  5. 要让规则立刻对所有会话生效:执行 rules_sync 或面板「同步到全局」,必要时再重启 DSH。

命令行示例(在插件目录下,PowerShell 风格与 README 一致):

node scripts/cli.mjs list
node scripts/cli.mjs audit
node scripts/cli.mjs issues
node scripts/cli.mjs collect --dry-run
node scripts/cli.mjs resolve "做一份 PPT"
node scripts/cli.mjs sync
node scripts/cli.mjs groups show default

常用数据路径:

~/.dsh/rules/rules.jsonl
~/.dsh/rules/groups.json
~/.dsh/rules/ASSISTANT.md
~/.dsh/rules/history.jsonl

适用场景与注意

适合谁:长期在 DSH 里维护多套 agent 准则、希望「一处改、可审计、可路由」的开发者;需要把分散在 AGENTS / 技能 / 经验库里的条目收成库,并用问题台账做校准的人。

已知限制(仓库 README 原文):

  • 改写源文件后重新读取会新增新版、旧版保留,需手动删旧。
  • 修改规则「内容」不会被读取自动纠正(key 未变时按内容去重会跳过)。
  • 标题按首句截断,可能出现同来源同标题的不同规则。
  • AGENTS.md 超出宿主上下文预算(约 64KB)时,托管段仍在顶部,手写尾部可能被截断。

结尾

dsh-rules 把分散准则收到 ~/.dsh/rules/rules.jsonl,用默认 / 局部适用面控制常驻体积,用语义路由与分类树组织局部规则,并用 AGENTS 托管段与 23 个模型工具把「查、改、同步、审计」接到 DSH 工作流里。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye