- Add MCP reconnection functionality (isHealthy, reconnect, reconnectAll, healthCheckAndReconnect) - Add auto-reconnect on MCP tool fetch failure - Add MCP reconnection API endpoints (/mcp/:name/reconnect, /mcp/reconnect-all, /mcp/health-check) - Fix EventEmitter memory leak warning in GlobalBus - Fix silent error swallowing in cache cleanup - Fix type safety issues in processor.ts, transform.ts, prompt.ts - Add debug status command (agent-core debug status) - Add reload.sh script for daemon management - Add comprehensive docs (OPS.md, BUGS.md) - Update CLAUDE.md with ops warning
Agent-Core
Fork of sst/opencode — Built on OpenCode. All credit goes to the brilliant SST team and the OpenCode contributors for creating an exceptional open-source AI coding agent. This fork extends OpenCode with a specialized personas system, semantic memory, and multi-surface orchestration. Please use the upstream repository for official releases and support; use this fork at your own risk.
Agent-Core is a CLI agent engine that powers the Personas system (Zee, Stanley, Johny). Built on OpenCode's excellent foundation, it adds persona-based routing, semantic memory, and orchestration capabilities.
Quick Start
Prerequisites
Installation
# Clone the repository
git clone https://github.com/yourusername/agent-core.git ~/.local/src/agent-core
# Install dependencies
cd ~/.local/src/agent-core
bun install
# Build the project
cd packages/agent-core
bun run build
# Install the binary (optional)
cp dist/agent-core-linux-x64/bin/agent-core ~/bin/agent-core
Configuration
- Copy the environment template:
cp .env.example .env
- Edit
.envand add your API keys:
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-... # For embeddings
QDRANT_URL=http://localhost:6333
- Start Qdrant (if running locally):
docker run -p 6333:6333 qdrant/qdrant
Running
Interactive TUI:
agent-core
Daemon mode (for Zee gateway):
agent-core daemon --gateway --hostname 127.0.0.1 --port 3210
Architecture
agent-core/
├── packages/agent-core/ # Main CLI and TUI (OpenCode fork)
├── src/
│ ├── personas/ # Persona logic and routing
│ ├── memory/ # Qdrant semantic memory
│ ├── daemon/ # HTTP/IPC daemon
│ └── domain/ # Domain tools (zee/, stanley/)
├── vendor/tiara/ # Orchestration layer (SPARC methodology)
└── .claude/skills/ # Persona skill definitions
Personas
| Persona | Domain | Description |
|---|---|---|
| Zee | Personal Assistant | Memory, messaging, calendar, notifications |
| Stanley | Investing | Markets, portfolio, trading strategies |
| Johny | Learning | Knowledge graphs, spaced repetition |
Key Features
- Semantic Memory: Vector-based memory with Qdrant for context persistence
- Multi-Persona Routing: Route messages to specialized personas
- Orchestration: SPARC methodology via tiara for complex tasks
- External Gateway: HTTP API for messaging platform integration
Usage with Zee Gateway
The Zee Gateway handles messaging platforms (WhatsApp, Telegram, Discord, etc.) and routes to agent-core:
# Terminal 1: Start agent-core daemon
agent-core daemon --gateway
# Terminal 2: Start zee gateway
cd ~/Repositories/personas/zee
pnpm zee gateway
Messages mentioning @stanley or @johny are routed to those personas; all others go to Zee.
Development
# Run tests
bun test
# Build
bun run build
# Type check
bun run typecheck
Wide events
Agent-core emits wide event JSONL logs for per-request diagnostics:
agent-core logs wide --lines 50
agent-core logs wide --where sessionId=session_123
Credits
- OpenCode by SST - The foundation this project builds on
- Claude-Flow - SPARC orchestration patterns
License
Same as upstream OpenCode - see LICENSE file.