2.3 KiB
2.3 KiB
name, description, compatibility
| name | description | compatibility |
|---|---|---|
| memory | Persistent memory system for Opencode agents. SQLite-based hybrid search over Obsidian vault. Use when: (1) storing user preferences/decisions, (2) recalling past context, (3) searching knowledge base. Triggers: remember, recall, memory, store, preference. | opencode |
Overview
opencode-memory is a SQLite-based hybrid memory system for Opencode agents. It indexes markdown files from your Obsidian vault (~/CODEX/80-memory/) and session transcripts, providing fast hybrid search (vector + keyword BM25).
Architecture
- Source of truth: Markdown files at
~/CODEX/80-memory/ - Derived index: SQLite at
~/.local/share/opencode-memory/index.db - Hybrid search: FTS5 (BM25) + vec0 (vector similarity)
- Embeddings: OpenAI text-embedding-3-small (1536 dimensions)
Available Tools
memory_search
Hybrid search over all indexed content (vault + sessions).
memory_search(query, maxResults?, source?)
query: Search query (natural language)maxResults: Max results (default 6)source: Filter by "memory", "sessions", or "all"
memory_store
Store new memory as markdown file in vault.
memory_store(content, title?, category?)
content: Memory content to storetitle: Optional title (slugified for filename)category: "preferences", "facts", "decisions", "entities", "other"
memory_get
Read specific file/lines from vault.
memory_get(filePath, startLine?, endLine?)
Auto-Behaviors
- Auto-recall: On session.created, relevant memories are searched and injected
- Auto-capture: On session.idle, preferences/decisions are extracted and stored
- Token budget: Max 2000 tokens injected to respect context limits
Workflows
Recall information
Before answering about past work, preferences, or decisions:
- Call
memory_searchwith relevant query - Use
memory_getto retrieve full context if needed
Store new information
When user expresses preference or decision:
- Call
memory_storewith content and category
Vault Structure
~/CODEX/80-memory/
├── preferences/ # User preferences
├── facts/ # Factual knowledge
├── decisions/ # Design decisions
├── entities/ # People, projects, concepts
└── other/ # Uncategorized memories