Core plugins (standard mode)
These plugins are installed by default in standard mode and higher.opencode-direnv (simonwjackson)
Purpose: auto-load env vars from.envrc when entering directories.
Install:
- Create
.envrcin project root:
- Run
direnv allow - Variables auto-load when you enter the directory
agentmap (remorses)
Purpose: tree view of codebase for better context in headless VPS environments. Install:- Type
maportreein OpenCode to see project structure - Helps AI understand full codebase layout
opencode-sync (tctinh)
Purpose: sync OpenCode settings and history across machines via GitHub Gist. Install:- Create GitHub PAT with
gistscope - Run
opencode sync loginand enter token - Push:
opencode sync push - On new machine:
opencode sync pull
ai-sessions-mcp (yoavf)
Purpose: search and reference past OpenCode sessions. Install:search "previous work on auth"- find relevant past sessionssession:last- reference last session context
Session management
ccmanager (kbwo)
Purpose: visual session manager with real-time status indicators.ccmanager- launch interactive TUIccmanager list- list all sessions- Shows status: busy / waiting / idle per session
agent-of-empires (njbrake)
Purpose: alt session manager using tmux + git worktrees. Install:--with-agent-of-empires --no-ccmanager to switch.
Optional plugins (full/custom)
opencode-worktree-session (felixAnhalt)
Purpose: automatic git worktree per OpenCode session with auto-cleanup. Install:opencode.json:
- Run
opencode - Prompt asks for branch suffix (example:
feature-auth) - Plugin creates
opencode/feature-authbranch + worktree - AI works in isolated env
- On exit: auto-commits, pushes branch, removes worktree
- No main branch pollution
- Each task in isolated branch
- Auto cleanup
- Refuses to run on main (safety)
opencode-session-handoff
Purpose: compact continuation when sessions hit context limit. Configure inopencode.json:
- Session fills up
- Say
handoff - New session starts with continuation prompt
Plugin configuration
Edit.opencode.config.json to enable/disable plugins:
opencode.json instead.
Claude Code MCP Servers
When using Claude Code (--agent=claude), the VPS setup installs Anthropic’s official MCP servers:
Included MCP servers
- @anthropic-ai/mcp-server-filesystem - File operations (read, write, list, search)
- @anthropic-ai/mcp-server-git - Git operations (status, diff, log, branch)
- @anthropic-ai/mcp-server-fetch - HTTP requests and web fetching
Configuring MCP servers
Edit~/.config/claude/settings.json:
Claude Code-specific features
- /config - View and edit configuration
- /mcp - List and manage MCP servers
- MCP tools - Claude can use filesystem, git, and fetch tools automatically
Troubleshooting
Plugin not loading (OpenCode)
- Check plugin exists in
~/.config/opencode/plugins/ - Verify plugin name matches enabled list
- Restart OpenCode session
- For npm plugins: verify global install with
npm list -g
MCP server not working (Claude)
- Check MCP config:
claude /config - Verify server is installed:
npm list -g @anthropic-ai/mcp-server-filesystem - Check paths in settings.json are correct
- Restart Claude Code session
Third-Party Integrations
OpenSync (Session Analytics)
OpenSync provides cloud-synced dashboards for tracking AI coding sessions across multiple agents including OpenCode and Claude Code. Features:- Real-time session syncing and tracking
- Token usage analytics and cost monitoring
- Semantic search across sessions
- Export eval datasets (DeepEval, OpenAI Evals)
- Multi-agent support (OpenCode, Claude, Codex, Cursor)
- Track all VPS-based AI sessions in one dashboard
- Monitor token costs across multiple projects
- Search historical sessions for context retrieval
- Build eval datasets from production sessions
SSH MCP Server (Optional)
For AI agents to manage your VPS via SSH commands, install the SSH MCP server:Installation
Configuration
OpenCode:Capabilities
The SSH MCP server allows your AI agent to:- Execute commands on the VPS
- Check service status (opencode, claude, agent-os)
- Manage files remotely
- Monitor system resources
- Restart services when needed
Security Notes
- Only use with Tailscale-connected VPS (never expose SSH publicly)
- Use SSH key authentication (not passwords)
- Limit SSH key permissions on VPS
- Store keys in
~/.ssh/with 0600 permissions
sync plugin auth fails
- Regenerate GitHub token with
gistscope - Run
opencode sync loginagain - Check token not expired
direnv not loading
- Ensure
.envrcexists - Run
direnv allowafter changes - Check
.envrcsyntax
worktree-session not activating
- Verify install:
npm list -g @tmegit/opencode-worktree-session - Check
opencode.jsonplugin entry - Ensure you are not on main (plugin refuses)
session-handoff not working
- Verify
opencode.jsonconfig - Say
handoff(exact) - Confirm context actually filled