A home for OpenCode V2 plugins and tools: ports from other agent CLIs, and
original tools. Each plugin lives in its own repo. This repo is the map: what
exists, where it lives, and the conventions every plugin follows. Design specs
for the ports and sila-prime live under docs/compose/spec/; each plugin repo
carries the delivered copy with its report. See AGENTS.md for how to keep this
map current.
These plugins run on OpenCode. Install it with my referral link:
https://opencode.ai/go?ref=N9H3ZEP22A
- model-switcher: slash commands that switch provider and model mid-session. The command set comes from a user JSON file, so anyone can add their own.
- context-limit: a working context budget per model. It lowers the model window through a catalog transform, so compaction fires earlier. It can only lower a window.
- max-mode: a
best_of_ntool that runs 2 to 8 candidate answers in parallel and a judge picks the winner.
- memory: project memory, checkpoints, and notes, stored per project and injected at the start of a session. Registers read, append, and search tools plus three commands.
- sila-prime: runs
sila primeon the first prompt and injects the cross-tool briefing, so the sila knowledge store primes OpenCode without the CLI. Registers a/silacommand for sila subcommands. - task-tool: a tree
tasktool (T1, T1.1) so multi-step work survives long turns and compaction.
- goal: a judged stopping condition per session. When a turn ends, a judge model decides if the goal is met, and the plugin nudges and continues until it is, or gives up at a cap.
- workflows: deterministic multi-agent workflows. Ships deep-research: brief, plan, research, reflect, write, and review. Phases write artifacts and a run is resumable.
- loop: a prompt on a fixed cadence. A tick is skipped while the previous run is still active.
- compose-next: the spec to ship workflow as a skill (grill, spec, workspace, implement, verify, review, finalize, finish), with a read-only reviewer subagent.
- skip-permissions: auto-approve permission prompts for one session. A permission hook upgrades an ask to an allow; a deny is final and never reaches the hook.
- distill: find repeated workflows in session history and propose skills, commands, or subagents. Nothing is written until an explicit apply, and nothing is overwritten.
| Name | Plugin | Purpose |
|---|---|---|
/ds-go /ds /zai /oc-zen /oc-thinking |
model-switcher | Switch model, or cycle a group |
/context-limit |
context-limit | Show or set a working context budget |
/max |
max-mode | Set the default best-of-N count |
best_of_n |
max-mode | Run candidates and return the judged winner |
/remember /memory /checkpoint |
memory | Write or read the memory files |
memory_read memory_append memory_search |
memory | Tool access to memory |
/sila |
sila-prime | Run a sila subcommand (default: prime) |
task |
task-tool | Add, update, list, or clear tree tasks |
/goal |
goal | Set, show, or clear the stopping condition |
/workflow |
workflows | Run a workflow, or list them |
/loop |
loop | Register, list, or stop a recurring prompt |
/compose-next |
compose-next | Start the spec to ship workflow |
/skip-permissions |
skip-permissions | Toggle auto-approve for this session |
/distill |
distill | Propose, list, or apply reusable artifacts |
- Goal, max mode, and distill call
ctx.generate.text, which fails on OpenCode Go withRequest is missing x-opencode-session. Point them at a working model withGOAL_MODEL,MAX_MODE_MODEL, andDISTILL_MODEL. - The workflow runner uses child sessions and inherits the invoking session's model, so it needs no override.
- One loop per session, because the turn-end event names the session, not the run.
skip-permissionsnever overrides a deny.context-limitnever raises a window.distillwrites only on an explicit apply and never overwrites.sila-primecalls thesilaCLI.SILA_BINpoints at the binary,SILA_PRIME=offdisables the first-prompt briefing, andSILA_PRIME_BUDGETcaps it. The session is marked after one attempt, so/silarefreshes on demand.- sila's MCP server is configured in
~/.config/opencode/opencode.jsonundermcp.servers.sila, with a permission block that allows seven tools (prime_context,search_knowledge,search_messages,omni_search,get_latest_handoff,save_handoff,save_memo) and denies the rest, so 41 tools do not load into every prompt.
- One repo per plugin, MIT licensed, with README, AGENTS.md, CONTRIBUTING.md, LICENSE, and a NOTICE when content is adapted from another project.
- Single-file, dependency-free plugin. Export a plain
{ id, setup }object and use Bun globals. Do not import@opencode/plugin. - Tests with
bun test. - Built through the compose-next workflow: spec, workspace, implement, verify,
review with the
reviewersubagent, finalize, then a pull request. - Adding, renaming, or changing a plugin means updating this map. The checklist
is in
AGENTS.md. - Version in
package.jsonplus an exportedVERSIONconstant, kept equal by a test. Releases are taggedvX.Y.Zon main after merge, with a GitHub release.
Some plugins here are ports; each names its source and keeps the license notice
in its NOTICE file. The first program ported from MiMoCode
(https://github.com/XiaomiMiMo/MiMo-Code), MIT, Copyright (c) 2026 MiMo Code,
Xiaomi Corporation. MiMoCode also ships a USE_RESTRICTIONS.md and a trademark
policy. Check those before copying content. This note is a flag, not legal
advice.