independent · provider-neutral · open source

Your agent wrote it. DiffOwl reviews it.

An agent that reviews its own patch will approve it. DiffOwl is the second reviewer: it checks every commit from your terminal, on the model subscription you already pay for, and keeps its findings in your repo. No account, no dashboard, no per-seat bill.

~/your-repo
$ git commit -m "feat: agent patch"
commit complete — review started
$ diffowl review
2 findings stored — .diffowl/state.db
Why
The author shouldn't be the only reviewer.

Everything below works today. Nothing here is a roadmap item.

01

Independent eyes

The model that wrote the patch never gets the final word on it. DiffOwl runs as a separate reviewer, so implementer and reviewer stay distinct roles.

02

Nothing to sign up for

No account, no dashboard, no third party between you and the review. The CLI runs on your machine and talks straight to the model provider you already use.

03

Use the backend you already have

Review through your existing OpenCode providers or the signed-in Codex CLI. You pick the backend and model, so you decide what a review costs.

04

Quality you can measure

DiffOwl ships with a replayable eval suite that scores its own reviews on precision, recall, and cost. You don't have to take the review quality on faith.

How it works
Most tools leave a comment. DiffOwl remembers the outcome.

Every finding gets a stable fnd_* ID in SQLite, deduped across commits and tracked from first sighting to fix, dismissal, or regression.

01

Agent writes

A person or any coding agent produces a patch and commits.

→
02

DiffOwl reviews

Bounded local context, structured findings with confidence.

→
03

Agent resolves

Fixes record the command that verified them; dismissals carry a reason.

→
04

DiffOwl remembers

Dismissed findings stay quiet on re-review; regressions reopen the original finding automatically.

Quickstart
Install. Init. Review.

From npm install to your first review report in about sixty seconds.

bash
# install globally
$ npm install -g diffowl
# pick a model, write config
$ diffowl init
.diffowl.yml created
# review the latest change
$ diffowl review
report → .diffowl/reviews/review-*.md
  1. Use your existing setup

    Choose OpenCode with its connected providers or your signed-in Codex CLI. DiffOwl keeps that choice local to your machine.

  2. Hook it into git

    Reviews fire automatically on every commit and stay out of your way. Read the report whenever you're ready.

  3. Hand off to an agent

    Install the portable diffowl-resolve skill, then say "Resolve the latest DiffOwl review."

Features
What's in the box today.
  • Reviews on every commit via a git hook that stays out of your way
  • Branch review with --base to cover a whole PR at once
  • Markdown reports in .diffowl/reviews/, readable whenever you are
  • Durable findings in SQLite, deduped across commits
  • A full lifecycle: fix, dismiss, defer, reopen — a fix isn't recorded without the command that verified it
  • No nitpicks by design: style gripes get suppressed, so reports stay small
  • JSON output and --fail-on-findings for scripting and CI
  • Agent handoff: the diffowl-resolve skill fixes what the owl finds
vs. alternatives
Different from hosted PR review.
Capability DiffOwl Hosted bots Agent self-review
No SaaS sign-up required Yes No (Their platform) Yes
Choose your review model Yes Vendor-locked Same model
Independent of author Yes Yes No
Persistent findings Yes Partial No
DiffOwl account required No Yes No
Rate limits Your provider's Free tier capped Your provider's
Review subscription Your existing provider Per-seat SaaS Your agent plan

Hosted bots give you a dashboard. DiffOwl gives you the review itself: run from your machine, on a model you chose, with findings you can still trace weeks later.

Stop merging code nobody reviewed.

One install gets you an independent reviewer on every commit. Your model, your machine, nothing to sign up for.

$ npm install -g diffowl