Skip to main content

Phileas: persistent memory for AI

AI conversations reset every session. Phileas is a local memory layer that any LLM can read and write through MCP, so context survives across sessions and tools.

Requirements

  • Python 3.11 or newer.
  • An MCP client. Phileas exposes its memory over MCP. The setup wizard wires it into Claude Code automatically; any other MCP client (a GPT or Ollama front-end, and so on) connects to phileas serve.
  • A few hundred MB of disk and one download. Phileas runs two small models locally (about 150 MB) and depends on PyTorch. The steps below keep that download lean.

Installation

Install with uv (recommended):

uv tool install phileas-memory --torch-backend cpu

phileas init

--torch-backend cpu fetches PyTorch's lean CPU build (a few hundred MB) instead of the multi-gigabyte CUDA build uv would otherwise pull on Linux. Phileas runs two small models (an embedding model and a reranker) on the CPU and needs nothing more; on macOS and Windows the CPU build is the default anyway. uv tool install puts phileas on your PATH, so phileas status and the other commands just work.

Prefer pip? Create a virtual environment and install into it:

python3 -m venv ~/.venvs/phileas # an isolated environment
source ~/.venvs/phileas/bin/activate

pip install torch --index-url https://download.pytorch.org/whl/cpu
pip install phileas-memory

phileas init

With the pip route, activate that venv before running phileas commands yourself.

phileas init is the setup wizard: it chooses where memories live, connects Phileas to Claude Code, downloads the models, and starts the background daemon. Restart Claude Code afterward so it picks up the memory tools.

The MCP server is launched by its full path, so Claude Code finds it regardless of your shell environment.

First run

The first run downloads three models from Hugging Face that then run locally: an embedding model (all-MiniLM-L6-v2), a reranker (ms-marco-MiniLM-L-6-v2), and an NLI model (nli-deberta-v3-small) for contradiction detection, about 300 MB together. They are cached after the first download, so later runs work offline. No API key is needed: the three models run locally on your machine. In Claude Code, capture hooks store every turn verbatim as it happens (the raw floor under memory), and Claude records the conclusions you endorse with memorize.

Connect other MCP clients

phileas init wires up Claude Code. Any other MCP client connects to the same server: phileas serve speaks MCP over stdio, so register it the way that client registers a stdio server.

Most clients (Cursor, Antigravity, and others) read a JSON config with the same shape. Add Phileas to its mcpServers map:

{
  "mcpServers": {
    "phileas": {
      "type": "stdio",
      "command": "/absolute/path/to/phileas",
      "args": ["serve"]
    }
  }
}

Use the absolute path to the phileas executable (run command -v phileas to find it), since the client launches it without your shell's PATH or an active venv. To point a client at a named profile, add "env": {"PHILEAS_PROFILE": "<name>"} to the entry.

Proactive recall and memorize

The tools work in any client, and the server ships usage guidance that every MCP client receives on connect. The extra layer that makes memory feel automatic (recall before answering, memorize when something worth keeping comes up, the query shapes that retrieve well) lives in a skill file. phileas init installs it for Claude Code at ~/.claude/skills/phileas/SKILL.md; its text uses bare tool names so it carries to any client. If your client has a rules or skills mechanism, put that file's content into it.

Monitor with the web dashboard

Phileas also has an optional local web dashboard for browsing your memory, read-only.

The dashboard is a small web app, so it needs Node.js 20 or newer (which bundles the pnpm package manager through corepack). With that in place:

phileas web install   # one-time: fetches and builds the dashboard
phileas web           # serves it at http://127.0.0.1:3000 and opens your browser

phileas web install clones the dashboard into ~/.local/share/phileas/web and builds it. phileas web then starts the server; press Ctrl-C to stop. To watch a named profile, pass it through the top-level flag: phileas --profile work web. Use phileas web update to pull a newer dashboard, phileas web status to see where it lives and whether it's ready, and phileas web --help for the rest.

Principles

  • Local-first: memories stay on your machine.
  • Model-agnostic: works with any LLM via MCP.
  • Natural forgetting: irrelevant detail decays; recall favors what stays useful.
  • Open: run it yourself, read the code.

For the full command list, run phileas --help or phileas COMMAND --help.

License

MIT

Download files

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

Source Distribution

phileas_memory-0.8.0.tar.gz (338.4 kB view details)

Uploaded Source

Built Distribution

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

phileas_memory-0.8.0-py3-none-any.whl (288.8 kB view details)

Uploaded Python 3

File details

Details for the file phileas_memory-0.8.0.tar.gz.

File metadata

  • Download URL: phileas_memory-0.8.0.tar.gz
  • Upload date:
  • Size: 338.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for phileas_memory-0.8.0.tar.gz
Algorithm Hash digest
SHA256 92937899d7502f898e232b75e1651ef5f1bc3d9fd15de38e71c7816fae6fea9e
MD5 c30dd427aa29138bb547b24cee1d5dbe
BLAKE2b-256 b0f3209b89fdf9c0f8d10008d9d92b6f494bd0b982022e9009ae9c6be116261d

See more details on using hashes here.

Provenance

The following attestation bundles were made for phileas_memory-0.8.0.tar.gz:

Publisher: release.yml on alexajuno/phileas

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

File details

Details for the file phileas_memory-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: phileas_memory-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 288.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for phileas_memory-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2429263b016cfdd028397d8f89d163205af6dd8b614db1ad4f3f93dff2c98de9
MD5 97fb35445a4f5f5448cc8b260f69cf84
BLAKE2b-256 8da999e5a3a4072781be6fcc15b9cf8c5093b9ef75982007c99fcde0efe5e2bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for phileas_memory-0.8.0-py3-none-any.whl:

Publisher: release.yml on alexajuno/phileas

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

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 files

0.7.1

2 files

0.7.0

2 files

0.6.1

2 files

0.6.0

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

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