No description
- C 54%
- PLpgSQL 43.8%
- Python 2.1%
- Makefile 0.1%
| legacy | ||
| provider | ||
| sql | ||
| .env.example | ||
| .gitignore | ||
| Makefile | ||
| README.md | ||
| recall_db.h | ||
| recall_expand_query.c | ||
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