前言¶
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 仓库。