OpenCode SubAgent Magazine

A real-time sub-agent monitoring sidebar for the OpenCode TUI, surfacing each sub-agent's status, token usage and cost at a glance.

Stars
★ 134
Last updated
17d ago
License
MIT
Primary language
TypeScript

At a glance

How it runs
Agent plugin / skill
Works with
Platform-specific
Cost
Free, no paid service needed
Setup effort
Low · running in minutes
You'll need
OpenCode TUI 1.x 或 2.xnpm 包 opencode-subagent-magazineShell / CLINetwork accessLocal filesystem
Typical use
OpenCode users running several sub-agents in parallel who want to see which are running or failing without leaving the terminal
Not a fit if
  • Users who don't run OpenCode (it operates only inside the OpenCode TUI)
  • Anyone relying on `opencode plugin add` to install it, which the README warns breaks TUI plugin loading
Source review
63/100 · Some gaps

What does this agent do, and when should you use it?

OpenCode SubAgent Magazine is an OpenCode TUI plugin (npm package opencode-subagent-magazine) that shows a real-time sub-agent monitoring panel in the terminal sidebar. It reads token data and sub-agent information through OpenCode SDK standard interfaces, marking agents with colored dots for running (breathing animation), completed, and error states. Clicking an entry expands details such as agent type, status, elapsed time, tokens, cost, model and progress, with one-click navigation to the sub-agent's full conversation. The plugin includes data persistence, configurable TTL auto-cleanup, atomic merge writes for multi-instance safety, and missed-event recovery via periodic correction plus history scanning. It is model-agnostic, works with all OpenCode-compatible models (DeepSeek / Claude / GPT, etc.), and supports both OpenCode 1.x and 2.x.

Once loaded as an OpenCode TUI plugin, it renders a sidebar monitoring panel: real-time green/yellow/red dots for completed/running/error states, and per-sub-agent token and cost summaries aggregated in the title bar via the OpenCode SDK. Expanding an entry shows agent type, status, elapsed time, tokens, cost, model and progress; → Enter session jumps to the sub-agent's full conversation; clicking the Session ID opens a dialog with the full ID for copying; - Mark complete manually terminates stuck zombie entries. Slash commands configure everything at runtime: /subagent-lang (Chinese/English), /subagent-max (max visible entries, default 10), /subagent-order (ascending/descending), /subagent-scroll (wheel vs. click-paging), /subagent-ttl (3/7/14/30-day retention), /subagent-clear-entries, /subagent-clear-running, /subagent-border, /subagent-refresh (smooth 100ms / power-saving 1s), /subagent-cost, /subagent-time, /subagent-tokens, /subagent-time-format (short/decimal/clock/compact/seconds), /subagent-config and /subagent-sections. All settings take effect immediately and persist; multiple TUI instances use atomic merge writes to avoid overwriting each other, and missed events are recovered through periodic correction, history scanning and discovery polling.

  1. OpenCode users running several sub-agents in parallel who want to see which are running or failing without leaving the terminal
  2. Cost-conscious developers who need per-sub-agent token and cost tracking with a global title-bar summary
  3. Engineers juggling multiple sessions who want one-click access to any sub-agent's full conversation
  4. Long-term OpenCode teams that want monitoring data to auto-expire after 3/7/14/30 days
  5. Heavy users with multiple TUI instances, worried about entries overwriting each other or lost events
  6. Mixed Chinese/English teams who want to switch the panel language instantly inside the TUI

How do you install or deploy this agent?

The plugin supports both opencode 1.x and 2.x.

opencode 2.x: create or edit ~/.config/opencode/cli.json and add an entry to the plugins array (do NOT use opencode plugin add — it writes to opencode.jsonc and breaks TUI plugin loading):

{
  "plugins": [
    {
      "package": "opencode-subagent-magazine@latest",
      "options": {
        "enabled": true
      }
    }
  ]
}

opencode 1.x, method 1 (recommended): press Ctrl + P in OpenCode, search for install plugin, and enter:

opencode-subagent-magazine@latest

opencode 1.x, method 2 (manual): install the npm package:

npm install -g opencode-subagent-magazine@latest

Then create or edit ~/.config/opencode/tui.jsonc:

{
  "$schema": "https://opencode.ai/tui.json",
  "plugin": ["opencode-subagent-magazine@latest"]
}

Restart OpenCode and open any session to see the panel in the sidebar. If the plugin doesn't take effect, clear the plugin cache (V2: ~/.cache/opencode/npm, V1: ~/.cache/opencode/packages) and restart.

How do you use this agent?

After restarting OpenCode and opening any session, the sidebar shows the monitoring panel. Collapse/expand via the title bar; click an entry row to expand agent type, status, elapsed time, tokens, cost, model and progress; click → Enter session to jump to the sub-agent's full conversation; click ses_xxx… ⎘ to view and copy the full Session ID; click - Mark complete to manually terminate a running zombie entry. Page with the wheel or ↑ more / ↓ more (toggle via /subagent-scroll); ↑ Top / ↓ Bottom jump to the latest entry. All configuration is done via slash commands or the Ctrl + P command palette: /subagent-lang (language), /subagent-max (max entries, default 10), /subagent-order, /subagent-scroll, /subagent-ttl (retention), /subagent-clear-entries, /subagent-clear-running, /subagent-border, /subagent-refresh (smooth/power-saving), /subagent-cost, /subagent-time, /subagent-tokens, /subagent-time-format, /subagent-config, /subagent-sections (settings menu). Status colors: 🟢 completed, 🟡 running (breathing animation), 🔴 error.

What are this agent's strengths and limitations?

Pros
  • Native real-time sub-agent monitoring inside the OpenCode TUI — status, tokens, cost, model and progress in one expandable panel
  • Deliberate robustness: atomic merge writes for multi-instance safety, missed-event recovery (periodic correction + history scan + discovery polling), configurable TTL cleanup
  • Highly configurable via a dozen-plus slash commands covering sorting, paging, refresh mode, time format and display toggles, all persisted instantly
  • Runtime Chinese/English switching (/subagent-lang) with persisted preference and adaptive low-saturation theming
  • Model-agnostic: data comes through OpenCode SDK standard interfaces, compatible with all OpenCode-compatible models (DeepSeek / Claude / GPT, etc.)
Limitations
  • Only fits the OpenCode ecosystem — it does not work with Claude Code, Codex or other agent runtimes
  • OpenCode known issue #6774 pins the plugin cache to the first installed version; upgrading requires manual cache clearing and reinstall
  • On opencode 2.x the official opencode plugin add command cannot be used; you must hand-edit cli.json or server plugin loading errors occur
  • Its value depends on OpenCode's sub-agent feature itself; running OpenCode without sub-agents makes it largely moot

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
OpenCode SubAgent Magazine This agent 63 · Some gaps Agent plugin / skillFree ★ 134 17d ago TypeScript —
abtop Agent Session Monitor 57 · Major gaps CLIFree ★ 3.8k 1mo ago Rust Codex · Claude Code
OpenCode Goal Plugin 73 · Some gaps Agent plugin / skillFree + model costs ★ 514 2d ago TypeScript —
ccusage 67 · Some gaps — ★ 19k today Rust Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Some gaps
63/ 100 5-point scale 3.2 / 5
Trust 16/29
Reliability 9/14
Adaptability 12/18
Convention 13/18
Effectiveness 9/13
Verifiability 4/8
Why each dimension lost points
Trust16 / 29 · 2.8/5

Evidence shows a local TUI monitor plugin: reads via OpenCode SDK/local database, writes local KV, no network egress signals; narrow permission surface, least_privilege 2. README asserts confirmation before /subagent-clear-entries deletion, but no implementation source is provided, so user_confirmation is 1 (asserted only). Data flow (local DB → sidebar → local persistence) is described in README and tests, giving 2; persisted content includes user prompts (prefix-capped only, no redaction seen), sensitive_data_handling 1. Explicit peerDependencies (mostly optional), CI, and npm trusted publishing (id-token) support dependency_security 2. No evidence of external effects beyond local read/write, 2. Rollback relies on manual cache clearing and reinstall; no rollback mechanism, 1. Repository and author attribution clear, source_attribution 2.

Reliability9 / 14 · 3.2/5

package.json, README and version are mutually consistent; tests show deliberate self-consistent design (multi-instance safety, missed-event recovery), self_consistency 2. Peer deps declared optional with a test covering silent fallback when bun:sqlite is unavailable, dependency_availability 2. README includes a troubleshooting section and concrete error scenarios (e.g., the plugin-add misuse message), failure_messages 2, though core src is absent so runtime error handling quality cannot be verified.

Adaptability12 / 18 · 3.3/5

Audience (OpenCode users) and scenario (sub-agent monitoring) are well defined with bilingual UI and rich configuration, audience_and_scenarios 2; the compatibility section's model-agnostic claim rests on standard SDK interfaces, capability_boundaries 2. Slash command semantics are precise with immediate effect and persistence, trigger_precision 2; coverage of OpenCode 1.x/2.x, OS-specific cache paths and XDG env vars (corroborated by findDbPath tests), environment_fit 2.

Convention13 / 18 · 3.6/5

README is well structured (install/usage/update/compat/license), information_architecture 2. The install section is exceptionally detailed with dual 1.x/2.x paths, misuse correction, and cache troubleshooting — install_notes 3. Naming is stable (/subagent-* prefix), naming_stability 2. Screenshots and command tables exist but no FAQ or worked examples, examples_and_faq 2. Known issue #6774 and cache version-locking are explicitly disclosed, known_limitations 2. Full MIT text consistent with package.json, license 3. Version 1.7.4 exists but no CHANGELOG file is present, versioning_changelog 1. CI and publish workflows exist and the author is identifiable, but no explicit maintenance commitment, maintenance_responsibility 2.

Effectiveness9 / 13 · 3.5/5

Output usability is reflected in many display/format/ordering options and persisted preferences, well described in README but not execution-verified, output_usability 2. A real-time sub-agent sidebar provides genuine marginal value for multi-sub-agent workflows, marginal_value 2. Power-saving refresh mode, TTL cleanup and reduced redraw options show explicit cost consideration, cost_benefit 2.

Verifiability4 / 8 · 2.5/5

This review had only README, LICENSE, package.json, CI workflows and three test files; src/ is not provided, so most README feature claims cannot be traced to source, claim_traceability 1. Tests corroborate some README claims (cleared-entry lists, persisted prompt capping, degraded fallback behavior), cross_source_corroboration 2. The README mixes marketing language with factual statements without separation, fact_inference_separation 1.

Risks and how to mitigate them
  • This is a static review; only README, package.json, CI and tests were provided — core src/ was not seen, and no runtime behavior was executed or independently tested.
  • The plugin persists sub-agent prompts to local KV (prefix-capped only, no redaction observed); assess local storage risk if sessions contain sensitive content.
  • README asserts that /subagent-clear-entries requires confirmation, but no source backs this; back up OpenCode data before destructive clears.
  • No CHANGELOG is provided; behavior changes in 1.7.4 can only be judged from commit history.
  • The publisher is unverified; when installing from the public npm registry, verify the package name opencode-subagent-magazine against the repository fingerprint.
  • Due to OpenCode issue #6774, the plugin cache may lock onto the first installed version; updates require manual cache clearing.
Evidence confidence: Low Reviewed Oct 25, 2026 Reviewed revision 07bfa1219805
See the full review method →

FAQ

Is the plugin free?
Yes, it is a free, MIT-licensed npm package. It only monitors and aggregates data; any model costs come from the AI models you use inside OpenCode.
Can I install it on opencode 2.x with opencode plugin add?
No. The README explicitly warns that this command writes the entry to opencode.jsonc (for server plugins) and produces the error "Plugin must export a default definition with an id and an effect or setup function." On 2.x, declare it in the plugins array of ~/.config/opencode/cli.json instead.
How do I update the plugin?
Because of OpenCode known issue #6774, the plugin cache is locked to the version first installed. Delete ~/.cache/opencode/packages/opencode-subagent-magazine@latest (or ~/.cache/opencode/npm for V2), reinstall via Ctrl + P → install plugin, then restart OpenCode.
Which AI models does it support?
The code is fully model-agnostic and supports all OpenCode-compatible models (DeepSeek / Claude / GPT, etc.). Token and sub-agent data come through OpenCode SDK standard interfaces.
Will monitoring data grow on disk forever?
No. Use /subagent-ttl to set a 3/7/14/30-day retention (renewed on each access, cleared on expiry) or unlimited; /subagent-clear-entries removes all records for the current session.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents