前言¶
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 “遵從”。
注意事項¶
- 推理通道對系統提示中段用戶規則的遵從度明顯低於回答本身。
- 修改規則措辭對控制推理語言效果有限,必要時建議開新會話。