Caduceus
barkley-assistant/caduceus
Rust daemon and Hermes plugin that reviews pull requests and turns labeled issues into PRs
Caduceus is a Unix daemon, shipped as a Hermes plugin, that reviews pull requests and implements labeled tickets using your own AI harness. It runs on your machine, polls GitHub outbound only and works in isolated git worktrees.
What Caduceus does
Caduceus is a single Rust binary that does two jobs. It runs each new revision of an open pull request through an isolated, read-only review worker and publishes a structured PASS or FAIL verdict, with findings, severities and remediation guidance, as one sticky comment that is updated in place. It also takes tickets labeled autofix, provisions a fresh worktree, runs your AI harness under a hard timeout, then commits, pushes, opens a pull request, comments and closes the ticket, checkpointing each step before it happens so a crash resumes instead of double-posting.
The daemon owns polling, claims, worktrees, timeouts, Git, GitHub and retries, while the worker only decides what the code should say. The two meet through environment variables and a worker-result.json file. A reference bridge, worker-bridge.py, is seeded under ~/.hermes/caduceus/ for you to point at pi, codex, claude-code or a custom harness, and plugin updates will not overwrite it. The daemon is pull-only, listens on no port and refuses to publish text containing a hardcoded list of internal tool names. Linux is tier-1 and macOS tier-2.
Key features
- Sticky PASS or FAIL pull request review comment, updated in place as the PR changes
- Trusted /caduceus review comment to re-review the current head on demand
- Issues labeled autofix become a worktree, commit, PR, comment and close
- Checkpoints before every step so a crash resumes without double-posting
- Pull-only daemon with ETag-aware polling that listens on no port
- Harness-agnostic worker-bridge.py that you own and edit
When to use it
- Getting an automated first review on every revision of a pull request
- Delegating labeled handoff tickets to an AI harness and reviewing the PRs it opens
- Running the agent loop on your own machine with your own credentials
Who it is for: Developers who run AI coding harnesses and want a self-hosted daemon to handle PR review and ticket-to-PR work on their own repositories.
How it fits with Hermes Agent
Shipped as a Hermes plugin with its bridge seeded under ~/.hermes/caduceus/; the worker harness behind it can be pi, codex, claude-code or your own.
Requirements: Linux (tier-1) or macOS (tier-2), a Windows target is not supported, and a worker harness reachable through worker-bridge.py
FAQ
What is Caduceus?
Caduceus is a Rust daemon, shipped as a Hermes plugin, that reviews GitHub pull requests and implements tickets labeled autofix. It runs your own AI harness in isolated worktrees on your machine.
Does Caduceus work with Hermes Agent?
Yes, it is shipped as a Hermes plugin and seeds its bridge file under ~/.hermes/caduceus/. The harness that does the coding can be pi, codex, claude-code or a custom one.
Is Caduceus free and open source?
Yes. The repository is released under the MIT license.
Similar dev tools for Hermes Agent
All dev toolsSwift package that embeds Hermes Agent, CPython and an iSH shell inside an iOS app
rotorstar HITL ProtocolOpen HTTP protocol for human decisions in agent workflows, with review URLs and messenger buttons
lodado Playwright Spec for AI AgentCLI that has an AI agent judge a live staging page against your existing Playwright specs
aRYmK13 Hermes Session ExporterExport Hermes Agent sessions to Markdown, HTML or normalized JSON, with a TUI browser and web panel
prevu-cloud PrevuOpen-source CLI and agent skills for giving coding agents preview and staging environments
a5c-ai agent-muxTypeScript SDK and amux CLI for driving many coding agents, Hermes included, through one contract
Related guides: How to install Hermes Agent · Run multiple Hermes agents with profiles