Quick Comparison
| Interface | Best For | Language | Async |
|---|---|---|---|
| CLI | Scripts, automation, exploration | Rust | N/A |
| Python SDK | Data science, ML pipelines, notebooks | Python | Optional |
| Node.js SDK | Web apps, APIs, serverless | TypeScript/JS | Yes |
Core Operations
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| Create memory | ✅ | ✅ | ✅ |
| Open existing | ✅ | ✅ | ✅ |
| Put content | ✅ | ✅ | ✅ |
| Put with metadata | ✅ | ✅ | ✅ |
| Put from file | ✅ | ✅ | ✅ |
| Put from folder | ✅ | ✅ | ✅ |
| Put from URL | ✅ | ✅ | ✅ |
| Delete frame | ✅ | ✅ | ✅ |
| Update frame | ✅ | ✅ | ✅ |
Search & Retrieval
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| Lexical search | ✅ | ✅ | ✅ |
| Semantic search | ✅ | ✅ | ✅ |
| Hybrid search | ✅ | ✅ | ✅ |
| CLIP visual search | ✅ | ✅ | ❌ |
| Adaptive retrieval | ✅ | ✅ | ✅ |
| Graph-filtered search | ✅ | ✅ | ❌ |
| Scope filtering | ✅ | ✅ | ✅ |
| Date filtering | ✅ | ✅ | ✅ |
| Pagination (cursor) | ✅ | ✅ | ✅ |
| Raw vector search | ✅ | ✅ | ❌ |
Ask (RAG)
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| Basic ask | ✅ | ✅ | ✅ |
| Context-only mode | ✅ | ✅ | ✅ |
| Source citations | ✅ | ✅ | ✅ |
| PII masking | ✅ | ✅ | ❌ |
| Memory cards in context | ✅ | ✅ | ❌ |
| Custom LLM model | ✅ | ✅ | ✅ |
| Local LLM (TinyLlama) | ✅ | ❌ | ❌ |
| OpenAI synthesis | ✅ | ✅ | ✅ |
| Claude synthesis | ✅ | ✅ | ✅ |
| Groq synthesis | ✅ | ✅ | ✅ |
| Gemini synthesis | ✅ | ✅ | ✅ |
Enrichment & Memory Cards
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| Enrich with rules | ✅ | ✅ | ❌ |
| Enrich with Candle (local) | ✅ | ❌ | ❌ |
| Enrich with Groq | ✅ | ✅ | ❌ |
| Enrich with OpenAI | ✅ | ✅ | ❌ |
| Enrich with Claude | ✅ | ✅ | ❌ |
| View memory cards | ✅ | ✅ | ❌ |
| Entity state lookup | ✅ | ✅ | ❌ |
| Fact history/provenance | ✅ | ✅ | ❌ |
| Export facts (RDF/JSON/CSV) | ✅ | ❌ | ❌ |
| Schema management | ✅ | ❌ | ❌ |
Graph & Logic Mesh
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| Enable Logic Mesh | ✅ | ✅ | ❌ |
| List entities | ✅ | ✅ | ❌ |
| Traverse relationships | ✅ | ✅ | ❌ |
| Graph statistics | ✅ | ❌ | ❌ |
| Triple pattern queries | ✅ | ✅ | ❌ |
| Hybrid graph+text search | ✅ | ✅ | ❌ |
Tables
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| Import tables from PDF | ✅ | ❌ | ❌ |
| List tables | ✅ | ❌ | ❌ |
| View table | ✅ | ❌ | ❌ |
| Export table (CSV/JSON) | ✅ | ❌ | ❌ |
| Search table rows | ✅ | ❌ | ❌ |
Timeline & History
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| Timeline browsing | ✅ | ✅ | ✅ |
| View single frame | ✅ | ✅ | ✅ |
| Time-travel queries | ✅ | ✅ | ❌ |
| Replay sessions | ✅ | ❌ | ❌ |
| Temporal phrase parsing | ✅ | ❌ | ❌ |
Embedding Models
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| BGE-small (local) | ✅ | ✅ | ✅ |
| BGE-base (local) | ✅ | ✅ | ✅ |
| Nomic (local) | ✅ | ✅ | ✅ |
| GTE-large (local) | ✅ | ✅ | ✅ |
| OpenAI embeddings | ✅ | ✅ | ✅ |
| Custom model selection | ✅ | ✅ | ✅ |
| No-vec mode | ✅ | ✅ | ✅ |
Maintenance & Administration
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| Verify integrity | ✅ | ❌ | ❌ |
| Doctor/repair | ✅ | ❌ | ❌ |
| Rebuild lexical index | ✅ | ❌ | ❌ |
| Rebuild vector index | ✅ | ❌ | ❌ |
| Rebuild time index | ✅ | ❌ | ❌ |
| Vacuum/compact | ✅ | ❌ | ❌ |
| Build sketch index | ✅ | ❌ | ❌ |
| Check lock status | ✅ | ❌ | ❌ |
| Statistics | ✅ | ✅ | ✅ |
Encryption
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| Encrypt (lock) | ✅ | ❌ | ❌ |
| Decrypt (unlock) | ✅ | ❌ | ❌ |
| Password from stdin | ✅ | ❌ | ❌ |
Configuration & Plans
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| Set API key | ✅ | ✅ | ✅ |
| View plan/usage | ✅ | ✅ | ✅ |
| Sync plan | ✅ | ❌ | ❌ |
| Query tracking | ✅ | ✅ | ✅ |
| Quota error handling | ✅ | ✅ | ✅ |
| Named memories | ✅ | ❌ | ❌ |
Tickets & Capacity
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| List tickets | ✅ | ❌ | ❌ |
| Sync from dashboard | ✅ | ❌ | ❌ |
| Apply ticket | ✅ | ❌ | ❌ |
| Bind to memory ID | ✅ | ✅ | ✅ |
Media Processing
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| PDF extraction | ✅ | ✅ | ✅ |
| DOCX extraction | ✅ | ✅ | ✅ |
| XLSX extraction | ✅ | ✅ | ❌ |
| PPTX extraction | ✅ | ✅ | ❌ |
| Audio transcription | ✅ | ❌ | ❌ |
| Video processing | ✅ | ❌ | ❌ |
| Image EXIF parsing | ✅ | ✅ | ❌ |
| CLIP visual embeddings | ✅ | ✅ | ❌ |
| Audio playback | ✅ | ❌ | ❌ |
| Video preview | ✅ | ❌ | ❌ |
Output Formats
| Feature | CLI | Python | Node.js |
|---|---|---|---|
| Human-readable | ✅ | N/A | N/A |
| JSON output | ✅ | ✅ | ✅ |
| Streaming | ❌ | ❌ | ✅ |
Choosing the Right Interface
Use CLI When:
- Automating with shell scripts
- One-off exploration and debugging
- Running maintenance operations
- Processing audio/video
- Using encryption
- Managing tables
Use Python SDK When:
- Building ML/data pipelines
- Working in Jupyter notebooks
- Need enrichment features
- Integrating with Python apps
- Using graph search
Use Node.js SDK When:
- Building web applications
- Creating REST APIs
- Serverless functions
- TypeScript projects
- Need async/streaming
Feature Availability Legend
| Symbol | Meaning |
|---|---|
| ✅ | Fully supported |
| ⚠️ | Partial support |
| ❌ | Not available |
| N/A | Not applicable |
Requesting Features
Missing a feature in your preferred SDK?- Check if CLI has it (most complete)
- Use CLI via subprocess as workaround
- Request on GitHub Issues
- Contact [email protected]