Memory
Arcana remembers everything — session history, extracted facts, skill usage, and decisions. Search past conversations, sync facts to the cloud, and build a personal knowledge graph that grows with every session.
Overview
The memory system stores conversation history, extracted facts, artifacts, and skill usage statistics in a local SQLite database with full-text search (FTS5). It integrates with the agent, cron jobs, gateway chats, and the cloud workspace.
Memory lives under ~/.arcana/data/ by default (override with dataDir in config or ARCANA_HOME).
Commands
| Command | Description |
|---|---|
arcana memory facts | List all extracted facts |
arcana memory search --query <q> | Full-text search across sessions and facts |
arcana memory stats | Show memory statistics (sessions, facts, size) |
arcana memory push | Upload local facts to cloud |
arcana memory pull | Download cloud facts to local |
arcana memory sync | Push then pull (bidirectional sync) |
Searching memory
Arcana uses SQLite FTS5 for fast full-text search across all stored sessions and facts.
# Search for anything
arcana memory search "deployment config"
# Search with a specific query
arcana memory search --query "authentication flow"
# Search session transcripts
arcana memory sessions --limit 10
Search returns ranked results with timestamps, source session, and relevance scores. The agent also uses search internally when answering questions about past work.
Facts
During conversations, the agent automatically extracts key facts — decisions, preferences, patterns, and configuration details. These facts persist across sessions and are used to provide context-aware responses.
# List all facts
arcana memory facts
# Show stats
arcana memory stats
Fact examples:
project.uses_bun— "Project uses Bun as the runtime"deploy.target— "Deploys to Cloudflare Workers"user.theme— "User prefers dark theme"team.review_style— "Team prefers concise PR reviews"
Cloud sync
When logged in with arcana console login, you can sync facts between your local machine and the Arcana cloud workspace. This is useful for cross-machine access and team collaboration.
# Push local facts to cloud
arcana memory push
# Pull cloud facts to local
arcana memory pull
# Bidirectional sync
arcana memory sync
Cloud sync uses last-write-wins semantics by updatedAt timestamp. If the same fact key exists locally and in the cloud, the most recently updated version wins.
Via the Proxy API
You can also manage cloud memory directly through the API:
# List cloud facts
curl -H "Authorization: Bearer $ARCANA_PROXY_KEY" \
https://proxy-arcana.otnelhq.com/v1/memory
# Upsert facts
curl -X PUT -H "Authorization: Bearer $ARCANA_PROXY_KEY" \
-H "Content-Type: application/json" \
-d '{"facts":[{"key":"user.theme","value":"dark","confidence":1}]}' \
https://proxy-arcana.otnelhq.com/v1/memory
# Delete a fact
curl -X DELETE -H "Authorization: Bearer $ARCANA_PROXY_KEY" \
https://proxy-arcana.otnelhq.com/v1/memory/user.theme
How memory works
- Every session stores conversation history in the local SQLite database.
- After each session, the agent extracts facts and patterns into the fact store.
- FTS5 indexing enables fast full-text search across all sessions and facts.
- Skill usage is tracked automatically — the agent learns which skills are most useful over time.
- Cron jobs and gateway chats share the same memory store — context persists across interfaces.
- Cloud sync is optional and requires a Pro or Enterprise license.
Configuration
{
"memory": {
"enabled": true,
"maxSessions": 1000
}
}
| Key | Type | Default | Description |
|---|---|---|---|
memory.enabled | boolean | true | Enable conversation memory and fact extraction |
memory.maxSessions | number | 1000 | Maximum sessions to retain in local DB |
See Configuration for the full reference.
Data location
All memory data is stored under ~/.arcana/data/:
| Path | Contents |
|---|---|
sessions/ | Session transcripts |
memory.db | SQLite DB with facts, skill stats, and FTS5 index |