dsh_review:DeepSeek Harness 交互式代碼審查插件

前言

在使用 DeepSeek Harness (DSH) 進行開發時,代碼審查是確保代碼質量的關鍵環節。傳統的審查方式往往需要手動編寫 Git 命令來獲取 Diff,或者通過自然語言提示詞模糊地描述審查範圍,這通常導致效率低下或審查不夠精確。

dsh_review 插件旨在解決上述痛點,它借鑑了 Codex CLI 的工作流,通過交互式菜單提供類似 CLI 的代碼審查體驗。用戶無需手動敲擊複雜的 Git 命令,即可快速選擇審查目標,並將明確的審查任務交給當前的 Agent 執行。

插件簡介

dsh_review 是一個爲 DeepSeek Harness (DSH) 提供代碼審查能力的第三方插件,由開發者 CodeIdeal 維護,採用 MIT 許可證。

該插件的核心價值在於交互式目標選擇與結構化審查。它通過 Web 端的菜單讀取本地和遠端的 Git 信息,將用戶的選擇轉化爲具體的審查請求,最終由 DSH 的 Agent 讀取 Diff 並生成包含嚴重度、證據和修復建議的審查報告。它並非 OpenAI Codex 的官方組件,而是面向 DSH 生態的獨立工具。

安裝與啓用

在安裝前,請確保本地已安裝 Node.js 和 npm,並且 DeepSeek Harness 的 Web profile 已可正常運行。

  1. 克隆插件倉庫並安裝依賴:
git clone https://github.com/CodeIdeal/dsh_review.git
cd dsh_review
npm install
npm run build
  1. 將構建後的插件添加到指定的 DSH profile(示例使用 web profile):
dsh plugin --profile web add ./
  1. 重啓對應的 DSH 會話。插件會自動應用 cordis.patch.yml,並將 review 工具註冊給當前的 Agent。

功能特性

該插件主要提供以下能力:

  1. 交互式目標選擇:通過 Web 端的 /review 菜單選擇審查範圍,支持未提交改動、特定 Commit 或特定 Branch。
  2. Commit / Branch 二級菜單:動態讀取當前會話倉庫最近的 commit(最多 100 個)、本地 branch 和遠端 branch。
  3. 未提交改動審查:覆蓋 staged、unstaged 及相關 untracked 文件,並以 HEAD 爲比較基準。
  4. 自定義審查要求:用戶可以直接輸入自然語言描述審查範圍、背景、驗收標準或重點關注項。
  5. Agent 直接審查:插件負責選擇目標和組織任務,Agent 負責讀取 Diff、去重、判斷嚴重度並輸出結論。
  6. 結構化結果:要求每個審查問題必須包含嚴重度、準確位置、證據、影響範圍和修復建議。

使用方法

插件提供了命令行、交互式菜單和自然語言三種使用方式。

1. 交互式菜單

在 DSH Web 輸入框鍵入 / 並選擇 review,隨後通過多級菜單選擇:

/review
├── Uncommitted changes  審查當前工作樹相對 HEAD 的改動
├── Commit diff          選擇最近的 commit,僅審查該 commit 引入的差異
├── Branch base diff     選擇 branch,從 merge-base 審查到當前 checkout
└── Custom requirement  輸入任意審查範圍或要求

2. 直接輸入命令

也可以繞過菜單,直接輸入命令來指定審查目標:

/review uncommitted
/review commit <commit-ref>
/review branch <branch-name>
/review custom 重點檢查認證邏輯、異常處理和測試覆蓋

3. 工具接口

除了命令,插件還註冊了一個結構化的 review 工具供 Agent 調用。關鍵參數包括:
* target(必需):Git 目標,如 uncommitted 或 working tree。
* targetKind:Git 目標類型,可選 commit、branch 或 range。
* base:比較基準,如 commit 的父基準或未提交改動的基準。
* task:原始任務意圖。
* spec:驗收條件。
* focus:額外關注點數組。

工具返回 diffCommand 和結構化 instructions,Agent 依據這些信息完成實際審查。

限制與注意事項

  1. Commit 菜單限制:Commit 菜單最多展示最近 100 個 commit。
  2. 模型與上下文限制:審查的質量和可處理的 Diff 大小受當前 Agent 模型性能及上下文窗口限制。
  3. 職責分離:插件僅負責選擇目標和組織任務,具體的代碼讀取、Diff 分析和報告生成由當前 Agent 執行。
  4. 第三方性質:本插件爲第三方開發,非 OpenAI Codex 官方組件,非官方應用商店插件,安裝前請檢查源碼與許可證。
羽毛球分组比赛记分
小程序二维码

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

小夜