Generated banner for zer0dex
Generated logo for zer0dex

zer0dex

Memory frameworkOfficial Hermes Labs project

Created by Hermes Labs

Published in hermes-labs-ai/zer0dex. Publisher page

64 GitHub stars

What it is

A local dual-layer memory pattern for AI agents: a compact, human-readable markdown index paired with semantic retrieval from a local vector store, queried before each message. For cross-project recall where flat memory files or vector-only RAG fall short. Local-first. Reference implementation.
— the description by Hermes Labs

AutoGineer overview, from the brain’s own files

zer0dex is a reference implementation for a local-first memory architecture designed to help AI agents manage long-term recall without overwhelming their context window. It utilizes a two-layer approach: a compact, human-editable Markdown index that provides a high-level map of stored information, and a local vector store that handles semantic retrieval of detailed memories. By providing a CLI and a loopback HTTP server, it allows developers to integrate persistent memory into their agents by querying the server before model requests. It is built for developers who need to manage growing archives of notes or project context locally, leveraging tools like Ollama, mem0, and Chroma.

How it works

Memory model: Vector store

AutoGineer overview, from the brain’s own files

The system operates through two distinct layers. The Markdown index acts as a human-readable map of projects and categories that can be kept in the agent's context. The local memory store, powered by a vector database, holds the full details of the memories. Users seed the system from markdown files, and the agent host interacts with a local HTTP server to query relevant information based on semantic meaning before generating responses.

Folders
FolderRoleFiles
.githubagent-config7
assetsattachments7
docsdocs3
srcsource-code5
teststests4
.agentsfolder1
evalfolder3

Requirements

Runtimes: Python >=3.11

Databases: Chroma

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Google Antigravity, Kiro, OpenCode, Amp, Roo Code, Cline, JetBrains Junie, Devin (ex-Windsurf)

Set it up

  1. Not scanned by AutoGineerIts dependencies are installed by pip or uv when you run it and were not scanned by AutoGineer (3 declared). https://pypi.org/project/zer0dex/
  2. Created by Hermes Labs. Published in hermes-labs-ai/zer0dex. Licence: Apache License 2.0.

Usage

AutoGineer overview, from the brain’s own files

  • Integrate memory into local AI agents
  • Manage long-term project recall
  • Seed agent memory from existing markdown notes
  • Perform semantic search over local memory stores
“Where does Project Atlas deploy?”
The agent queries the zer0dex server and retrieves the specific deployment target stored in the vector database.
“List all active project categories.”
The agent reads the human-editable Markdown index to provide a summary of current project categories.

Documentation by Hermes Labs

<div align="center">

<picture> <source media="(prefers-color-scheme: dark)" srcset="assets/zer0dex-hero-white-background.jpg"> <source media="(prefers-color-scheme: light)" srcset="assets/zer0dex-hero-black-background.jpg"> <img src="assets/zer0dex-hero-black-background.jpg" alt="zer0dex by Hermes Labs" width="100%"> </picture>

zer0dex

Give an agent long-term recall without loading every note into its prompt.

A readable Markdown index shows what the agent knows. A local vector store retrieves the details when they matter.

by Hermes Labs

PyPI · CLI reference · HTTP API

</div>

Your agent knows the project name, but the deployment decision it needs is buried in months of notes. Putting the entire archive in its context is expensive and hard to navigate; a vector store alone gives you no simple map of what's in it. zer0dex pairs a short index you can read and edit with semantic search over the underlying memories.

Try it locally

Requires Python 3.11 or 3.12 and Ollama running on your machine. Start Ollama first if it is not already serving at http://localhost:11434.

mkdir zer0dex-demo && cd zer0dex-demo
python3 -m venv .venv
source .venv/bin/activate
python -m pip install zer0dex
ollama pull nomic-embed-text
ollama pull mistral:7b

printf '# Memory\n## Project Atlas\n- Deployment target: staging\n' > MEMORY.md
zer0dex check
zer0dex init
zer0dex seed --source MEMORY.md
zer0dex serve --background
zer0dex query "Where does Project Atlas deploy?"

The last command returns matching stored memories if extraction and retrieval succeeded. Run zer0dex stop when finished. The configuration and store live in the current directory (.zer0dex.json and .zer0dex/); use a disposable directory for a trial. If check fails, confirm that Ollama is running and both models were pulled before seeding.

How the two layers work

LayerWhat it gives you
Markdown indexA compact, human-editable map of projects, categories, and durable pointers. Keep this in the agent's context.
Local memory storeThe fuller details, retrieved by meaning when the agent needs them.

The CLI can seed memories from Markdown, add more text, and query a loopback HTTP server. Your agent host calls POST /query before a model request and decides which matches to include. zer0dex supplies the server and CLI; it does not install an automatic hook into your agent. A small TypeScript host adapter shows that integration point.

The default path uses local Ollama models for embeddings and memory extraction, with mem0 and Chroma for storage. You can inspect the index directly and keep the retrieval store on your machine.

When to use it

zer0dex is a fit for developers building a local, long-running agent whose notes have outgrown one MEMORY.md, but who still want a readable map of what was saved. It is a reference implementation of this two-layer pattern, currently in the 0.1.x developer-preview line. The package is not a hosted team service or a complete agent framework.

In the bundled 86-memory, 97-case evaluation, the combined approach reached 91.2% average recall and 80.0% cross-reference recall. This is one test workload; try your own notes and queries before choosing a retrieval strategy.

Go further

Apache-2.0. Hermes Labs builds agentic infrastructure for autonomous systems.

45 files · 33 not served here

Advantages

  • Provides a human-readable index that is easy to edit and maintain alongside the automated vector store. evidence: README.md
  • Reduces context window usage by separating high-level indexing from detailed semantic retrieval. evidence: README.md

Limitations

  • Does not provide an automatic hook into agent hosts; requires manual integration via the provided API. evidence: README.md
  • Not suitable for compliance or governance-heavy environments as it is a local-first developer tool. evidence: AGENTS.md

Security

Risk level: Medium risk

This brain runs

Git hooks (2)

  • .pre-commit-config.yaml: pre-commit hooks from https://github.com/pre-commit/pre-commit-hooks at v4.6.0 (contributor tooling: runs only after pre-commit install) · uses the network
  • .pre-commit-config.yaml: pre-commit hooks from https://github.com/astral-sh/ruff-pre-commit at v0.4.4 (contributor tooling: runs only after pre-commit install) · uses the network

Agent instructions that run or fetch something (2)

  • AGENTS.md: pip install -e ".[dev]"
  • AGENTS.md: python -m pytest tests/ -q
  • Medium risk: runs-git-hook-remote-exec (.pre-commit-config.yaml:2)
  • Medium risk: runs-git-hook-remote-exec (.pre-commit-config.yaml:9)
  • Low risk: network-instructions (.agents/skills/zer0dex/SKILL.md:5)
  • Low risk: network-instructions (AGENTS.md:20)

Attribution and licence

Created by
Hermes Labs
Declared authors
  • Rolando Bosch (declared in pyproject.toml)
  • Rolando Bosch Rodriguez (declared in CITATION.cff)
Publisher
Hermes Labs (Official Hermes Labs project)
Source
hermes-labs-ai/zer0dex · commit aae06c9
Licence
Apache License 2.0 (files served here)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Hermes Labs.

Install from source

33 of its files are not served here, so there is no ZIP. hermes-labs-ai/zer0dex at aae06c9