ddtcorex/dsh-maestro-review

dsh-maestro-review

Pluggable merge-request review pipeline for DeepSeek Harness (webhook → orchestrator → findings) with GitLab + GitHub providers.

未分類ai-reviewcode-reviewcordis

@ddtcorex/dsh-maestro-review

Maestro Review on a DeepSeek Harness (DSH) web host: GitLab webhook intake, project mappings with local worktrees, the Maestro Review Settings section and Telegram review digests. Every review runs through the engine of @ddtcorex/maestro-reviewer, which also carries the GitLab CI flow.

What it provides

  • Webhook intake (row maestro-review-webhook): /hooks/gitlab-mr on the raw DSH webserver, authenticated by X-Gitlab-Token. An @<bot> mention asks for a quick review, /maestro deep or "deep review" for a deep one; reviewer assignment and pushes trigger reviews when enabled. A note whose first line is /maestro explain, /maestro fix (in a finding thread) or /maestro rereview [path] is answered right away, with the engine's access rules (Developer or above) and answer markers, the same as in CI.
  • Host orchestrator (row maestro-review-host-orchestrator): reads the settings, applies the trigger gates, prunes history, and calls the engine's reviewEngine service. A mapped project is reviewed on a worktree of its local checkout (vendor and app/etc/env.php linked, a per-MR govard environment for the deep auditor, torn down afterwards); a missing branch falls back to a diff-only review. An unmapped project gets a diff-only review on mention and a "Not started" note for deep. Every review reads the project's .maestro-review.yml from its default branch (ignore globs, rules, minimum severity, language; fan-out only when the file sets it), and a worktree is redacted unless the runtime auditor runs on it.
  • Settings (row maestro-review-settings-rpc, channel /dsh-maestro-review, Settings section maestro-review): GitLab URL, token, bot username, webhook secret, project mappings, trigger defaults, review model, agent timeout and history retention, stored in the shared Maestro settings store.
  • Telegram digest: one message per finished review when enabled, through the optional maestroNotifier service of @ddtcorex/dsh-maestro-notifier.

Install

dsh plugin --profile web add @ddtcorex/maestro-reviewer @ddtcorex/dsh-maestro-review

Both packages are needed: the engine rows (maestro-review-host, maestro-review-engine) come from @ddtcorex/maestro-reviewer.

Development

pnpm --dir ../../maestro-reviewer build   # the engine's lib/ first
pnpm install
pnpm verify
pnpm build    # host lib/ plus the client bundle lib/client.js
pnpm test

License

MIT