traitclaw-memory-sqlite
SQLite memory backend for TraitClaw — persistent conversations, working memory, and FTS5-powered long-term recall.
Store conversation history and knowledge in a single SQLite database file. No external services, no network calls — just one .db file that persists across agent restarts.
Features
| Feature | Description |
|---|---|
| Conversation memory | Store and retrieve per-session message history |
| Working memory | Key-value store per session (e.g., user preferences, task state) |
| Long-term memory | FTS5 full-text search over stored knowledge |
| Session management | Create, list, and delete conversation sessions |
Usage
use *;
use SqliteMemory;
// Persistent storage
let memory = new?;
// Or in-memory (for tests)
let memory = in_memory?;
// Session lifecycle
let session = memory.create_session.await?;
memory.append.await?;
let history = memory.messages.await?;
// Working memory (key-value)
memory.set_context.await?;
let name = memory.get_context.await?;
// Long-term recall (FTS5 search)
memory.store.await?;
let results = memory.recall.await?;
Schema
All data lives in a single SQLite file with these tables:
| Table | Purpose |
|---|---|
sessions |
Session metadata |
messages |
Conversation history (per session) |
working_memory |
Key-value facts (per session) |
long_term_memory |
Knowledge entries for recall |
long_term_fts |
FTS5 virtual table for full-text search |
License
Licensed under either of Apache License, Version 2.0 or MIT License at your option.