@happycastle/opencode-graphiti
v0.3.0
Published
OpenCode plugin that gives coding agents persistent memory using Graphiti temporal knowledge graph
Maintainers
Readme
opencode-graphiti
OpenCode plugin that gives coding agents persistent memory using Graphiti temporal knowledge graph.
This is a fork of opencode-supermemory that uses Graphiti MCP Server as the backend instead of Supermemory.
Features
- Automatic Context Injection: User profile + project knowledge + relevant memories injected at session start
- Temporal Knowledge Graph: Graphiti tracks relationships, entities, and changes over time
- Multi-Tenant Scoping: User-scope and project-scope memory isolation via
group_id - "Remember" Trigger Detection: Automatically prompts agent to save when user says "remember this"
- Context Compaction: Saves session summaries before context window limits
- Hybrid Search: Semantic + keyword search via Graphiti MCP Server
Architecture
┌──────────────────────┐ ┌─────────────────────────────────────┐
│ OpenCode Agent │ │ Graphiti MCP Server │
│ │ │ │
│ ┌────────────────┐ │ │ ┌───────────────┐ │
│ │opencode-graphiti│─┼─────┼─▶│ MCP Tools │ │
│ │ (plugin) │ │HTTP │ │ (add_memory, │ │
│ └────────────────┘ │ │ │ search_nodes)│ │
│ │ │ └───────┬───────┘ │
│ No API keys needed │ │ │ │
│ Just HTTP calls │ │ ┌───────▼───────┐ ┌────────────┐ │
└──────────────────────┘ │ │ Graphiti │ │ OpenAI API │ │
│ │ (Knowledge │──│ (Embedding │ │
│ │ Graph) │ │ + LLM) │ │
│ └───────┬───────┘ └────────────┘ │
│ │ │
│ ┌───────▼───────┐ │
│ │ FalkorDB │ │
│ └───────────────┘ │
└─────────────────────────────────────┘중요: 이 플러그인은 API key가 필요 없습니다. Graphiti MCP Server URL만 알면 됩니다. OpenAI API key는 Graphiti 서버 설정 시 필요합니다.
Quick Start
1. Start Graphiti MCP Server
git clone https://github.com/getzep/graphiti.git
cd graphiti/mcp_server
cp .env.example .env
# .env 파일에 OPENAI_API_KEY 설정 (Graphiti 서버용)
docker compose up -d2. Install the Plugin
bunx opencode-graphiti@latest installOr manually add to ~/.config/opencode/opencode.jsonc:
{
"plugin": ["opencode-graphiti@latest"]
}3. Configure (Optional)
Create ~/.config/opencode/graphiti.jsonc:
{
// Graphiti MCP Server URL (기본값)
"mcpUrl": "http://localhost:8000/mcp/",
// Group ID prefix
"groupIdPrefix": "opencode",
// Search limits
"maxMemories": 5,
"maxProjectMemories": 10
}Or use environment variable:
export GRAPHITI_MCP_URL="http://localhost:8000/mcp/"4. Initialize Memory
Start OpenCode and run:
/graphiti-initUsage
Automatic Features
- First message: Profile + project memories + relevant context injected
- "Remember" triggers: Agent prompted to save when you say "remember", "save this", etc.
- Session compaction: Summaries saved to memory before context limits
Manual Tool Usage
graphiti(mode: "add", content: "Uses Bun for package management", type: "project-config", scope: "project")
graphiti(mode: "search", query: "testing patterns")
graphiti(mode: "list", scope: "project", limit: 20)
graphiti(mode: "profile")
graphiti(mode: "forget", memoryId: "uuid-here")
graphiti(mode: "status")Memory Scopes
| Scope | Description | Use For |
|-------|-------------|---------|
| user | Cross-project | Personal preferences, coding style |
| project | This repo only | Build commands, architecture, conventions |
Memory Types
project-config- Tech stack, commands, toolingarchitecture- Codebase structure, data flowlearned-pattern- Project-specific conventionserror-solution- Known issues and fixespreference- Coding style preferencesconversation- Session summaries
Requirements
- OpenCode 1.0+
- Graphiti MCP Server running (provides its own LLM/embedding)
Troubleshooting
Plugin not loading
Check logs at ~/.opencode-graphiti.log
Connection errors
Verify Graphiti is running:
curl http://localhost:8000/healthLicense
MIT
Credits
- Original opencode-supermemory by Supermemory
- Graphiti by Zep
