Features

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.

Updated · v0.3.15 · FTS5-powered

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

CommandDescription
arcana memory factsList all extracted facts
arcana memory search --query <q>Full-text search across sessions and facts
arcana memory statsShow memory statistics (sessions, facts, size)
arcana memory pushUpload local facts to cloud
arcana memory pullDownload cloud facts to local
arcana memory syncPush then pull (bidirectional sync)

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:

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
Last-write-wins

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

Configuration

{
  "memory": {
    "enabled": true,
    "maxSessions": 1000
  }
}
KeyTypeDefaultDescription
memory.enabledbooleantrueEnable conversation memory and fact extraction
memory.maxSessionsnumber1000Maximum sessions to retain in local DB

See Configuration for the full reference.

Data location

All memory data is stored under ~/.arcana/data/:

PathContents
sessions/Session transcripts
memory.dbSQLite DB with facts, skill stats, and FTS5 index