前言¶
DeepSeek Harness(DSH)的設計理念是「一切皆插件」。在開發智能體或進行自動化代碼維護時,代碼審查是一個高頻且重要的環節。手動審查容易遺漏細節,而 dsh-review 插件通過標準化的命令工作流,將審查過程直接集成到對話流中,解決了智能體缺乏結構化審查能力的問題。
它是什麼¶
dsh-review 是 DeepSeek Harness 的一個插件,由開發者 apcamargo 維護。它通過新增 /review 和 /end-review 兩個命令,爲智能體提供了完整的代碼審查工作流。
核心功能¶
該插件主要提供以下能力:
- 多模式審查:支持審查未提交的變更、特定提交、GitHub Pull Request(需配合
gh工具)、指定文件夾快照。 - 自定義指令:支持通過
/review instructions存儲全局或臨時的審查指令。 - 分級反饋:支持將發現的問題按優先級
[P0]到[P3]排序,並附帶置信度標籤。 - 命令行增強:支持
--extra和--aggressive兩個標誌位,用於在審查時附加特定指令或開啓激進審查模式。 - 狀態查詢:通過
/review status查看當前審查會話的狀態和已存儲的指令。
安裝¶
安裝該插件需要執行以下命令。插件會自動聲明 dsh.bundle manifest,因此執行 dsh plugin add 後通常會自動啓用。
dsh plugin --profile web add https://github.com/apcamargo/dsh-review.git
安裝後需要重啓 Harness 才能加載插件。
典型用法¶
插件提供了豐富的子命令和標誌位,以下列出主要的操作方式。
基礎審查¶
執行未提交的變更審查(默認行爲):
/review
查看審查狀態:
/review status
指定審查範圍¶
- 基於分支:對比當前分支與指定基分支的差異:
/review branch [name]
默認爲 main 或 master。
- 基於提交:審查指定 SHA 的提交:
/review commit abc123
- 基於 Pull Request:審查 GitHub PR(需要本地安裝並登錄
gh):
/review pr 123
/review pr https://github.com/owner/repo/pull/123
- 基於文件夾:將指定路徑作爲快照進行審查,不依賴 Git 倉庫:
/review folder src docs
自定義審查重點¶
直接輸入文本作爲審查重點:
/review check the error handling
設置或清除自定義指令(指令會附加到該會話的後續所有審查中):
/review instructions "prefer fail-fast error handling"
/review instructions clear
使用標誌位¶
- 附加指令:在任何模式下附加一條額外的指令:
/review --extra "check for SQL injection"
- 激進模式:開啓激進審查,模型以懷疑態度尋找問題:
/review --aggressive
結束審查¶
使用 /end-review 結束當前審查會話,並選擇輸出模式:
- summarize(默認):生成結構化的審查報告,包含範圍、結論、發現和修復隊列。
- fix:生成並執行修復操作。
- done:僅清除會話狀態,恢復普通編碼工作。
/end-review
/end-review summarize
/end-review fix
/end-review done
適用場景與注意¶
該插件適合需要將代碼審查邏輯嵌入智能體工作流的開發者。
在使用前,請確認以下環境要求:
1. Node.js 版本:需安裝 Node.js >= 22。
2. Git 倉庫:大部分命令(如 uncommitted, branch, commit, pr)依賴 Git 倉庫。
3. GitHub CLI:使用 /review pr 時,必須安裝 gh 並完成登錄。
已知限制:
- 無模式強制:插件通過標誌位管理審查狀態,智能體本身不會讀取該狀態來限制其工具使用,這取決於提示詞的設計。
- 會話隔離:狀態存儲在會話 ID 下,分叉或恢復會話時狀態會重置。
- 會話清理:已刪除會話的記錄不會被自動清理。
結語¶
dsh-review 通過標準化的命令接口,讓智能體能夠獨立完成從代碼差異提取到分級反饋的全過程。對於使用 DeepSeek Harness 構建自動化代碼審查流的項目,這是一個實用的工具。插件目錄與源碼詳見下方鏈接。