diff --git a/README.md b/README.md
index 212dd85..6b19e7f 100644
--- a/README.md
+++ b/README.md
@@ -184,6 +184,15 @@
+
+ cache-stats
- Showing the active session's cache hit rate in a popup dialog
+
+ This plugin shows the overall cache hit rate, a per-model breakdown, a per subagent breakdown and the associated cost, making it easy to understand cache performance at a glance.
+
+ 🔗 View Repository
+
+
+
CC Safety Net
- Safety net catching destructive commands
@@ -432,6 +441,20 @@ Key features:
+
+ Image Reader Relay
- Let text-only models read pasted images via a vision model (OpenCode plugin)
+
+ OpenCode plugin that lets text-only models read images pasted into a session.
+Stashes pasted images in memory, injects a note into the model's context only,
+and registers a `read_image` tool the main model calls with its own question —
+relaying the image to a configurable vision model in a throwaway session, then
+cleaning up. Models that support images natively are left untouched.
+
+
+ 🔗 View Repository
+
+
+
kibi-opencode
- Repo-local, branch-scoped knowledge and traceability for OpenCode
@@ -453,6 +476,15 @@ sync and targeted validation checks, and helps keep repo knowledge branch-local
+
+ Laya Drift
- Semantic drift monitoring for long-running OpenCode agent sessions.
+
+ Laya Drift monitors whether an OpenCode agent is staying aligned with its original plan over long-running sessions. It uses the Laya decision model to embed session state, compares the current semantic state against a calibrated baseline with Jensen-Shannon divergence, and surfaces a live drift score in the OpenCode UI. When drift gets high, it can inject the score into the system prompt so the agent can self-correct. Sessions can also be recalibrated to establish a new baseline after an intentional change in direction.
+
+ 🔗 View Repository
+
+
+
Lemma
- Persistent memory layer for LLMs via MCP - local, zero-dependency, works on all clients
@@ -536,11 +568,11 @@ sync and targeted validation checks, and helps keep repo knowledge branch-local
- Oh My Opencode
- Agents & Pre-built tools
+ Oh My OpenAgent
- Agents & Pre-built tools
- Background agents, pre-built tools (LSP/AST/MCP), curated agents, and a Claude Code compatible layer.
+ Background agents, pre-built tools (LSP/AST/MCP), curated agents, and a Claude Code compatible layer. (formerly Oh My Opencode)
- 🔗 View Repository
+ 🔗 View Repository
@@ -947,6 +979,15 @@ of model or provider, no configuration required.
+
+ OpenCode Teamwork
- Antigravity-style multi-agent orchestration with verification loops
+
+ Brings the Antigravity-style Teamwork orchestration model to OpenCode V2, where a Sentinel coordinator dispatches a DAG of specialist agents and a verifier gates every task until it passes. Ships 10 agents (Sentinel, Orchestrator, Crafter, Scout, Worker, Proof Worker, Proposer, Falsifier, Synthesizer, Verifier), 7 slash commands, per-agent git worktrees, cost tracking, and a 9-step prompt-crafting wizard.
+
+ 🔗 View Repository
+
+
+
Opencode Telemetry
- Passive cross-session telemetry to local SQLite; cost rollups across agent orchestration chains
@@ -1113,6 +1154,15 @@ of model or provider, no configuration required.
+
+ opencode-llm-proxy
- OpenCode-backed API gateway with tool calling
+
+ Local OpenCode plugin that exposes OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, and Gemini-compatible endpoints for any model configured in OpenCode. Supports streaming, model listing, and real tool/function calling including parallel tool calls, so tools like n8n, Open WebUI, LangChain, Continue, Zed, and coding agents can reuse the same OpenCode model setup.
+
+ 🔗 View Repository
+
+
+
opencode-mystatus
- Check AI subscription quotas
@@ -1195,6 +1245,15 @@ of model or provider, no configuration required.
+
+ OpenCodeMirror
- Bridge OpenCode sessions to chat platforms from your phone
+
+ Native OpenCode plugin that mirrors session output to Telegram and lets you approve permissions, answer questions, and send prompts from chat. Runs inside the OpenCode process with no separate server.
+
+ 🔗 View Repository
+
+
+
OpenCodeRAG
- Local-first RAG plugin for semantic code search with tree-sitter chunking and LanceDB
@@ -1328,6 +1387,16 @@ suggestions. All processing stays local by default — no data leaves the machin
+
+ Rehydra
- Prevent your coding agent from leaking secrets to LLM providers
+
+ Intercepts the conversation between OpenCode and the LLM, replacing secrets from .env files and detected API keys, tokens, and credentials with placeholders before they leave your machine. Secrets are transparently restored before any tool executes locally. Supports pattern-based detection for Stripe, OpenAI, AWS, GitHub, Slack, and more.
+
+
+ 🔗 View Repository
+
+
+
Research Papers
- Search arXiv and OpenAlex for research papers with recency and citation filtering
@@ -1373,6 +1442,19 @@ suggestions. All processing stays local by default — no data leaves the machin
+
+ Sidebar Usage
- TUI sidebar showing per-turn and session-cumulative token usage, cache hit rate, and cost
+
+ Adds a collapsible "Usage" block to the opencode TUI sidebar showing token
+breakdown (input, output, reasoning, cache read, cache write), cache hit
+percentage, context window usage, and session cost. Updates reactively as
+new assistant messages arrive.
+
+
+ 🔗 View Repository
+
+
+
Simple Memory
- Git-based memory
@@ -1409,6 +1491,15 @@ suggestions. All processing stays local by default — no data leaves the machin
+
+ SourcePier
- Persistent project documents across OpenCode sessions
+
+ Manage project-scoped Markdown documents in the OpenCode v2 native TUI. Import, search, edit, and export Sources across sessions, while agents can discover and read them through read-only tools.
+
+ 🔗 View Repository
+
+
+
Subagent Reporter
- See exactly what your subagents are up to (in the terminal) when invoked during an `opencode run _____` session.
@@ -1472,6 +1563,16 @@ suggestions. All processing stays local by default — no data leaves the machin
+
+ Topic Compaction
- Appends late-position overrides to compaction prompts for topic-based session summarization.
+
+ This plugin improves session compaction continuity by restructuring how opencode summarizes file activity. Instead of a single linear stream that can lose track of pending work, the plugin clusters actual file activity into thematic topics during compaction. Each topic carries an explicit `blocked:` status field, and open blockers are guaranteed to survive across successive compaction cycles, ensuring unresolved work persists through session restarts.
+
+
+ 🔗 View Repository
+
+
+
Tree-sitter Language Pack
- Code intelligence for 300+ languages
diff --git a/dist/registry.json b/dist/registry.json
index 927a618..d261a81 100644
--- a/dist/registry.json
+++ b/dist/registry.json
@@ -254,6 +254,18 @@
],
"tags": []
},
+ {
+ "productId": "cache-stats",
+ "type": "plugins",
+ "displayName": "cache-stats",
+ "repoUrl": "https://github.com/nmdra/opencode-cache-stats",
+ "tagline": "Showing the active session's cache hit rate in a popup dialog",
+ "description": "This plugin shows the overall cache hit rate, a per-model breakdown, a per subagent breakdown and the associated cost, making it easy to understand cache performance at a glance.",
+ "scope": [
+ "global"
+ ],
+ "tags": []
+ },
{
"productId": "cc-safety-net",
"type": "plugins",
@@ -547,6 +559,25 @@
"homepageUrl": "https://www.npmjs.com/package/@xberg-io/opencode-html-to-markdown",
"installation": "Add the package to `opencode.json`:\n\n```json\n{\n \"plugin\": [\"@xberg-io/opencode-html-to-markdown\"]\n}\n```\n\nRequires the `html-to-markdown` CLI.\n"
},
+ {
+ "productId": "image-reader-relay",
+ "type": "plugins",
+ "displayName": "Image Reader Relay",
+ "repoUrl": "https://github.com/massiveits/image-reader-relay",
+ "tagline": "Let text-only models read pasted images via a vision model (OpenCode plugin)",
+ "description": "OpenCode plugin that lets text-only models read images pasted into a session.\nStashes pasted images in memory, injects a note into the model's context only,\nand registers a `read_image` tool the main model calls with its own question —\nrelaying the image to a configurable vision model in a throwaway session, then\ncleaning up. Models that support images natively are left untouched.\n",
+ "scope": [
+ "global",
+ "project"
+ ],
+ "tags": [
+ "images",
+ "vision",
+ "multimodal",
+ "productivity"
+ ],
+ "installation": "## Prerequisites\n- OpenCode with a tool-capable main model\n- Access to a vision model via one of your providers\n\n## Installation\nAdd to `opencode.json` (project) or `~/.config/opencode/opencode.json` (global):\n```json\n{\n \"plugin\": [\n [\"massiveits/image-reader-relay\", { \"model\": \"clinepass/cline-pass/mimo-v2.5\" }]\n ]\n}\n```\n"
+ },
{
"productId": "kibi-opencode",
"type": "plugins",
@@ -577,6 +608,18 @@
],
"tags": []
},
+ {
+ "productId": "laya-drift",
+ "type": "plugins",
+ "displayName": "Laya Drift",
+ "repoUrl": "https://github.com/pythongiant/laya-drift",
+ "tagline": "Semantic drift monitoring for long-running OpenCode agent sessions.",
+ "description": "Laya Drift monitors whether an OpenCode agent is staying aligned with its original plan over long-running sessions. It uses the Laya decision model to embed session state, compares the current semantic state against a calibrated baseline with Jensen-Shannon divergence, and surfaces a live drift score in the OpenCode UI. When drift gets high, it can inject the score into the system prompt so the agent can self-correct. Sessions can also be recalibrated to establish a new baseline after an intentional change in direction.",
+ "scope": [
+ "global"
+ ],
+ "tags": []
+ },
{
"productId": "lemma",
"type": "plugins",
@@ -616,6 +659,31 @@
"homepageUrl": "https://www.npmjs.com/package/@xberg-io/opencode-liter-llm",
"installation": "Add the package to `opencode.json`:\n\n```json\n{\n \"plugin\": [\"@xberg-io/opencode-liter-llm\"]\n}\n```\n\nRequires the `liter-llm` CLI.\n"
},
+ {
+ "productId": "llm-proxy",
+ "type": "plugins",
+ "displayName": "opencode-llm-proxy",
+ "repoUrl": "https://github.com/KochC/opencode-llm-proxy",
+ "tagline": "OpenCode-backed API gateway with tool calling",
+ "description": "Local OpenCode plugin that exposes OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, and Gemini-compatible endpoints for any model configured in OpenCode. Supports streaming, model listing, and real tool/function calling including parallel tool calls, so tools like n8n, Open WebUI, LangChain, Continue, Zed, and coding agents can reuse the same OpenCode model setup.",
+ "scope": [
+ "global",
+ "project"
+ ],
+ "tags": [
+ "openai",
+ "anthropic",
+ "gemini",
+ "responses-api",
+ "llm-gateway",
+ "tool-calling",
+ "n8n",
+ "open-webui",
+ "langchain"
+ ],
+ "homepageUrl": "https://www.npmjs.com/package/opencode-llm-proxy",
+ "installation": "Add the package to `opencode.json`:\n\n```json\n{\n \"plugin\": [\"opencode-llm-proxy\"]\n}\n```\n\nThe proxy starts automatically on `http://127.0.0.1:4010`.\n"
+ },
{
"productId": "magic-context",
"type": "plugins",
@@ -719,12 +787,12 @@
"minVersion": "1.14.0"
},
{
- "productId": "oh-my-opencode",
+ "productId": "oh-my-openagent",
"type": "plugins",
- "displayName": "Oh My Opencode",
- "repoUrl": "https://github.com/code-yeongyu/oh-my-opencode",
+ "displayName": "Oh My OpenAgent",
+ "repoUrl": "https://github.com/code-yeongyu/oh-my-openagent",
"tagline": "Agents & Pre-built tools",
- "description": "Background agents, pre-built tools (LSP/AST/MCP), curated agents, and a Claude Code compatible layer.",
+ "description": "Background agents, pre-built tools (LSP/AST/MCP), curated agents, and a Claude Code compatible layer. (formerly Oh My Opencode)",
"scope": [
"global"
],
@@ -1605,6 +1673,25 @@
],
"tags": []
},
+ {
+ "productId": "opencode-sidebar-usage",
+ "type": "plugins",
+ "displayName": "Sidebar Usage",
+ "repoUrl": "https://github.com/HunkYuan/opencode-sidebar-usage",
+ "tagline": "TUI sidebar showing per-turn and session-cumulative token usage, cache hit rate, and cost",
+ "description": "Adds a collapsible \"Usage\" block to the opencode TUI sidebar showing token\nbreakdown (input, output, reasoning, cache read, cache write), cache hit\npercentage, context window usage, and session cost. Updates reactively as\nnew assistant messages arrive.\n",
+ "scope": [
+ "global"
+ ],
+ "tags": [
+ "sidebar",
+ "tokens",
+ "tui",
+ "cost",
+ "cache"
+ ],
+ "minVersion": "1.17.9"
+ },
{
"productId": "opencode-simple-notify",
"type": "plugins",
@@ -1714,6 +1801,28 @@
],
"tags": []
},
+ {
+ "productId": "opencode-teamwork",
+ "type": "plugins",
+ "displayName": "OpenCode Teamwork",
+ "repoUrl": "https://github.com/sorcnr/opencode-teamwork-v2",
+ "tagline": "Antigravity-style multi-agent orchestration with verification loops",
+ "description": "Brings the Antigravity-style Teamwork orchestration model to OpenCode V2, where a Sentinel coordinator dispatches a DAG of specialist agents and a verifier gates every task until it passes. Ships 10 agents (Sentinel, Orchestrator, Crafter, Scout, Worker, Proof Worker, Proposer, Falsifier, Synthesizer, Verifier), 7 slash commands, per-agent git worktrees, cost tracking, and a 9-step prompt-crafting wizard.",
+ "scope": [
+ "global"
+ ],
+ "tags": [
+ "agents",
+ "multi-agent",
+ "orchestration",
+ "worktrees",
+ "verification",
+ "commands"
+ ],
+ "homepageUrl": "https://www.npmjs.com/package/opencode-teamwork-v2",
+ "installation": "Install the plugin and choose a model for each agent:\n\n```sh\nopencode plugin add opencode-teamwork-v2\nnpx opencode-teamwork-v2 init\n```\n\nOr install straight from GitHub: `opencode plugin add github:sorcnr/opencode-teamwork-v2`\n",
+ "minVersion": "2.0.0"
+ },
{
"productId": "opencode-telemetry",
"type": "plugins",
@@ -1904,6 +2013,18 @@
],
"tags": []
},
+ {
+ "productId": "opencodemirror",
+ "type": "plugins",
+ "displayName": "OpenCodeMirror",
+ "repoUrl": "https://github.com/iceberghbs/OpenCodeMirror",
+ "tagline": "Bridge OpenCode sessions to chat platforms from your phone",
+ "description": "Native OpenCode plugin that mirrors session output to Telegram and lets you approve permissions, answer questions, and send prompts from chat. Runs inside the OpenCode process with no separate server.",
+ "scope": [
+ "global"
+ ],
+ "tags": []
+ },
{
"productId": "openhax-codex",
"type": "plugins",
@@ -2019,6 +2140,18 @@
],
"tags": []
},
+ {
+ "productId": "rehydra",
+ "type": "plugins",
+ "displayName": "Rehydra",
+ "repoUrl": "https://github.com/rehydra-ai/rehydra-sdk",
+ "tagline": "Prevent your coding agent from leaking secrets to LLM providers",
+ "description": "Intercepts the conversation between OpenCode and the LLM, replacing secrets from .env files and detected API keys, tokens, and credentials with placeholders before they leave your machine. Secrets are transparently restored before any tool executes locally. Supports pattern-based detection for Stripe, OpenAI, AWS, GitHub, Slack, and more.\n",
+ "scope": [
+ "global"
+ ],
+ "tags": []
+ },
{
"productId": "ring-a-bell-example",
"type": "plugins",
@@ -2091,6 +2224,18 @@
],
"tags": []
},
+ {
+ "productId": "sourcepier",
+ "type": "plugins",
+ "displayName": "SourcePier",
+ "repoUrl": "https://github.com/happyeric77/sourcepier",
+ "tagline": "Persistent project documents across OpenCode sessions",
+ "description": "Manage project-scoped Markdown documents in the OpenCode v2 native TUI. Import, search, edit, and export Sources across sessions, while agents can discover and read them through read-only tools.",
+ "scope": [
+ "global"
+ ],
+ "tags": []
+ },
{
"productId": "subtask2",
"type": "plugins",
@@ -2151,6 +2296,18 @@
],
"tags": []
},
+ {
+ "productId": "topic-compaction",
+ "type": "plugins",
+ "displayName": "Topic Compaction",
+ "repoUrl": "https://github.com/lhaarman/opencode-topic-compaction",
+ "tagline": "Appends late-position overrides to compaction prompts for topic-based session summarization.",
+ "description": "This plugin improves session compaction continuity by restructuring how opencode summarizes file activity. Instead of a single linear stream that can lose track of pending work, the plugin clusters actual file activity into thematic topics during compaction. Each topic carries an explicit `blocked:` status field, and open blockers are guaranteed to survive across successive compaction cycles, ensuring unresolved work persists through session restarts.\n",
+ "scope": [
+ "global"
+ ],
+ "tags": []
+ },
{
"productId": "tree-sitter-language-pack",
"type": "plugins",