Platform Overview¶
memsearch provides plugins for 4 AI coding agent platforms. All plugins share the same core architecture: capture conversations to markdown, index with Milvus, recall via semantic search.
Comparison Table¶
| Feature | Claude Code | OpenClaw | OpenCode | Codex CLI |
|---|---|---|---|---|
| Plugin type | Shell hooks | TS registerTool | TS npm plugin | Shell hooks |
| Capture method | Stop hook (async) | llm_output debounce | SQLite daemon | Stop hook (async) |
| Summarization | claude -p --model haiku |
OpenClaw agent | opencode run |
codex exec |
| Recall mechanism | SKILL.md (context: fork) | memory_search tool | memory_search tool | SKILL.md |
| L3 transcript format | Claude Code JSONL | OpenClaw JSONL | OpenCode SQLite | Codex rollout JSONL |
| Isolation | Per-project collection | Per-agent directory | Per-project collection | Per-project collection |
| Install method | Plugin marketplace | openclaw plugins install |
npm + opencode.json | install.sh |
| Embedding default | ONNX bge-m3 (CPU) | ONNX bge-m3 (CPU) | ONNX bge-m3 (CPU) | ONNX bge-m3 (CPU) |
| API key required | No (ONNX default) | No (ONNX default) | No (ONNX default) | No (ONNX default) |
Shared Architecture¶
All plugins follow the same capture-index-recall pattern:
graph TB
subgraph "Capture"
CONV[Agent conversation] --> SUM[LLM summarization]
SUM --> MD["memory/YYYY-MM-DD.md"]
end
subgraph "Index"
MD --> WATCH[memsearch watch/index]
WATCH --> MIL[(Milvus)]
end
subgraph "Recall"
Q[User question] --> SEARCH[memsearch search]
SEARCH --> MIL
MIL --> RES[Relevant memories]
RES --> EXPAND[memsearch expand]
EXPAND --> TRANSCRIPT[Transcript drill-down]
end
style MD fill:#2a3a5c,stroke:#e0976b,color:#a8b2c1
style MIL fill:#2a3a5c,stroke:#6ba3d6,color:#a8b2c1
Three-Layer Progressive Disclosure¶
Every plugin supports the same three-layer recall model:
| Layer | Command | What it returns |
|---|---|---|
| L1: Search | memsearch search |
Top-K relevant chunk snippets |
| L2: Expand | memsearch expand |
Full markdown section around a chunk |
| L3: Transcript | Platform-specific parser | Original conversation verbatim |
Memory File Format¶
All plugins write to the same markdown format:
# 2026-03-25
## Session 14:30
### 14:30
<!-- session:abc123 turn:def456 transcript:/path/to/session.jsonl -->
- User asked about Redis caching configuration
- Agent implemented cache middleware with 5-minute TTL
- Added Prometheus counters for cache hit/miss metrics
Cross-Platform Memory Sharing¶
Since all plugins write standard markdown and use the same Milvus index, memories are portable:
- Memories written in Claude Code are searchable from Codex, OpenCode, or OpenClaw
- Point multiple plugins at the same
milvus_uriandcollectionfor shared access - Or use per-project collections for isolation (the default)
When to Use Which¶
| Scenario | Recommended Platform |
|---|---|
| Primary Claude Code user | Claude Code plugin -- most mature, marketplace install |
| OpenClaw agent development | OpenClaw plugin -- native TS integration, multi-agent isolation |
| OpenCode user | OpenCode plugin -- npm package, SQLite-native capture |
| Codex CLI user | Codex plugin -- shell hooks, similar to Claude Code |
| Using multiple platforms | Install plugins on each -- they share the same memory backend |
Prerequisites (all platforms)¶
- Python 3.10+
- memsearch installed:
uv tool install "memsearch[onnx]"(orpip install "memsearch[onnx]") - First-time ONNX model download: ~558 MB from HuggingFace Hub (cached after first run)