opencode-orchestrator
v2.0.15
Published
Multi-agent mission control for OpenCode with Commander, Planner, Worker, and Reviewer workflows.
Maintainers
Readme
Version: 2.0.15
What it does
OpenCode Orchestrator keeps a task and its unfinished work connected across turns. Commander handles the goal; Planner, Worker, and Reviewer are optional helpers when the work benefits from them. Mission state is stored in the project's .opencode/ directory.
Install
Requires Node.js >=24.15.0 and OpenCode. On OpenCode 2, let OpenCode install and manage the plugin:
opencode plugin add opencode-orchestrator
opencode plugin listTo remove it, run opencode plugin remove opencode-orchestrator.
For OpenCode 1 versions 1.18.29 and newer, add "plugin": ["opencode-orchestrator"] to your OpenCode opencode.json(c). OpenCode installs configured npm plugins when it starts. The optional orchestrator terminal CLI is available separately with npm install -g opencode-orchestrator.
Use
Select Commander in OpenCode and send a request, or start a continuing mission:
/task "Implement the feature and verify it"| Command | Purpose |
| --- | --- |
| /task <objective> | Start a persisted mission, replacing an active mission in the same project |
| /plan <objective> | Prepare a plan without implementing it |
| /stop or /cancel | Stop the active mission |
Ordinary questions and small edits can be handled directly. Roles are used when they help; they are not a required pipeline. Replacing a mission stops its previous session and delegated work before the new goal starts. Existing project TODO and checklist files remain available for the new mission to reconcile.
Configuration
The default installation needs no extra options. On OpenCode 2, set options in opencode.jsonc using the package object:
{
"plugins": [
{
"package": "opencode-orchestrator",
"options": {
"agentConcurrency": { "worker": 4 }
}
}
]
}See the options schema for all settings. Replace a plain string entry with the object when adding options; keep only one entry for this package. OpenCode 1 uses a plugin array and ["opencode-orchestrator", { ...options }] for options.
If commands are missing, check opencode plugin list on OpenCode 2 or opencode debug config on OpenCode 1.
OpenChamber and other WebUIs
Since 2.0.15, set customRendering to false to disable Orchestrator's display changes. This removes the timestamp/step/duration footer from tool results and preserves completed assistant text without the OpenCode 1 standalone thinking-tag cleanup. The default is true for existing installations.
For OpenCode 1 (including WebUIs backed by OpenCode 1), replace the existing entry in opencode.jsonc:
{
"plugin": [
["opencode-orchestrator", { "customRendering": false }]
]
}For OpenCode 2:
{
"plugins": [
{
"package": "opencode-orchestrator",
"options": { "customRendering": false }
}
]
}Keep a single entry for the package, merge this option with any existing options, and restart the OpenCode backend after saving. It applies to newly processed results; previously stored footers remain in the conversation history. Mission tracking, memory, secret redaction, and the outgoing message-size guard remain active. The option controls Orchestrator's presentation changes; OpenCode and the WebUI own their rendering.
Contributing
Pull requests from anyone are appreciated. See CONTRIBUTING.md for development and test commands. If you'd like maintainer access, please open an issue; I'm happy to grant it.
MIT License © agnusdei1207
