前言¶
DeepSeek Harness (DSH) 採取插件化架構,通過擴展功能來滿足不同的工作流需求。在代碼合併審查(MR Review)環節,自動化是一個常見訴求。dsh-maestro-review 插件旨在提供一個標準化的流水線:接收 Git 事件,在隔離環境中運行審查代理,並將結果結構化輸出。它解決了傳統審查流程中需要手動 checkout、缺乏統一發現機制以及難以在 CI 中複用的問題。
插件簡介¶
ddtcorex/dsh-maestro-review 是 DeepSeek Harness 的一個可插拔合併請求(MR)審查插件。它通過 Webhook 接收事件,利用編排器在一次性工作樹中啓動審查或審計代理,並使用 review-findings 工具追蹤結果。目前,它原生支持 GitLab 作爲代碼倉庫提供商,其他 forge 的支持通過可插拔的接口實現。
核心功能¶
該插件提供了以下核心能力:
-
ReviewProvider 抽象
定義了一個統一的接口標準。GitLab 客戶端目前是已實現版本,其他 forge 的支持需要在此基礎上進行擴展。 -
編排器
審查員和審計員代理在一次性工作樹(disposable worktrees)中運行。模型選擇(reviewModel)支持全局覆蓋或按項目映射。 -
Webhook 接入
插件通過 Webhook 接收 GitLab MR 事件,具備事件去重和保留機制,確保不會因重複觸發導致重複審查。 -
發現與追蹤
審查結果通過review-findings工具寫入,僅包含結構化發現而非自由文本。系統會爲每個 MR 追蹤歷史和信號。 -
工具集成
審查運行過程中可以使用Govard/workspace工具。 -
客戶端 UI
插件將設置界面的客戶端 UI 注入到 DSH Web slots 中,方便用戶進行配置。 -
CI 審查
支持從 GitLab CI 中無頭運行審查流程。通過共享的審查項目(項目持有密鑰和鏡像)爲多個源項目提供服務,無需本地 checkout 代碼。
安裝與啓用¶
安裝該插件需要使用 DSH 的插件管理器。
dsh plugin --profile web add @ddtcorex/dsh-maestro-review
安裝後,插件會通過 cordis.patch.yml 中的補丁註冊相關的服務組件。
使用場景¶
根據不同的需求,可以使用以下工作流:
- 快速審查:僅針對 diff 進行審查,不進行深層代碼庫克隆。
- 深度審查:克隆 MR 頭部,運行審查代理並進行靜態審計。
- CI 環境審查:在 GitLab CI 中配置,利用共享的 Docker 鏡像和模板進行自動化審查。
配置方面,插件通過共享的命名空間設置存儲(~/.dsh/maestro/settings.json)讀取配置。開發時可以使用 templates/ 目錄下的模板和 docker/ 目錄下的鏡像來設置 CI 環境。
注意事項¶
在部署和使用時,需注意以下技術細節:
-
版本同步
一個版本發佈包含兩個必須保持同步的工件:npm 包和 Docker 鏡像。由於 Docker 鏡像是從註冊表安裝 npm 包,而不是複製源碼,因此僅僅打標籤是不夠的,必須同時更新鏡像。 -
運行時狀態
機器的運行時狀態存儲在包本地的側車(sidecar)中。 -
環境依賴
插件依賴 DeepSeek Harness 的核心組件(如 Cordis、DSH Client Connection 等),使用前需確保環境版本兼容。
結語¶
dsh-maestro-review 爲 DeepSeek Harness 提供了一套完整的 MR 審查流水線解決方案,特別是其可插拔的架構和 CI 中的無頭運行能力,使其能夠很好地集成到現有的 CI/CD 流程中。對於需要自動化代碼審查的開發團隊,這是一個可落地的選擇。更多詳情可查看 GitHub 倉庫。