This analysis compares OpenCode's agent system against competitors Crush (Charm) and AmpCode (SourceGraph). OpenCode has a solid foundation but lags in key areas like autonomous reasoning, workflow orchestration, and agent specialization.
- Core Files:
packages/opencode/src/agent/agent.ts,packages/opencode/src/acp/agent.ts - Permission System:
packages/opencode/src/permission/index.ts - Tool Registry:
packages/opencode/src/tool/registry.ts - Session Management:
packages/opencode/src/session/ - Agent Prompts:
packages/opencode/src/agent/prompt/
| Feature | OpenCode | Crush | AmpCode |
|---|---|---|---|
| Multi-Model Support | ✅ | ✅ | ✅ |
| Dynamic Model Switching | ✅ | ✅ | ✅ |
| Agent Types | Built-in + Custom | Built-in + Custom | Built-in + Custom |
| Real-time Events | ✅ | ✅ | ✅ |
| Session Persistence | ✅ | ✅ | ✅ |
| Feature | OpenCode | Crush | AmpCode |
|---|---|---|---|
| Pre-built Specialist Agents | ✅ Advanced (Oracle, Librarian, Subagents) | ||
| Autonomous Subagent Spawning | ❌ Limited | ❌ Limited | ✅ Full Support |
| Second-Opinion Reasoning | ❌ No | ❌ No | ✅ Oracle System |
| Cross-Repository Search | ❌ No | ❌ No | ✅ Librarian Agent |
| Agent Skills System | ❌ No | ✅ Comprehensive | |
| Workflow Orchestration | ✅ Automated |
| Feature | OpenCode | Crush | AmpCode |
|---|---|---|---|
| MCP Support | ✅ | ✅ | ✅ |
| Custom Tools | ✅ | ✅ | ✅ |
| Toolbox System | ❌ No | ❌ No | ✅ Advanced |
| Permission Granularity | ✅ Advanced | ✅ Good | ✅ Advanced |
| Real-time Tool Execution | ✅ | ✅ | ✅ |
| Feature | OpenCode | Crush | AmpCode |
|---|---|---|---|
| Context Window Size | Standard | Standard | ✅ 200k tokens |
| Thread Sharing | ❌ Limited | ✅ Full System | |
| Handoff Between Sessions | ❌ No | ❌ No | ✅ Supported |
| Context Compaction | ✅ | ✅ | ❌ Intentionally Removed |
| Cross-Thread References | ❌ No | ❌ No | ✅ Supported |
| Feature | OpenCode | Crush | AmpCode |
|---|---|---|---|
| LSP Integration | ✅ | ✅ | ✅ |
| IDE Extensions | ✅ (VS Code, etc.) | ✅ (VS Code, JetBrains, etc.) | |
| Build/Test Integration | ✅ | ✅ | ✅ |
| Git Integration | ✅ | ✅ | ✅ |
| Custom Commands | ❌ Limited | ✅ Full System |
| Feature | OpenCode | Crush | AmpCode |
|---|---|---|---|
| Team Collaboration | ❌ No | ✅ Advanced | |
| Thread Visibility Controls | ❌ No | ❌ No | ✅ Granular |
| SSO Integration | ✅ | ❌ No | ✅ Full Support |
| Cost Attribution | ❌ No | ❌ No | ✅ Per-user tracking |
| Managed Settings | ❌ No | ❌ No | ✅ Enterprise policies |
Gap: OpenCode lacks autonomous subagent spawning and multi-agent workflows Impact: Limited ability to handle complex, parallelizable tasks Priority: HIGH
Gap: No equivalent to AmpCode's Oracle (reasoning) or Librarian (search) agents Impact: Missing high-value specialized capabilities Priority: HIGH
Gap: No thread sharing, handoff, or cross-referencing Impact: Poor continuity between sessions and team collaboration Priority: HIGH
Gap: No custom commands, skills system, or automated workflows Impact: Requires more manual intervention Priority: MEDIUM
Gap: No team features, thread sharing, or collaboration tools Impact: Limited for enterprise adoption Priority: MEDIUM
- Strength: Most granular and flexible permission system
- Advantage: Better security and control
- Strength: Broader platform support (Windows, Linux, macOS)
- Advantage: More accessible deployment options
- Strength: Rich tool registry and MCP integration
- Advantage: Extensible and customizable
-
Implement Subagent System
- Add Task tool for spawning independent agents
- Create agent coordination framework
- Enable parallel task execution
-
Add Specialized Agents
- Oracle: Second-opinion reasoning agent
- Librarian: Cross-repository search agent
- Implement agent spawning logic
-
Context Management Overhaul
- Thread sharing and collaboration
- Handoff system between sessions
- Cross-thread references
-
Custom Commands & Skills
- Command palette system
- Skills package discovery
- Reusable workflow automation
-
Enterprise Features
- Team workspaces
- Thread visibility controls
- Cost tracking and attribution
-
Advanced Workflow Orchestration
- Multi-step planning agents
- Automated task breakdown
- Progress tracking and recovery
- Extend agent.ts to support subagent spawning
- Add Task tool implementation
- Create agent coordination primitives
- Implement Oracle reasoning system
- Build Librarian search agent
- Add agent selection logic
- Thread sharing infrastructure
- Handoff system implementation
- Cross-reference capabilities
- Team workspace features
- Custom commands system
- Skills package manager
After implementing these features, OpenCode would:
- Match AmpCode's core agent capabilities
- Exceed both competitors in permission granularity
- Lead in multi-platform support
- Compete effectively in enterprise market
- User adoption of subagent features
- Reduction in task completion time
- Increased agent specialization usage
- Team collaboration adoption
- Enterprise feature utilization
This analysis identifies clear, actionable gaps while recognizing OpenCode's existing strengths. The roadmap provides concrete steps to achieve competitive parity and differentiation.