Architecture

Memory & embeddings

Roder stores project and global memories through roder-ext-memory. The default store is SQLite under Roder home, exposed through CLI commands, app-server methods, and model-facing memory tools instead of direct database access.

Scopes

  • project memories are resolved from the active workspace.
  • global memories are user-wide and can be included with project queries.
  • workspace and thread scopes remain available for extension authors.

CLI

roder memory list --scope project
roder memory query "release process" --scope project --include-global
roder memory save "use cargo nextest for this repo" --scope project
roder memory providers list
roder memory providers set google --model gemini-embedding-2
roder memory providers set zeroentropy --model zembed-1

Embedding providers

Embeddings use the provider-neutral EmbeddingProvider contract. First-party remote providers are OpenAI text-embedding-3-large, Googlegemini-embedding-2, and ZeroEntropy zembed-1. Query and document intent is part of the shared request, so providers can use retrieval-specific prompt or API fields while the memory store stays provider-neutral.

[memories]
embedding_provider = "zeroentropy"
embedding_model = "zembed-1"

[embedding_providers.zeroentropy]
enabled = true
api_key_env = "ZEROENTROPY_API_KEY"
endpoint = "https://api.zeroentropy.dev/v1"
dimensions = 2560

Google embeddings resolve Gemini or Google AI API-key environment variables. ZeroEntropy resolves RODER_ZEROENTROPY_API_KEY or ZEROENTROPY_API_KEY and can use the EU endpoint when configured. Selecting a remote embedding provider sends memory text to that provider; use a local command-backed provider or local extension when memory text must stay fully local.

App-server methods

Clients use memory/list, memory/read, memory/save,memory/update, memory/delete, memory/query,memory/provider/list, memory/provider/set, andmemory/recall/preview. Provider changes emitmemory/providerChanged; memory CRUD and recall emit their own stream events for clients that render memory activity.