OpenCode OrchestraCAUTION
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://www.npmjs.com/package/@oeronteros-1/opencode-orchestra) [](LICENSE) [](https://opencode.ai/docs/plugins/)
English · Русский · 简体中文
OpenCode Orchestra turns a complex request into a controlled multi-agent workflow. It classifies the task, chooses connected models, dispatches focused specialists, merges their evidence, applies changes, verifies the result, and records local cost and usage telemetry.
OpenCode Orchestra targets OpenCode v2 and loads through its plugin setup API. A compatibility entrypoint remains available for OpenCode 1.18.29 and newer.
- One primary agent with a team of focused, permission-scoped specialists
- Automatic model discovery, budget modes, per-agent overrides, and fallback chains
- Dependency-aware execution with hard concurrency, depth, and ownership limits
- Optional isolated Git worktrees for parallel editors
- Managed Chrome with persistent profiles, Playwright for UI workflows, and DevTools for diagnostics
- Local dashboard for live activity, tokens, cost, models, agents, and MCP health
- Diagnostics, MCP smoke tests, bounded autonomous loops, and offline voice input
Quick start
Requirements: OpenCode v2, Bun 1.2 or newer, Node.js 22.12 or newer, and a supported OpenCode model provider. Managed browsing additionally requires OpenCode 2.0.16 or newer and a separately installed Chrome.
bunx @oeronteros-1/opencode-orchestra@latest install
Restart OpenCode, then run:
/orchestra Find the cause of the intermittent login failure, fix it, and run the relevant tests
Useful status commands:
/orchestra-status /plugin-status /orchestra-resume
The installer is idempotent. It backs up the
0823f37b48e1OBSERVED · 2026-10-12Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add voice-overlay-win32-x64 --env GH_TOKEN=${GH_TOKEN} --env GITHUB_PERSONAL_ACCESS_TOKEN=${GITHUB_PERSONAL_ACCESS_TOKEN} --env GITHUB_TOKEN=${GITHUB_TOKEN} -- npx -y @oeronteros-1/[email protected]{
"mcpServers": {
"voice-overlay-win32-x64": {
"command": "npx",
"args": [
"-y",
"@oeronteros-1/[email protected]"
],
"env": {
"GH_TOKEN": "${GH_TOKEN}",
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}",
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}Exposed tools (1)
1 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
orchestra_browser | read | Prepare a sealed browser scenario, switch backend with a reason, inspect safe status, release after verification, or restart after release. First login happens in the visible managed window. No credentials in chat. |
Trust audit
CAUTIONgrade B · trust 80/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (5 observation(s))
- Network
- declared (6 observation(s))
- Shell
- declared (3 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (24)
icon.icns
"/api": "http://127.0.0.1:43127",
voice-ffmpeg.wav
assert.doesNotThrow(() => new Function(script))
const Extension = new Function('Gio', 'GLib', 'Clutter', 'Meta', 'Shell', 'St', 'Main', 'Extension', 'global', source)(import { MCP_LABELS } from "../../src/mcp/catalog"import { cn } from "../../lib/cn"import { cn } from "../../lib/cn"import { cn } from "../../lib/cn"const besidePackage = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../dashboard-dist")
Then open `http://127.0.0.1:4097`. The microphone button is added next to the prompt submit button and inserts recognized text into the draft by default. Its settings also offer explicit insert-and-se
Откройте `http://127.0.0.1:4097`. Кнопка микрофона появится рядом с отправкой промпта и по умолчанию вставит распознанный текст в черновик. В настройках можно явно выбрать «Вставить и отправить». Если
然后打开 `http://127.0.0.1:4097`。麦克风按钮会显示在提交按钮旁边,默认将识别文本插入草稿。设置中也可显式选择插入并发送。如果录音或转写期间切换会话,结果会保留在可编辑的恢复面板中;恢复结果不会自动发送。
"origins": ["http://127.0.0.1:3000"],
@opencode-ai/plugin, @opencode/plugin, jsonc-parser, @base-ui/react, @hookform/resolvers, @hugeicons/core-free-icons, @hugeicons/react, @tailwindcss/vite
@tauri-apps/api, react, react-dom, @tauri-apps/cli, @types/node, @types/react, @types/react-dom, @vitejs/plugin-react
For OpenCode 2 on Windows and Linux, launch `bunx @oeronteros-1/opencode-orchestra@latest voice-overlay` once, then focus the prompt in TUI, Desktop or any browser. **Ctrl+Alt+Space** starts recording
Then open `http://127.0.0.1:4097`. The microphone button is added next to the prompt submit button and inserts recognized text into the draft by default. Its settings also offer explicit insert-and-se
- Locked live-verified contract (opencode 1.18.19, 2026-09-07): `POST http://{host}:{port}/tui/append-prompt` with body exactly `{"text": string}` returns `boolean`. Headless `serve` without TUI also**Endpoint choice (locked from live docs 2026-09-07, `https://opencode.ai/docs/server/`):** `POST /session/:id/prompt_async` (same body as `/session/:id/message`, returns 204, no wait). NOT `POST /ses
In `voice-overlay/src/App.tsx`: extend `codeOf` list with the 2 new codes; add `sessions` state + `loadSessions()` (calls `listSessions(settings)` on mount, on settings save, and on `showSettings` clo
Linux shared-library and display requirements are checked through actual launch validation and reported clearly. Automatic OS package-manager installation requiring elevated privileges is outside this
Contents (no placeholders — real commands): prerequisites per OS (Rust via rustup `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y` / `winget install Rustlang.Rustup`; system f
- Linux: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y`
Gates applied: no_behavioural_pass.
0823f37b48e1full audit observations/trust-audit/mcp-server/oeronteros__opencode-orchestra.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | 0823f37b48e1 | CAUTION | B | 80 | first audit |
Questions
What tools does @oeronteros-1/opencode-orchestra expose?
1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is @oeronteros-1/opencode-orchestra safe to connect to an agent?
With care. The audit graded it B (80/100) and found 24 things worth knowing before you trust this server, listed below with the exact line each was found on.
What credentials does @oeronteros-1/opencode-orchestra need?
It reads GH_TOKEN, GITHUB_PERSONAL_ACCESS_TOKEN and GITHUB_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How current is this page?
The grade is for one exact copy of the source (0823f37b48e1), read on 2026-10-12. The repository is watched and re-audited when it changes.