dsh-plugin-code-quality:在 DSH `/` 菜單里加上 /simplify 與 /code-review

前言

在 DeepSeek Harness(DSH)裏改代碼,常見兩類需求並不相同:一類是提交前把 diff 收乾淨,但不改語義;另一類是專門針對當前改動找 correctness 問題,並且希望報告裏的每一條都經過獨立驗證,而不是模型一次性「掃一眼」就列清單。通用聊天裏的「幫我 review」往往混在這兩種目標裏,範圍也不固定。

下面介紹社區插件 dsh-plugin-code-quality(維護者 Hope-Phenom,npm 包名 @hope_phenom/dsh-plugin-code-quality)。它在 DSH 的 / 菜單 skills 分組下注冊 /simplify、/code-review,以及 /review(與 /code-review 行爲相同)。實現方式是把完整指令文檔註冊爲 user-invocable skill,而不是 host command,以便你輸入的目標參數原樣進入模型上下文。

這是什麼

dsh-plugin-code-quality 是一個 DSH 插件:無 client 半部、無 tools、無 HTTP 服務;入口 lib/index.js 僅向 ctx.skills 註冊若干 skill。設計思路是對齊主流 code review 工具鏈裏已經收斂的做法,並適配 DSH 的工具、指令文件佈局與 subagent 模型。

命令 作用概要 誰可以調用
/simplify [target] 對改動做行爲不變的清理:複用已有 helper、減複雜度、減無效工作、把放錯層級的改動歸位;不是找 bug 你 和 模型
/code-review [level] [--fix] [target] 多角度在 diff 上找真實正確性缺陷,每條候選經獨立 verifier,按嚴重度排序輸出 僅你
/review … /code-review 別名 僅你

插件當前版本 0.1.1,許可證 MIT,依賴與 peer 均爲空,僅通過宿主傳入的 ctx 交互。

核心功能

/simplify:行爲不變的 diff 清理

作用範圍按順序解析:你指定的 target → git diff '@{upstream}...HEAD' → main...HEAD(回退 origin/main、master)→ HEAD~1。工作區未提交改動與未跟蹤文件會一併納入,便於 commit 前使用;若無改動則直接說明並結束。

四個獨立 reviewer 維度爲 Reuse、Simplification、Efficiency、Altitude。只有能給出具體替換方案的發現纔會保留(例如應調用的現有 helper、更簡單寫法、更省資源的替代、應併入的通用機制)。保留項去重後直接應用;若修復會改變預期行爲或需 diff 外改動,則跳過並在結果中標記爲 skipped。

/code-review:多角度審查 + 獨立驗證

級別從你消息中的單詞讀取,無單獨參數解析器。默認 medium。

Level 正確性角度數 清理角度數 每個 finder 候選上限 報告上限 驗證傾向
low 3 0 4 5 僅保留 CONFIRMED
medium(默認) 5 2 6 8 平衡
high 6 4 8 12 保留 PLAUSIBLE
max 6 4 + sweep 8 20 保留 PLAUSIBLE

六個正確性角度(C1–C6)涵蓋逐行 hunk、刪除行爲審計、跨文件契約、語言/框架陷阱、異步與資源生命週期、錯誤路徑與邊界等;級別決定實際運行幾個角度。每個候選由獨立 verifier 嘗試反駁,結論爲 CONFIRMED、PLAUSIBLE 或 REFUTED。high 與 max 另有 sweep reviewer 查遺漏。截斷報告時,正確性問題優先於清理、層級與風格類發現。

輸出一行一條,例如:

src/parser.ts:118 — the retry loop resets `attempts` inside the loop; a persistent 503 retries forever

若無項通過驗證,單行說明,不湊數。加 --fix 時在報告後應用通過項;不加則不改文件。

爲何用 skill 而不是 ctx.commands

ctx.commands.register() 註冊的是 host command,默認不向模型投遞消息,需自行合成 user message。ctx.skills.register() 且 userInvocable: true 時,composer 會把你的輸入(含 /simplify 等 token)原樣發送,並在 pre-step 邊界附加 <skill_content> 指令塊——與本插件「整份文檔即指令」的需求一致。

simplify 註冊爲 modelInvocable: true, userInvocable: true;code-review 與 review 爲 modelInvocable: false, userInvocable: true,僅出現在你的 / 菜單,模型目錄中不可自調用。

安裝與啓用

環境要求:

  • DSH 已 compose @deepseek-ai/dsh-skill 與 @deepseek-ai/dsh-client-ui-skill(標準 preset 通常已包含)。
  • Node.js ≥ 20。

在 PowerShell 中安裝(將 <your-profile> 換成你的 profile 名):

dsh plugin --profile <your-profile> add @hope_phenom/dsh-plugin-code-quality

重啓 profile(或等待 HMR)後,在 composer 輸入 /,skills 分組下應出現 simplify、code-review、review。

本地開發可對 checkout 路徑執行:

dsh plugin --profile <your-profile> add F:\path\to\dsh-plugin-code-quality

升級: 再次執行 bare 包名的 add 不會自動升到新版本(caret 範圍與 lock 行爲)。需顯式版本或先移除再添加,例如:

dsh plugin --profile <your-profile> add @hope_phenom/dsh-plugin-code-quality@0.1.1

然後完全重啓 profile(已加載包的替換需要新 module generation,HMR 不覆蓋已加載 bundle)。鏡像滯後時可指定上游 registry:

dsh plugin --profile <your-profile> add @hope_phenom/dsh-plugin-code-quality@0.1.1 --registry=https://registry.npmjs.org

典型用法

/simplify

/simplify                       # 清理相對 upstream 分支以來的全部改動
/simplify src/parser.ts         # 限定單一路徑
/simplify 421                   # 審查指定 PR,而非本地 diff

/code-review

/code-review                    # 默認 medium 級別
/code-review high               # 更多角度、更高上限、驗證偏 recall
/code-review max --fix          # 最廣掃描,報告後自動應用
/code-review high src/parser.ts # 級別 + 路徑

/review 與 /code-review 等價,參數寫法相同。

適用場景與注意

適合: 已在 DSH 標準 skill 棧上日常寫代碼、希望在同一套 / 菜單裏區分「提交前 simplify」與「僅人工觸發的嚴格 code-review」的開發者。

注意:

  • 插件以當前 DSH 進程權限運行;安裝前請自行查看 GitHub 倉庫 源碼與 MIT 許可證。
  • /code-review 與 /review 不會進入模型 skill 目錄,避免 agent 自行發起全量審查;需要模型主動做行爲不變整理時,可使用 /simplify 或依賴其 modelInvocable 註冊策略。
  • 社區目錄 SkillHub 插件頁 與 DeepSeek / 幻方無官方從屬關係;DSH 生態遵循「一切皆插件」,包發佈在 npm @hope_phenom scope。

結尾

dsh-plugin-code-quality 把 /simplify(可人機共用、行爲不變清理)和 /code-review / /review(僅用戶、多角度 + verifier)接到 DSH skills 機制上,diff 範圍與級別在 README 中有明確規則。若要瀏覽分類信息或跳轉源碼,可使用目錄頁與 GitHub:

  • 目錄頁:https://www.skillhub.cn/plugins/Hope-Phenom/dsh-plugin-code-quality
  • GitHub:https://github.com/Hope-Phenom/dsh-plugin-code-quality
羽毛球分组比赛记分
小程序二维码

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

小夜