Skip to content
This page was generated and translated with the assistance of AI. If you spot any inaccuracies, feel free to help improve it. Edit on GitHub

SQLite Memory Backend

The SQLite backend stores memories in a local SQLite database with FTS5 full-text search indexing. This provides structured storage with fast retrieval while keeping everything local.

Overview

SQLite is the default memory backend for PRX. It offers a good balance of performance, features, and simplicity:

  • Full-text search via FTS5 extension
  • ACID transactions for reliable writes
  • Zero configuration (single file database)
  • Efficient for up to tens of thousands of memory entries

Schema

The SQLite backend uses the following core tables:

  • memories -- stores individual memory entries with metadata
  • memories_fts -- FTS5 virtual table for full-text search
  • topics -- topic categorization for memory organization

Configuration

toml
[memory]
backend = "sqlite"

[memory.sqlite]
path = "~/.local/share/openprx/memory.db"
journal_mode = "wal"
busy_timeout_ms = 5000

The FTS5 index enables ranked full-text search across all memory entries. Queries support:

  • Boolean operators (AND, OR, NOT)
  • Phrase matching with quotes
  • Prefix matching with asterisk
  • Column-specific search

Released under the Apache-2.0 License.