Files
opencode/README.md
T
Artur Do Lago 0aa693ba3f refactor: remove hardcoded paths and add upstream merge protection
Code changes:
- Add Global.Path.source getter with AGENT_CORE_SOURCE env var support
- Update status.ts to use Global.Path.source for script paths
- Update setup.ts to use Global.Path.source for docker-compose lookup

Documentation updates:
- Remove hardcoded ~/.local/src/agent-core paths from all docs
- Use generic or relative path references throughout
- README.md, CLAUDE.md, OPS.md, USER_GUIDE.md, PROVIDERS.md updated

Upstream merge protection:
- Add .gitattributes with merge=ours for fork-specific files
- Configure ours merge driver
- Protects: README.md, CONTRIBUTING.md, CLAUDE.md, language READMEs, docs

Deleted (fork cleanup):
- README.zh-CN.md (Chinese Simplified)
- README.zh-TW.md (Chinese Traditional)
- CONTRIBUTING.md
2026-01-20 13:16:31 +01:00

3.9 KiB

Agent-Core

Version License

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

  • Bun (v1.1+)
  • Qdrant (local or cloud) for semantic memory
  • API key for Anthropic (Claude) or OpenAI

Installation

# Clone the repository
git clone https://github.com/yourusername/agent-core.git

# Install dependencies
cd 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

  1. Copy the environment template:
cp .env.example .env
  1. Edit .env and add your API keys:
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...  # For embeddings
QDRANT_URL=http://localhost:6333
  1. Start Qdrant (if running locally):
docker run -p 6333:6333 qdrant/qdrant

Running

Interactive TUI:

agent-core

Daemon mode (for external gateways):

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.