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 工作流裏。

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

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

小夜