Features
Liath is the SQLite for AI agents: an embedded, programmable memory database with a Rust core. Agents query their memory by writing sandboxed Lua, backed by a key-value store, vector search, and embeddings in a single dependency.
Programmable Memory
The core idea: agents query their memory with sandboxed Lua programs, not fixed APIs
Programmable Queries in Lua
Agents write Lua programs to query their own memory. Custom retrieval, ranking, filtering, and cross-referencing — logic that fixed vector-DB APIs simply cannot express.
Sandboxed Execution
Running agent-generated code is normally dangerous. Liath executes Lua in a strict sandbox with no file, network, or system access. Safe by construction.
Storage & Search
Key-value, vector search, embeddings, and namespaces built into one embedded engine
Key-Value Storage
Built-in namespaced key-value store backed by Fjall. Persistent, atomic, and typed — the foundation for agent state, configuration, and structured memory.
Vector Search
Similarity search over embeddings powered by USearch. Store vectors alongside your key-value data and run nearest-neighbor queries from inside Lua.
Built-in Embeddings
FastEmbed generates text embeddings locally. store_with_embedding() and semantic_search() turn plain text into searchable memory automatically.
Namespaces
Isolate data per agent, tenant, or environment. Namespaced storage keeps multi-agent systems from stepping on each other while sharing one embedded engine.
Agent Primitives
Memory, conversations, and tool state designed for how agents actually work
Agent Memory Primitives
Store memories with tags and importance scores, then recall by tag or by semantic similarity. Memory that maps directly onto how agents actually reason.
Conversation History
First-class conversation tracking: add_message() and get_messages() manage multi-turn history per conversation without bolting on a separate store.
Tool State
Persist and retrieve tool state between steps with set_tool_state() and get_tool_state(). Give long-running agents durable working memory across a task.
Runtime & Interfaces
Embedded Rust core with library, CLI, TUI, HTTP, and MCP interfaces
Embedded, Zero-Infrastructure
No server to run, no cluster to operate. Liath embeds directly in your process as a single dependency. Point it at a data directory and go.
Rust Core
The engine is written in Rust: memory-safe, fast, and portable. Low-latency execution suited to real-time agent loops, with a Python binding on top.
Multiple Interfaces
Use Liath as an embedded library, an interactive TUI/CLI, an HTTP server, or an MCP server that plugs directly into AI assistants and agent frameworks.
See how Liath compares
Compare Liath to Pinecone, Chroma, Mem0, SQLite, and Redis.