dsh-maestro-review:DeepSeek Harness 的可插拔 MR 审查流水线

前言

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 中的补丁注册相关的服务组件。

使用场景

根据不同的需求,可以使用以下工作流:

  1. 快速审查:仅针对 diff 进行审查,不进行深层代码库克隆。
  2. 深度审查:克隆 MR 头部,运行审查代理并进行静态审计。
  3. 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 仓库。

羽毛球分组比赛记分
小程序二维码

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

小夜