Skip to main content

Alice

The continuity layer for AI agents.

LongMemEval Local-first MCP Python License

Alice is a local-first memory service that lets AI agents resume interrupted work, track open loops, recall decisions with provenance, and improve when corrected — instead of re-reading transcripts or trusting opaque summaries.

In one historical run dated 2026-07-07, it scored 79.4% on LongMemEval, a long-term-memory benchmark. That is a single-run receipt, not a repeated-run estimate or a fresh v0.10.2 measurement; it includes one disclosed trade-off on the abstention subset (25/30 → 22/30). The full per-question evidence, methodology, and reproduction script are committed to this repo. Open source, local-first, MIT-licensed.

Agents connect over MCP, HTTP API, or CLI. Humans stay in control: agent writes land as policy-checked commits or reviewable proposals, and a local review console is where memory gets approved, corrected, or forgotten. That review boundary is a feature, not a limitation — it is what makes the memory trustworthy enough to act on.

How Alice compares

Most agent memory tools — mem0, Zep, Letta, and similar — focus on extracting facts from conversations and retrieving them later. That solves recall, and they do it well. Alice focuses on continuity: it stores typed continuity objects (decisions, open loops, resumption briefs) alongside plain memories; every answer carries explainable provenance back to source evidence; and writes are review-governed, so an agent cannot silently promote a bad extraction into durable truth. If you mainly need conversational fact recall, those tools are solid choices. If your agents need to resume work, honor past decisions, and explain why they believe something, that is what Alice is built for.

Alice is a layer, not a lock-in: it runs happily alongside other memory tools, and plenty of stacks will want both — a fact-extraction memory for conversational recall and Alice for governed continuity.

What Alice stores

  • Memories — typed, revisioned facts with trust classification and provenance links to source evidence.
  • Decisions — what was decided, when, and what superseded it.
  • Open loops — blockers, waiting-fors, and follow-ups that agents can query, create, and close.
  • Resumption briefs — "here is where work stopped, and what should happen next" for a project or thread.
  • Provenance and audit — every memory can explain which sources, reviews, and corrections produced it.

Corrections are first-class: when a memory is corrected or superseded, future recall reflects the correction and the explanation chain shows why.

Quickstart

The fastest path is the packaged runtime from PyPI — Python 3.12+ and nothing else, no Docker, Node, or Postgres. It serves the eleven core MCP tools against a single local SQLite file:

uvx alice-memory mcp --data-dir ~/.alice
# or: pip install alice-memory && alice-memory mcp --data-dir ~/.alice

MCP client config (Claude Desktop, IDEs) — note there is no DATABASE_URL:

{
  "mcpServers": {
    "alice": {
      "command": "uvx",
      "args": ["alice-memory", "mcp", "--data-dir", "/ABSOLUTE/PATH/TO/.alice"]
    }
  }
}

SQLite mode is the trial and single-agent path: it serves the eleven core tools for one user, and memory review happens through alice_memory_review / alice_memory_correct instead of the web console. Boundaries are listed in known limitations.

Install note: the PyPI package is alice-memory. The name alice-core on PyPI belongs to an unrelated project.

Full stack (Postgres + review console)

For the full experience — web review console, scheduler, legacy surfaces — run from a repo checkout. Requirements: Python 3.12+, Node 20+, pnpm, Docker, Git.

git clone https://github.com/samrusani/AliceBot.git
cd AliceBot
make setup
make migrate
make doctor
make dev
  • make setup creates .env files from checked-in examples and installs Python and web dependencies.
  • make migrate starts local services (Postgres via Docker) and runs database migrations.
  • make doctor runs readiness checks and applies safe fixes.
  • make dev runs the API on port 8000 and the web review console on port 3000.

Open the review console at http://localhost:3000/vnext. The detailed walkthrough — demo data, smoke checks, first memory — is in the alpha quickstart.

Connect an agent

MCP

Point any MCP-capable agent or IDE at the Alice server. For the packaged SQLite runtime, use the uvx config from the Quickstart above. For the full Postgres stack from a checkout:

{
  "mcpServers": {
    "alice": {
      "command": "/ABSOLUTE/PATH/TO/AliceBot/.venv/bin/python",
      "args": ["-m", "alicebot_api.mcp_server"],
      "cwd": "/ABSOLUTE/PATH/TO/AliceBot",
      "env": {
        "DATABASE_URL": "postgresql://alicebot_app:alicebot_app@localhost:5432/alicebot",
        "ALICEBOT_AUTH_USER_ID": "00000000-0000-0000-0000-000000000001"
      }
    }
  }
}

The core MCP surface is eleven tools:

  • alice_capture — submit new information as source-backed, reviewable memory
  • alice_memory_commit — write an explicit "remember this" memory through policy: committed, confirmation-required, review-required, or rejected
  • alice_recall — search memory (full-text plus vector, fused ranking; hard-scopable by thread, task, project, person, time, and memory type)
  • alice_resume — resumption brief for a project or thread
  • alice_context_pack — project/person/time-scoped context for a task, with a bounded unique-content budget and a complete serialized-size estimate
  • alice_open_loops — list and manage open loops
  • alice_recent_decisions — recent decision log
  • alice_memory_review — inspect items pending review
  • alice_memory_correct — propose a correction to an existing memory
  • alice_memory_manage — confirm, undo, or forget a committed memory, audit trail intact
  • alice_explain — provenance and trust explanation for a memory

Calling directly from a human client (Claude Desktop, an IDE)? alice_memory_commit needs only title and canonical_text — no identity fields. Agent integrations declare agent_id and agent_type; see agent integration.

The write verbs follow one contract — outcomes, audit guarantees, and honest boundaries per verb are documented in the Memory Operations Protocol. The legacy long-tail tool surface stays available for unauthenticated local operator compatibility behind ALICE_MCP_LEGACY_TOOLS=1; a server bound with ALICE_AGENT_API_KEY exposes only the policy-complete core surface.

Custom agents calling the HTTP API authenticate with per-agent API keys. See agent integration.

Embeddings

Semantic search works with any OpenAI-compatible embeddings endpoint — Ollama, LM Studio, or OpenAI:

ALICE_EMBEDDINGS_BASE_URL=http://localhost:11434/v1
ALICE_EMBEDDINGS_MODEL=nomic-embed-text
ALICE_EMBEDDINGS_API_KEY=            # only if the endpoint requires one

Search fuses Postgres full-text results with pgvector 0.8+ (iterative HNSW) similarity using reciprocal-rank fusion. If no embedding endpoint is configured, search degrades to full-text only and says so explicitly in the retrieval trace.

Status

v0.10.2 is the latest published release; the v0.10.3 candidate is in release gating. Alice is a public-alpha, pre-1.0 project. What that means in practice:

  • Local-first, single-user. One operator, one machine (or one headless server reached over SSH).
  • Review-governed writes. Agents propose or commit through policy; outcomes are commit, confirm, review, or reject. The review console is the trust boundary for durable memory.
  • No hosted service. There is no cloud offering yet; you run Alice yourself.
  • No managed OAuth or automatic polling. Manual operator-token Gmail and Calendar backends exist, but Alice does not provide a managed consent/account- linking flow or automatic email/calendar syncing.
  • No automatic capture from arbitrary conversation. Durable memory comes from explicit commits, reviewable proposals, or captured sources, never from silent transcript mining.

Docs

Contributing

Issues, integrations, importers, and eval contributions are welcome. See CONTRIBUTING.md.

Security

If you discover a security issue, follow the process in SECURITY.md.

License

MIT — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alice_memory-0.10.3.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alice_memory-0.10.3-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file alice_memory-0.10.3.tar.gz.

File metadata

  • Download URL: alice_memory-0.10.3.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for alice_memory-0.10.3.tar.gz
Algorithm Hash digest
SHA256 06650bd88a53d0c4cf83a1306da8031414129dd24acce170d8fa176c273e3b1e
MD5 c3d14230e94fa2a35dcb31fe2047ecf1
BLAKE2b-256 ef21584c1cf51626b4f64cb40a1c056de4a3c38bda76f7bc97ba57910f58529f

See more details on using hashes here.

Provenance

The following attestation bundles were made for alice_memory-0.10.3.tar.gz:

Publisher: publish-pypi.yml on samrusani/AliceBot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alice_memory-0.10.3-py3-none-any.whl.

File metadata

  • Download URL: alice_memory-0.10.3-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for alice_memory-0.10.3-py3-none-any.whl
Algorithm Hash digest
SHA256 05a25cecfa961163f0679ee97ec7671533e5d7f56689f0c95db20de827f24ff4
MD5 44b413d0b38aa8b3a987f9df6548b9dd
BLAKE2b-256 f89fc4361d5db3786e4ccac567623cd9518e4c5593f6b0f04f0b7e94e16eb54b

See more details on using hashes here.

Provenance

The following attestation bundles were made for alice_memory-0.10.3-py3-none-any.whl:

Publisher: publish-pypi.yml on samrusani/AliceBot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page