New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@serkanalgur/opencode-nexus

Package Overview
Dependencies
Maintainers
1
Versions
64
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@serkanalgur/opencode-nexus

Adaptive Multi-Agent Orchestration with Cost Intelligence for OpenCode V2

Source
npmnpm
Version
2.5.0
Version published
Weekly downloads
1.2K
-86.61%
Maintainers
1
Weekly downloads
 
Created
Source
OpenCode Nexus

npm version npm downloads license opencode typescript sponsor

Adaptive Multi-Agent Orchestration with Cost Intelligence

Installation • Quick Start • Features • Agents • Tools • Configuration • Development

What is OpenCode Nexus?

OpenCode Nexus is an agent orchestration plugin for OpenCode V2 that spawns real sub-agent sessions with cost-aware routing, DAG-based task execution, self-healing, and a TUI/web dashboard.

Key Capabilities

CapabilityDescription
Real SessionsEach agent runs in its own OpenCode session via ctx.session.create()
Role-Based AgentsArchitect, Coder, Reviewer, Tester, Explorer, Documenter — each with specialized prompts
DAG ExecutionTasks are parallelized based on dependency graphs with priority queuing
Cost-Aware RoutingScores models by quality/cost/speed, selects optimal per task complexity
Self-HealingRetries with exponential backoff, context transfer, escalation policies
Web DashboardReal-time monitoring via HTTP + WebSocket server on port 4747
TUI DashboardMonitor agents, budget, and config from the terminal
Team ModeLead agent orchestrates specialist agents in parallel
Todo & Goal TrackingEnforce task completion, persist objectives across sessions
Persistent MemorySQLite-backed memory store with TTL and search
Learning ModulePattern recognition from failures, confidence scoring
JSONC ConfigRead/write project and global config files with comments
LSP IntegrationAuto-enabled for TypeScript, Python, Go, and 30+ languages
AST-GrepPattern-aware code search and rewriting
Security ScanningAutomated secrets and vulnerability detection
Slash Commands/nexus, /nexus web, /nexus review, and more

Installation

# Using npm
npm install -g @serkanalgur/opencode-nexus

# Using bun
bun add -g @serkanalgur/opencode-nexus

# Add to OpenCode config
opencode plugin @serkanalgur/opencode-nexus --global

Or manually add to ~/.config/opencode/opencode.jsonc:

{
  "plugins": ["@serkanalgur/opencode-nexus"]
}

Auto-Setup

On first load, Nexus automatically:

  • Creates nexus-orchestrator agent in ~/.config/opencode/agents/
  • Creates subagent files: nexus-coder, nexus-explorer, nexus-reviewer, nexus-tester, nexus-architect, nexus-documenter
  • Enables LSP in OpenCode config
  • Configures agent models from .opencode/nexus.jsonc

Quick Start

1. Configure Agent Models

Press Ctrl+N or type /nexus to open the configuration dialog. Select where to save (project or global).

2. Use the Nexus Orchestrator

Select nexus-orchestrator as your primary agent, then:

# Spawn agents for tasks
Use nexus.spawn with role="coder" and task="Implement JWT auth"

# Wait for completion and get results
Use nexus.spawn with role="reviewer" and task="Review the implementation" and wait=true

# Delegate (convenience wrapper)
Use nexus.delegate with role="tester" and task="Write tests for auth module"

# Check progress
Use nexus.sessions

# Track goals
Use nexus.goal.set with description="Build complete auth system"

3. Use Slash Commands

/nexus              # Open full configuration
/nexus web          # Start web dashboard (open http://localhost:4747)
/nexus review       # Quick code review
/nexus fix          # Quick fix for last error
/nexus explain      # Explain last change

Features

Cost-Aware Model Selection

Models are configured per role in .opencode/nexus.jsonc. Nexus scores models by quality, cost, and speed — then picks the optimal one:

{
  "models": {
    "architect": "opencode/muse-spark-1.3-contributor-free",
    "coder": "opencode/mimo-v2.6-flash-free",
    "reviewer": "opencode/muse-spark-1.2-contributor-free",
    "tester": "opencode-go/mimo-v2.5",
    "explorer": "opencode/big-pickle",
    "documenter": "opencode/big-pickle"
  }
}

When you call nexus.spawn(role="coder"), the coder model from config is used automatically.

Self-Healing with Escalation

Failed tasks follow a 4-step escalation chain:

  • Retry — Exponential backoff (1s, 2s, 4s...)
  • Respawn — Collect context, spawn new agent with transferred state
  • Fallback Model — Try cheaper alternative model
  • Alert — Emit escalation event, mark as failed

Web Dashboard

Real-time monitoring via embedded HTTP + WebSocket server on port 4747.

How to start:

  • Ask the agent to start the dashboard:

    Use nexus.dashboard.start with port=4747
    
  • Or use the TUI command:

    /nexus web
    

    This shows instructions and tries to open your browser.

  • Open in browser: http://localhost:4747

What it shows:

  • Agent grid with role, status, model, and metrics
  • Cost tracker with budget gauge
  • DAG visualization with task dependencies
  • Activity log with all events
  • Config panel (read-only)
  • Auto-refresh every 5 seconds

Stop the dashboard:

nexus.dashboard.stop()

Team Mode

Create a team of specialist agents working in parallel:

nexus.team.create(name="auth-team", leadRole="architect")
nexus.team.addMember(teamId="...", role="coder", model="opencode/mimo-v2.6-flash-free")
nexus.team.addMember(teamId="...", role="reviewer", model="opencode/muse-spark-1.2-contributor-free")
nexus.team.activate(teamId="...")

Todo & Goal Tracking

Track tasks and persist objectives across sessions:

nexus.todo.add(description="Implement auth middleware")
nexus.todo.list()
nexus.todo.complete(id="...")

nexus.goal.set(description="Build complete auth system")
nexus.goal.status()
nexus.goal.complete()

LSP Integration

OpenCode's built-in LSP servers are auto-enabled. Supports 30+ languages including TypeScript, Python, Go, Rust, and more.

AST-Grep

Pattern-aware code search and rewriting:

nexus.astgrep.search(pattern="console.log($$$)", language="typescript", directory="src/")
nexus.astgrep.rewrite(pattern="var $X", rewrite="const $X", language="typescript", directory="src/")

Security Scanning

Automated secrets and vulnerability detection:

nexus.security.scan(content="const API_KEY = \"sk-123\"", filename="config.ts")

Persistent Memory

SQLite-backed memory store that survives restarts:

orchestrator.memoryStore.set({
  key: 'api-pattern',
  value: { endpoint: '/users', method: 'GET' },
  scope: 'project',
  author: 'architect',
  confidence: 0.9,
  tags: ['api', 'design']
})

Learning Module

Records failure patterns and solutions, building confidence over time:

const solutions = orchestrator.learning.findSolutions('TypeScript TS2345 error')
// → [{ entry: { solution: 'Add type cast', confidence: 0.85 }, similarity: 0.7 }]

Preset Configurations

PresetModelsBudgetSelf-Healing
minimalGemini Flash$1Off
balancedClaude/GPT mix$10On (3 retries)
enterpriseTop-tier$50On (5 retries)
cost-optimizedCheapest$3On (2 retries)

Agents

Nexus creates 7 agent files in ~/.config/opencode/agents/:

AgentModePurpose
nexus-orchestratorprimaryMain orchestrator — decompose, dispatch, integrate
nexus-architectsubagentSystem design and architecture
nexus-codersubagentImplement code tasks
nexus-reviewersubagentCode review (read-only)
nexus-testersubagentWrite and run tests
nexus-explorersubagentExplore codebases (read-only)
nexus-documentersubagentWrite documentation

Clarify Skill

When instructions are ambiguous, use nexus.clarify:

nexus.clarify(question="Should I use JWT or OAuth?", options="JWT, OAuth", assumption="JWT")

Tools

ToolDescriptionInput
nexus.spawnSpawn a sub-agent{ role, task, model?, wait?, timeout? }
nexus.delegateSpawn + wait + result{ role, task, model?, timeout? }
nexus.sessionsList active sessions{}
nexus.backgroundMove agents to background{}
nexus.resultGet agent result{ sessionID }
nexus.statusOrchestrator status{ detailed? }
nexus.costsCost report & budget{}
nexus.forecastPredict costs{ tasks }
nexus.model.costsShow/set model pricing{ model?, setInput?, setOutput? }
nexus.presetApply preset config{ name }
nexus.config.saveSave config to disk{ level: 'project' | 'global' }
nexus.config.initInitialize config files{ level }
nexus.dashboard.startStart web dashboard{ port?, host? }
nexus.dashboard.stopStop web dashboard{}
nexus.todo.addAdd a todo item{ description, assignedTo? }
nexus.todo.listList all todos{}
nexus.todo.completeComplete a todo{ id }
nexus.todo.statsTodo statistics{}
nexus.goal.setSet a goal{ description, autoContinue? }
nexus.goal.statusCurrent goal status{}
nexus.goal.completeComplete goal{}
nexus.goal.listList all goals{}
nexus.team.createCreate a team{ name, leadRole }
nexus.team.addMemberAdd team member{ teamId, role, model }
nexus.team.statusTeam status{ teamId? }
nexus.team.activateStart team{ teamId }
nexus.performance.scoresPerformance scores{}
nexus.performance.bestBest model for role{ role }
nexus.history.listExecution history{ count? }
nexus.history.statsExecution statistics{}
nexus.astgrep.searchSearch AST patterns{ pattern, language, directory }
nexus.astgrep.statusCheck ast-grep install{}
nexus.security.scanScan for security issues{ content, filename? }
nexus.clarifyAsk clarifying question{ question, options?, assumption? }
nexus.worktree.enableEnable worktree isolation{ repoRoot? }
nexus.worktree.listList worktrees{}
nexus.worktree.disableDisable worktrees{}

TUI Commands

CommandAliasDescription
/nexusCtrl+NOpen full configuration dialog
/nexus web/nwStart web dashboard
/nexus review/nrQuick code review
/nexus fix/nfQuick fix for last error
/nexus explain/neExplain last change
/nexus config/ncConfigure models & budget
/nexus model/nmSelect model for a role
/nexus status/nsShow config summary
/nexus reset—Reset all settings to defaults

Configuration

Agent Models

Configure via /nexus or Ctrl+N:

🏗️ Architect: opencode/muse-spark-1.3-contributor-free
💻 Coder:     opencode/mimo-v2.6-flash-free
🔍 Reviewer:  opencode/muse-spark-1.2-contributor-free
🧪 Tester:    opencode-go/mimo-v2.5
🔬 Explorer:  opencode/big-pickle
📝 Documenter: opencode/big-pickle

Custom Roles

Define your own agent roles:

{
  "customRoles": [
    {
      "name": "security-auditor",
      "displayName": "Security Auditor",
      "emoji": "🔐",
      "prompt": "You are a security auditor...",
      "model": "anthropic/claude-sonnet-4-6"
    }
  ]
}

Task Templates

nexus.template(name="list")      — Show available templates
nexus.template(name="feature")   — Full feature pipeline
nexus.template(name="bugfix")    — Bug investigation and fix
nexus.template(name="refactor")  — Code refactoring pipeline
nexus.template(name="documentation") — Documentation update

Architecture

┌─────────────────────────────────────────────────────────────┐
│                      NEXUS PLUGIN                            │
│                                                              │
│  ┌────────────────────────────────────────────────────┐     │
│  │              SERVER PLUGIN (index.ts)                │     │
│  │  • 40+ tool registrations                            │     │
│  │  • Auto-creates agents and enables LSP              │     │
│  │  • Config file loading and creation                 │     │
│  └────────────────────────────────────────────────────┘     │
│                                                              │
│  ┌────────────────────────────────────────────────────┐     │
│  │            ORCHESTRATOR (orchestrator.ts)            │     │
│  │  • Real OpenCode session creation                    │     │
│  │  • DAG execution with priority queuing               │     │
│  │  • Cost-aware model routing (scored selection)       │     │
│  │  • Self-healing with 4-step escalation               │     │
│  │  • Context transfer to respawned agents              │     │
│  │  • Deadlock detection (cycle finding)                │     │
│  │  • Todo/Goal tracking                                │     │
│  │  • Team management                                   │     │
│  └────────────────────────────────────────────────────┘     │
│                                                              │
│  ┌────────────────────────────────────────────────────┐     │
│  │                    MODULES                          │     │
│  │  Health Monitor │ Learning │ Message Store (SQLite) │     │
│  │  Persistent Mem │ Fan-Out  │ Notifications (OS)     │     │
│  │  State Broadcaster │ Module Registry │ Security     │     │
│  │  Cost Forecaster │ Performance Tracker │ AST-Grep   │     │
│  └────────────────────────────────────────────────────┘     │
│                                                              │
│  ┌────────────────────────────────────────────────────┐     │
│  │              WEB DASHBOARD                          │     │
│  │  • Bun.serve() HTTP + WebSocket (port 4747)         │     │
│  │  • DAG viz, cost chart, config editor, auto-refresh │     │
│  └────────────────────────────────────────────────────┘     │
│                                                              │
│  ┌────────────────────────────────────────────────────┐     │
│  │              AGENTS (auto-created)                   │     │
│  │  nexus-orchestrator (primary)                       │     │
│  │  nexus-architect, nexus-coder, nexus-reviewer        │     │
│  │  nexus-tester, nexus-explorer, nexus-documenter      │     │
│  └────────────────────────────────────────────────────┘     │
└─────────────────────────────────────────────────────────────┘

Development

# Clone the repo
git clone https://github.com/serkanalgur/opencode-nexus.git
cd opencode-nexus

# Install dependencies
bun install

# Build
bun run build

# Run tests
bun test

# Type check
npx tsc --noEmit

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for details.

License

MIT License - see LICENSE for details.

Built with ❤️ by Serkan Algur

GitHub npm

Keywords

opencode

FAQs

Package last updated on 26 Sep 2026

Related posts