Skip to main content

llama-index-perseus-vault

Local-first, encrypted persistent memory for LlamaIndex, backed by Perseus Vault.

Perseus Vault is an open-source (MIT) memory engine that runs entirely on your machine, stores data in an encrypted SQLite database, and exposes persistent-memory tools over the Model Context Protocol (MCP). This package wraps it as LlamaIndex agent tools and a retriever so your agents and query engines can persist and retrieve memory across runs — no external vector database, no cloud, and no API key required.

Why Perseus Vault? It is local-first and fully offline, stores everything encrypted at rest (AES-256-GCM), needs no API key or signup, and ships as a single binary with no external vector database. Your data never leaves the machine.

What's included

Class / function Role
PerseusVaultClient Owns the perseus-vault subprocess; remember / recall / call_tool.
create_perseus_vault_tools(client) Returns perseus_vault_remember / perseus_vault_recall FunctionTools for a LlamaIndex agent.
PerseusVaultRetriever A BaseRetriever returning NodeWithScores for query engines / RAG.

Prerequisite: the perseus-vault binary

These components talk to a local perseus-vault executable over stdio. Install it first:

  1. Download a pre-built binary from the Perseus Vault releases page (or build from source).
  2. Put it on your $PATH (so perseus-vault resolves), or pass its absolute path via perseus_vault_binary=.

Install

pip install llama-index-perseus-vault

Give an agent memory tools

from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI

from llama_index_perseus_vault import PerseusVaultClient, create_perseus_vault_tools

client = PerseusVaultClient(db_path="~/.llama-index/perseus-vault.db", category="agent-memory")
tools = create_perseus_vault_tools(client)  # perseus_vault_remember, perseus_vault_recall

agent = FunctionAgent(
    tools=tools,
    llm=OpenAI(model="gpt-4o-mini"),
    system_prompt=(
        "You are a helpful assistant with long-term memory. "
        "Use perseus_vault_recall before answering, and perseus_vault_remember "
        "to store durable user-specific facts, preferences, or project context."
    ),
)

# await agent.run("Remember that I prefer concise Python examples.")

Use as a retriever (RAG)

from llama_index_perseus_vault import PerseusVaultClient, PerseusVaultRetriever

client = PerseusVaultClient(db_path="~/.llama-index/perseus-vault.db")
client.remember("Perseus Vault is a local-first, encrypted memory engine.")

retriever = PerseusVaultRetriever(client=client, similarity_top_k=5)
nodes = retriever.retrieve("What is Perseus Vault?")
for n in nodes:
    print(n.score, n.node.text)

Because Perseus Vault persists to an encrypted SQLite file, anything written in one run is available in any future run pointed at the same db_path.

Configuration

PerseusVaultClient accepts:

  • db_path — path to the Perseus Vault SQLite database (default ~/.llama-index/perseus-vault.db).
  • perseus_vault_binary — name on $PATH or absolute path to the executable (default perseus-vault).
  • timeout_s — per-RPC timeout for the subprocess (default 30).
  • encryption_key — optional path to an AES-256-GCM key file.

License

MIT © 2026 Perseus Computing LLC. Perseus Vault is also MIT-licensed.

Metadata

Release files for llama-index-perseus-vault 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llama-index-perseus-vault 0.1.1
File Size Uploaded
llama_index_perseus_vault-0.1.1.tar.gz 10.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llama-index-perseus-vault 0.1.1
File Interpreter ABI Platform
llama_index_perseus_vault-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 21.8 kB

Release files / llama_index_perseus_vault-0.1.1.tar.gz

Download URL llama_index_perseus_vault-0.1.1.tar.gz
Size 10.6 kB
Tags Source
SHA-256 checksum
How to use checksums
ce97ab4120dca039887b4a4fa3fc14aad904dd64e8aeeb9a05edd2cf448599cc
BLAKE2b-256 checksum
How to use checksums
c256498f8712afd0ab1bab5bc852f696b6ae6767153b4994092f685c5c47ff1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.

Transparency log

Release files / llama_index_perseus_vault-0.1.1-py3-none-any.whl

Download URL llama_index_perseus_vault-0.1.1-py3-none-any.whl
Size 11.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b480dcebc4dee6f74aa3c7bc7ca703282df23a7a9841091da6822c14cde2623e
BLAKE2b-256 checksum
How to use checksums
cbc29495317cc90a9230a65e823f23df7414bf5b3a96ca168166fa14ca4e74af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page