Your agent, on instruments. Cockpit adds what OpenCode doesn't ship with: shells that keep running, subagents you can watch, a pull request in the terminal, and a trail of everything each conversation made.
Drawn by Cockpit's own renderers, the same code that runs in your terminal: a test run failing and passing in the background, subagents at work, the PR landing in Trail, the context filling. Every bay, live, is on the site.
OpenCode 1
opencode plugin opencode-cockpit@0.9.0 --global --forceOpenCode 2
opencode plugin add opencode-cockpit@0.9.0
opencode service restart # after installing, and after every updateRequires OpenCode 1.18+ or 2.0.15+, on macOS or Linux.
The version is pinned on purpose: OpenCode resolves a plugin once, so a bare name or @latest stays
on whatever it installed first. The same line moves you to a newer release.
Stuck on an old version? This runs from npm, outside OpenCode, so it works whatever you have installed:
npx opencode-cockpit@latest updateSeven bays, all on by default. Each one draws its block in the sidebar, or says none yet until it
has something.
| Bay | What it gives you | Key or command | Docs |
|---|---|---|---|
| Trail | What every conversation shipped — PRs, tickets, deploys — and which one shipped it | ctrl+x f · /trail |
Trail |
| Shell | Terminals that outlive the turn; the agent waits on a port or a pattern, you watch | ctrl+x o panel · ctrl+x j console |
Shell |
| Subagents | Every helper in the sidebar with what it's doing now, and its whole run one key away | ctrl+x d |
Subagents |
| Review | Review changes like a pull request: notes on lines, which the agent reads and resolves | ctrl+x v |
Review |
| Status | How full the context is, where the tokens went, what changed, what it costs | /status-setup |
Status |
| Trust | Approve the same command three times and Trust answers it for you | ctrl+x p · /trust |
Trust |
| Updater | Every plugin you have: what runs, what is published, and an update you pick | /plugins-update |
Updater |
Every key is the same on OpenCode 1 and 2, and none of them is one of OpenCode's own. Each bay is
also published on its own, as @opencode-cockpit/<bay> — see
Install.
Install, restart, then type /cockpit-setup.
The agent reads your settings, asks only what matters — which bays show, in what order, how quiet when empty — and writes the smallest correct file. Every setting is in the Configuration reference.
npx opencode-cockpit@latest doctorIt checks OpenCode, its config, Cockpit's logs and the daemon, and prints the fix for anything wrong. Troubleshooting covers the rest.
- Documentation — start with What Cockpit is
- OpenCode 1 and 2 — what differs between the two
- Changelog
- Troubleshooting
- Contributing
Issues and pull requests are welcome. CONTRIBUTING.md covers the architecture, the invariants worth knowing before changing anything, and how to run your working copy inside OpenCode.
bun install
bun run check # lint, typecheck, tests (real PTYs, real daemon)