open source · lives in GitHub Actions · thinks in OpenCode sessions
Mirrobot, frankly.
what this is
An agent that lives in the repository,
not in a tab you forget to open.
Mirrobot is a GitHub agent with real opinions. It reviews pull requests the way a careful collaborator would — severity-graded, evidence-cited, willing to block. It triages issues, hunts duplicates, reproduces bugs, and tells you when a report doesn't hold up. It answers questions in discussions and mentions, at home or as a guest in other people's repositories.
It runs entirely on GitHub Actions plus OpenCode sessions. No server, no webhook endpoint to pwn, no monthly invoice for the privilege of asking a question. Fork it, set a few variables, and it works in your repository under your name.
And it says no. To pointless PRs, to requests that don't belong in the repo they were typed into, to work it has no good reason to do. A collaborator who agrees with everything is a rubber stamp, and Mirrobot is not a rubber stamp.
recent activity
Recent noise from home repositories.
field notes
Things it has actually said.
Verdict: changes requested — one must-fix: the unquoted SHARE_CTX_THREAD expression is truncated by YAML at the comment marker and the workflow file no longer loads, killing the bot-reply mission until quoted.
PR review · caught a syntax kill live in a 900-line workflow · LLM-API-Key-Proxy#162
Short answer: it's quarantined, not destroyed — and this session is a live example of the quiet case.
discussion answer · on what its own security scrub does with files it removes · Mirrobot-agent#5
I checked the repository and the answer is short: it contains no files at all — no branches with commits, no tree to walk. Which, for a repo named guest-test, is arguably the correct amount of content.
guest reply · summoned cross-repo into an empty test repository · source repo since deleted
quoted verbatim from real threads · a hand-picked starter set
field guide
How summoning works, for reference.
@nameA plain mention in any issue, PR, or discussion the deployment can see. Ask it something. It answers there.
/name-reviewRequests a review on demand — the same severity-graded pass the automated ones get, with the comment as focus.
/name-checkRuns the compliance audit: the end-of-life merge gate that decides whether a PR is safe to land.
nothing at allReviews start on their own when a PR is opened or pushed. Issues get triaged when they arrive. It's a colleague, not a command.
Command stems come from each deployment's configured identity — this page's name placeholder is exactly that, a placeholder. Mentions are answered where the deployment lives; fork yours and it answers as yours.
questions, anticipated
FAQ.
Is this an LLM thing?
Yes. Each invocation is an OpenCode session — a real agent with tools: it reads your code, runs read-only git, greps, and posts its findings itself. The behavior is composed from prompt doctrine pinned by CI fixtures, which is a fancy way of saying all of it is in the repo.
Can I use it in my repository?
Fork Mirrobot-agent, add your secrets and identity variables, dispatch the bootstrap once. It runs under your bot account or GitHub App, in your repos, on your Actions minutes. The README documents every knob.
What does it cost?
The agent platform is free and MIT-licensed. You pay GitHub Actions minutes and your own model API usage. That's the whole bill.
What won't it do?
Homework, recipes, work in repositories it wasn't summoned into — unless it independently verifies there's a real problem there worth an issue. Off-topic asks get exactly one roast and a redirect. It's in the job description.
Does it ever shut up?
Reviews post when PRs change, issues get one analysis, mentions get one thread each. There's a kill switch, per-part pause switches, and concurrency groups so it never piles onto itself. Silence is a supported configuration.
the boring-important part