前言¶
DSH 的理念是“一切皆插件”。在开发智能体时,确保 Agent 始终遵守全局指令是一个常见痛点。将指令注入历史消息有时会被压缩,而将指令注入系统提示的特定位置则更可靠。dsh-global-rules 插件维护一份用户拥有的规则列表,并将其注入到每一次请求的系统提示中,强制 Agent 在回答前逐条核对。
核心功能¶
- 三种修改入口:通过设置页的可视化界面、命令行工具
/rules或 Agent 可用的global_rules工具修改,三者修改的是同一份数据。 - 存储位置:规则存储在
$DSH_HOME/dsh-global-rules/rules.json。 - 注入位置:每次请求都会重新装配系统提示,将规则插入到第 100 位(部署人设之后、工具说明之前)。
安装¶
使用 pnpm 将插件安装到指定 profile 目录。插件名为 dsh-global-rules。
pnpm add https://github.com/IHS470/dsh-global-rules/archive/refs/tags/v1.0.0.tar.gz --dir <profile>
安装后需在 profile 配置中将其加入 bundle 列表。
使用方式¶
命令行¶
使用 /rules 命令快速操作。
/rules # 查看当前规则
/rules add <文本> # 新增一条
/rules remove <序号> # 删除第 N 条
/rules clear yes # 清空全部
/rules on | off # 启用 / 停用注入
/rules check on | off # 回答里显示 / 不显示规则检查行
/rules help # 用法说明
Agent 工具¶
Agent 可以调用 global_rules 工具。
| action | 参数 | 作用 |
|---|---|---|
list |
— | 列出规则与开关状态 |
add |
text |
追加一条 |
update |
index / id, text / ruleEnabled |
改内容或单条启停 |
remove |
index / id |
删除一条 |
clear |
— | 清空全部 |
replace |
rules: string[] |
整份替换 |
configure |
enabled / acknowledge |
总开关与可见检查 |
界面¶
进入设置页 → 全局规则。
注入逻辑与配置¶
插件会向系统提示注入一段文本,要求 Agent 在回答前逐条核对。
- 启用/停用注入:通过设置页或命令控制。
- 显示规则检查:默认关闭。打开后,每次回答末尾会附一行核对结果
规则检查:已核对 N 条。
限制与存储¶
- 数据限制:每条规则最多 2000 字,最多 200 条。
- 存储格式:写入是严格的(不会把空规则或超限内容写进去),读取是宽容的(某条坏掉只丢那一条)。
- 日志隔离:规则清单不进入会话日志,它是部署级配置,不是对话内容。
- 保证范围:插件只保证规则“送达”,不保证 Agent “遵从”。
注意事项¶
- 推理通道对系统提示中段用户规则的遵从度明显低于回答本身。
- 修改规则措辞对控制推理语言效果有限,必要时建议开新会话。