dsh-global-rules:爲 DeepSeek Harness 提供全局規則多文件拆分與 GUI 設置功能

前言

DeepSeek Harness (DSH) 的原生機制在全局層只讀取單一的 AGENTS.md 文件,而項目層支持遍歷多個候選文件。這種不對稱導致全局規則無法像項目規則那樣靈活拆分,往往只能堆砌在一個文件中。

dsh-global-rules 插件通過多文件拆分與設置頁 GUI,填補了這一空白。它允許將全局規則拆分爲獨立的 markdown 文件,並提供可視化的管理界面,解決了全局指令維護困難的問題。

核心功能

本插件主要實現以下能力:

  1. 多文件拆分:在 $DSH_HOME/rules/ 目錄下,每個獨立的 markdown 文件即是一條全局規則。
  2. GUI 管理:提供設置頁 GUI,支持規則的增刪改、暫停與啓用。
  3. 優先級排序:支持 P0-P3 四檔優先級。高優先級規則(P0)在注入序列中排在前面,且在預算不足時優先被保留。
  4. 預算分配:支持按優先級分配預算限制,超出限制的規則會被截斷或省略。
  5. 安全防護:嚴格的路徑安全防護,防止路徑穿越攻擊;不讀取會話數據,無網絡請求。

安裝與啓用

安裝插件需要使用 dsh plugin 命令,安裝後需重啓 host 進程。

dsh plugin --profile web add github:kingzhz/dsh-global-rules
dsh web

注意:host 側代碼在進程啓動時裝載,安裝後必須重啓 DSH。

典型用法

文件結構

在 $DSH_HOME/rules/ 目錄下放置規則文件,每條規則爲一個獨立的 markdown 文件。文件名支持數字前綴以控制同優先級下的排序。

$DSH_HOME/rules/
  ├── 01-回答風格.md
  ├── 02-代碼改動規範.md
  └── 03-隱私禁區.md

優先級配置

在規則文件的 front matter 中配置 priority 字段來設定優先級。

---
priority: 0
---

# 安全紅線
絕對不執行 rm -rf、不 force push。
優先級 說明
P0 (0) 最高優先級,最先注入,預算不足時最後丟棄
P1 (1) 高優先級
P2 (2) 默認優先級(不寫即爲此檔)
P3 (3) 最低優先級,最先注入,預算不足時最先丟棄

配置參數

在 DSH 配置文件中可設置插件的運行參數。

- id: global-rules
  name: 'dsh-global-rules'
  config:
    rulesDir: ~/.dsh/rules     # 規則文件目錄
    maxBytes: 32768            # 注入文本的總字節上限
    maxSourceBytes: 262144     # 單個規則文件的讀取上限
    order: 100                 # P0 檔的段序號
    heading: Global rules      # 注入塊的開頭說明
    enabled: true              # 是否啓用

注意事項

  1. 暫停機制:暫停規則會將文件名重命名爲 .disabled。這意味着操作會留有磁盤痕跡,如果目錄在版本控制下,git status 會顯示文件變更。
  2. GUI 生效:通過 GUI 修改設置或規則後,需要刷新瀏覽器頁面才能看到變化。
  3. 原生文件:本插件不接管 DSH 原生的 AGENTS.md,兩者可並存。
  4. 重啓要求:僅支持 host 側代碼在進程啓動時裝載,安裝或修改配置後必須重啓 DSH。

鏈接

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

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

小夜