前言¶
DeepSeek Harness(DSH)本地插件,由 jackeyunjie 維護。插件將分散在各層的規則文件(AGENTS.md、rules/*.md)進行統一管理,提供加載可視化、預算治理、硬攔截與合規性審計能力。
核心功能¶
- 分層規則發現與注入
- 寫回防護
- FORBID 硬規則
- 規則 Lint
- 注入日誌與遵守率
- Web 面板
安裝與啓用¶
- 確保環境 Node >= 22。
- 在插件目錄執行
npm install安裝依賴。 - 掛載到 web profile:
dsh plugin --profile web add link:"$PWD"。 - 驗證配置:
dsh --profile web --dump-config | grep -A3 rule-lens。 - 啓動 DSH:
dsh --profile web,訪問面板http://127.0.0.1:3080/rule-lens。
配置與規則寫法¶
YAML 配置¶
全局開關存儲於 ~/.dsh/settings.yaml:
rule-lens:
writeGuard: true # 寫回防護開關
budgetBytes: 65536 # 注入預算(字節)
whitelistDirs: ['.cursor'] # 白名單目錄
FORBID 硬規則寫法¶
在任何被加載的規則文件裏寫一行:
FORBID: write *.env
FORBID: * **/secrets/**
FORBID: bash *rm -rf*
工具名 glob 匹配 exec.name(如 write、bash),路徑 glob 同時匹配原始參數、絕對路徑、相對路徑。
分層規則注入機制¶
插件按層級與順序注入規則,多文件按數字前綴排序(00-*.md 先於 01-*.md):
- L1:~/.agents/AGENTS.md,會話啓動即注入。
- L2:~/.agents/rules/*.md,會話啓動即注入。
- L4:<工作區>/.agents/rules/*.md,會話啓動即注入。
- L5:<子目錄>/rules/*.md,在該目錄首次被 read/write/edit 觸達後按需注入。
預算治理¶
注入預算默認 64KB。當內容超限時,從作用域最寬的文件開始淘汰(L1 優先),淘汰會寫日誌並在面板告警。
日誌與合規¶
- 日誌路徑:
~/.dsh/rule-lens/log.jsonl、compliance.jsonl。 - 面板功能:展示各層狀態、預算條、Lint 結果、遵守率、預熱開關及日誌下載。
生態與鏈接¶
- 依賴僅限
@deepseek-ai/*peer 與 Node 內置模塊,零構建、純 ESM。 - GitHub:https://github.com/jackeyunjie/dsh-rule-lens
- 目錄:https://www.skillhub.cn/plugins/jackeyunjie/dsh-rule-lens