dsh-rules-manager:在 DSH 里统一管理规则、斜杠命令与技能

前言

在 DeepSeek Harness(DSH)里做智能体开发,全局规则写在 AGENTS.md,斜杠命令来自各插件,技能装在 skills/ 目录。分散编辑时容易漏改、难备份,自定义快捷指令也往往要手改 JSON。dsh-rules-manager 把规则维护、/rules 操作入口、设置页里的可视化面板、用户自定义命令和技能启停删收拢到一处;规则改动会先备份再写入,并与 DSH 热加载衔接。下面按定位、能力、安装与用法说明。

这是什么

dsh-rules-manager 是维护者 jilian-dsh 发布的 DSH 工作流类插件(当前版本 1.7.0,MIT 许可)。它面向「规则 + 命令 + 技能」三件套的本地管理:提供聊天框 /rules 斜杠命令,以及在 DSH 设置中的 「规则、命令与技能」 面板(1.7.0 起设置页 client 已并入本包,不再需要单独的 dsh-rules-manager-client)。

规则正文保存在 $DSH_HOME/AGENTS.md(Windows 下 $DSH_HOME 一般为 %USERPROFILE%\.dsh)。README 说明任何经本插件或 /rules 的修改会实时生效(DSH 自动热加载),且在每次修改前会自动备份,并支持一键恢复到历史备份时刻。

核心功能

规则(AGENTS.md)

能力 入口
列出 / 查看 / 新增 / 修改 / 删除 / 禁用 / 恢复 /rules 或 设置 → 规则、命令与技能 →「规则」

规则按分区组织,可在面板中全文可视化编辑。删除后编号不复用,避免引用错乱。

执行等级

每条规则标题可带执行等级(如 (执行等级:A+D)),决定规则引擎对工具调用的强制程度:A 硬拦违规调用,B 审计与提醒,C 按事件顺序拒绝,D 自证说明,M 元规则;可组合。新增规则时若标题未写等级,会自动补 (执行等级:D)(仅自证、不硬拦);需要硬拦应在标题中写明含 A 的等级。与 dsh-rule-engine 联动时,仅标题带等级且含 A/C/M 的规则会在工具层硬拦。

自由区域(Free Zone)

AGENTS.md 中由 <!-- free-zone:start --> / <!-- free-zone:end --> 框住的区段:模型可读、正常生效,但规则引擎不解析、不强制。区内条目格式为 ### [规则 F<n>]。/rules add 会自动插入到 free-zone 标记之前,不会把普通规则加进自由区;新增自由区条目需手动编辑文件(若装有 rule-engine,需先 /guard unlock)。

命令清单与自定义命令

  • 命令:只读展示当前环境可用斜杠命令(名称 / 说明 / 用法)。
  • 自定义命令:在设置页定义名字与预设内容;聊天框输入 /名字 即将预设发给 AI。支持禁用 / 启用(禁用后斜杠不可用、内容保留)。命令名须匹配 /^[a-z][a-z0-9_-]*$/,且不能与系统命令同名。

带参数时三条规则(README 迭代③):

  1. 预设含 {input} → 参数替换每一处 {input};无参数时提示用法、不发送残缺内容。
  2. 无 {input} 且有参数 → 参数追加到预设末尾(换行分隔)。
  3. 无 {input} 且无参数 → 只发预设本身。

示例:预设 请用一句话总结:{input},输入 /summarize 本周工作进展,则发送「请用一句话总结:本周工作进展」。

技能管理

在「技能」中查看已安装技能(名称、简介、全文),可禁用(移出技能目录、内容保留)、启用(搬回)、删除(移入 ~/.dsh/.backups/trash-<时间戳>/,可恢复)。README 注明禁用 / 删除后需重启 DSH 才能完全生效。

备份与恢复

每次修改 AGENTS.md 前备份到 $DSH_HOME/.backups/AGENTS.md-<时间戳>.bak;默认保留最近 5 份,超额备份在打开「备份与恢复」页时移入回收站。恢复前会再备份当前文件(双保险)。

技能使用统计与上下文注入

插件记录各技能使用次数(能力参考社区插件 dsh-skill-scoreboard,MIT)。设置页技能卡片显示「用过 N 次」;count 为按会话去重,loads 为每次成功加载计数。可通过配置 injectEnabled(默认开)、injectTopN(默认 25)、injectMaxChars(默认 4000)控制对话开始前向 agent 注入「技能名 → 路径」摘要(每 agent 仅注入一次)。只读接口:GET /api/rules-manager/skill-usage。

安装与启用

运行环境:Node >= 22;package.json 声明 dsh 兼容 >=0.1.0-rc.3 <0.3.0-0。

推荐方式为一键 bundle 安装(web profile):

dsh plugin --profile web add dsh-rules-manager

安装后 DSH 会加载包内 cordis.patch.yml,挂载 host 命令与 Remote 服务;重启 DSH 后设置页出现「规则、命令与技能」,聊天框可用 /rules。

卸载:

dsh plugin --profile web remove dsh-rules-manager

也可在 $DSH_HOME/profiles/web 下 npm install dsh-rules-manager 并手动改 cordis.patch.yml,或按仓库 README 拷贝源码装配;与 bundle 方式二选一即可。

典型用法

聊天框维护规则(| 或全角 | 分隔标题与正文):

/rules                    列出全部规则
/rules show 2             查看规则 2 全文
/rules add 我的规则|这是正文  新增规则
/rules edit 2 新正文       修改规则 2 正文
/rules delete 3           删除规则 3
/rules health             规则体检(条数、分区、重复标题等)

自由区规则示例:/rules show F1、/rules edit F1 新正文、/rules delete F1(1.4.3 起支持字母编号)。

自定义命令:在设置页定义 hello = 请热情地欢迎我,聊天框 /hello 即可触发。

适用场景与注意

适合谁:需要长期维护 DSH 全局规则、想用 GUI 管理禁用项、希望自定义带 {input} 的快捷指令,或要在不删文件的前提下禁用 / 回收技能目录的开发者。

权限与边界(README 披露):本插件会读写 $DSH_HOME/AGENTS.md、commands.json、disabled-rules.json,并可能移动 $DSH_HOME/skills/ 下目录;不发起网络请求、不执行系统子进程、不读取 API Key 等凭据。自评权限等级为高,安装前建议阅读仓库「安全设计」并自行审查源码与 MIT 许可证。插件在当前 DSH 进程权限下运行,与社区目录 SkillHub 插件页 一样,属于社区生态收录,并非 DeepSeek / 幻方官方应用商店条目。

已知限制:技能使用统计仅从本插件开始采集后累积;换设备或清空数据目录会重头计数;上下文注入每个 agent 只在首次装载时执行一次。

结尾

dsh-rules-manager 把 AGENTS.md 规则、命令清单、自定义斜杠指令和技能目录操作集中到 /rules 与设置面板,并配上自动备份与恢复,适合作为 DSH 日常运维规则与工作流的第一站插件。

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

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

小夜