No description
  • C 54%
  • PLpgSQL 43.8%
  • Python 2.1%
  • Makefile 0.1%
Find a file
2026-05-16 17:49:38 -06:00
legacy scrub: replace internal hostnames with generic keywords in legacy matchmaker 2026-05-16 13:14:23 -06:00
provider Scrub: remove all secrets, restructure to reflect reality 2026-05-16 12:11:21 -06:00
sql Scrub: remove all secrets, restructure to reflect reality 2026-05-16 12:11:21 -06:00
.env.example Scrub: remove all secrets, restructure to reflect reality 2026-05-16 12:11:21 -06:00
.gitignore Scrub: remove all secrets, restructure to reflect reality 2026-05-16 12:11:21 -06:00
Makefile Scrub: remove all secrets, restructure to reflect reality 2026-05-16 12:11:21 -06:00
README.md docs: final diagram alignment 2026-05-16 17:49:38 -06:00
recall_db.h Scrub: remove all secrets, restructure to reflect reality 2026-05-16 12:11:21 -06:00
recall_expand_query.c Scrub: remove all secrets, restructure to reflect reality 2026-05-16 12:11:21 -06:00

Recall — Sovereign Memory for AI Agents

PostgreSQL-native memory substrate. No message queues, no daemons, no bloat. One Python provider. One C helper. Four database tables. Done.

Architecture

+-------------------------+                   +------------------------+
|  Hermes Agent           |    psycopg2       |  PostgreSQL 16         |
|  (your host)            | --------------->  |  + pgvector            |
+-------------------------+                   +------------------------+
|  recall_                |   subprocess      |  facts                 |
|  provider.py            | --------------->  |  hermes_turns          |
|                         |                   |  documents             |
|  recall_expand_         |                   |  file_changes          |
|  query (C binary)       |                   |                        |
|                         |                   |  16 PG functions       |
+-------------------------+                   +------------------------+

The provider talks directly to PostgreSQL. No HTTP API. No message bus. The only C binary is recall_expand_query — called for synthesized memory queries.

Quick Start

# 1. Set up PostgreSQL with pgvector
createdb recall
psql -d recall -f sql/schema.sql

# 2. Build the C helper
make

# 3. Configure
cp .env.example .env
# Edit .env with your PostgreSQL credentials

# 4. Install the provider in Hermes
mkdir -p ~/.hermes/plugins/recall/
cp provider/recall_provider.py ~/.hermes/plugins/recall/

Environment Variables

Variable Default Description
RECALL_DB_HOST localhost PostgreSQL host
RECALL_DB_PORT 5432 PostgreSQL port
RECALL_DB_NAME recall Database name
RECALL_DB_USER recall Database user
RECALL_DB_PASS required Database password
RECALL_EXPAND_BIN recall_expand_query Path to expand binary
RECALL_KEYFILE $HOME/.hermes/.env API key file path
RECALL_EMBED_URL http://localhost:11435/embedding Embedding service URL

Design

  • Sovereign: Agents own their memory. No cloud dependency.
  • C-first: The performance path is compiled C. Python is glue.
  • PostgreSQL-native: All logic in functions, not application code. ACID.
  • Minimal: One Python file, one C file, four tables. That's it.

License

MIT