OpenCode
OpenCode-Supermemory is an OpenCode plugin that gives your AI persistent memory across sessions. Your agent remembers what you worked on — across sessions, across projects.
Get Your API Key
Create a Supermemory API key from the API Keys page, then add it to your shell profile so it persists across sessions:
- macOS / Linux (zsh)
echo 'export SUPERMEMORY_API_KEY="sm_..."' >> ~/.zshrc
source ~/.zshrc
- macOS / Linux (bash)
echo 'export SUPERMEMORY_API_KEY="sm_..."' >> ~/.bashrc
source ~/.bashrc
- Windows (PowerShell)
[System.Environment]::SetEnvironmentVariable("SUPERMEMORY_API_KEY", "sm_...", "User")
Restart your terminal after running this.
Install the Plugin
bunx opencode-supermemory@latest install
For LLM agents (non-interactive):
bunx opencode-supermemory@latest install --no-tui
Ensure your ~/.config/opencode/opencode.jsonc contains:
{
"plugin": ["opencode-supermemory"]
}
How It Works
Once installed, the plugin runs automatically:
- Context Injection — On session start, relevant memories are fetched and injected into the agent’s context. This includes user preferences, project knowledge, and past interactions.
- Keyword Detection — Phrases like “remember” or “save this” trigger automatic storage.
- Smart Compaction — At 80% context capacity, sessions are summarized and saved as memories.
- Privacy Protection — Content within
<private>tags never persists.
Memory Scopes
| Scope | Description |
|---|---|
user |
Memories that persist across all projects |
project |
Memories isolated to the current project (default) |
Memory Types
| Type | Description |
|---|---|
project-config |
Project configuration and setup details |
architecture |
Codebase structure and design patterns |
error-solution |
Problems encountered and their fixes |
preference |
User preferences and coding style |
learned-pattern |
Patterns discovered during sessions |
conversation |
Important conversation context |
Commands
/supermemory-init
Explore and index your codebase structure into memory:
/supermemory-init
Tools
The agent has access to a supermemory tool with these modes:
| Mode | Parameters | Function |
|---|---|---|
add |
content, type?, scope? | Store information |
search |
query, scope? | Find relevant memories |
profile |
query? | View user preferences |
list |
scope?, limit? | Display stored items |
forget |
memoryId, scope? | Remove memory |
Configuration
Create ~/.config/opencode/supermemory.jsonc:
{
"apiKey": "sm_...", // Or use SUPERMEMORY_API_KEY env var
"similarityThreshold": 0.6, // Minimum match score (0-1)
"maxMemories": 5, // Memories per injection
"maxProjectMemories": 10, // Project memory listings
"maxProfileItems": 5, // Profile facts injected
"injectProfile": true, // Include user preferences in context
"containerTagPrefix": "opencode", // Tag prefix for scoping
"compactionThreshold": 0.80 // Context usage ratio for summarization
}
Logging
View plugin activity:
tail -f ~/.opencode-supermemory.log
Next Steps
GitHub Repository - Source code, issues, and detailed README.
Claude Code Plugin - Memory plugin for Claude Code.