Files
Hermes Agent d1c8a76180 Add all custom Hermes skills from general profile (33 skills)
agent-workflows: workspace-context-organization
autonomous-ai-agents: hermes-agent
computer-use
devops: hermes-config-bulk-update, hermes-profile-management, holographic-memory, telegram-integration, webhook-subscriptions
email: himalaya
mcp: native-mcp, searxng-smart-search
media: voice-systems, youtube-content
mlops: local-vector-memory, qdrant-collection-management
productivity: maps, notion, ocr-and-documents
project-knowledge-base
research: arxiv, blogwatcher, ecosystem-surveillance
save-agents-md
social-media: social-media-scraping, xurl
software-development: agent-self-audit, simplify-code, spike, subagent-driven-development, systematic-debugging, test-driven-development, writing-plans
user-response-style
2026-07-04 11:39:25 -05:00

177 lines
6.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: holographic-memory
description: "Configure and use Holographic as Hermes Agent's memory provider — local SQLite, FTS5 search, trust scoring, HRR algebra. Covers setup, migration from other providers, tool usage, and cleanup."
version: 1.0.0
author: Hermes Agent
license: MIT
metadata:
hermes:
tags: [holographic, memory, sqlite, local, migration, hermes]
related_skills: [hermes-agent, hermes-config-bulk-update]
---
# Holographic Memory — Local SQLite Provider for Hermes Agent
Holographic is Hermes' zero-dependency local memory provider. It stores facts in a local SQLite database with FTS5 full-text search, trust scoring, and HRR (Holographic Reduced Representations) for compositional algebraic queries. No API keys, no daemon, no external services.
## When to Use
- Setting up Holographic as the memory provider
- Migrating from Hindsight (or any other provider) to Holographic
- Understanding Holographic's tools and capabilities
- Troubleshooting Holographic memory issues
**Memory system roles:** Holographic is the real-time, always-working, automatic memory provider — it handles cross-session recall via `fact_store`. The agent searches Holographic freely and automatically. Qdrant `memories` collection is a shared long-term archive across all profiles, auto-populated by a Holographic sync cron job. The agent does NOT search Qdrant unless explicitly told to — it's write-only from the agent's perspective. See `/home/n8n/workspace/general/new_holographic.md` for the full Holographic→Qdrant sync design.
## Quick Setup
```bash
# Interactive wizard (easiest)
hermes memory setup # select "holographic"
# Or directly
hermes config set memory.provider holographic
```
Verify:
```bash
hermes memory status
# Should show: Provider: holographic, Status: available ✓
```
## Migration from Hindsight
Complete removal + switch to Holographic:
### 1. Switch provider
```bash
hermes config set memory.provider holographic
```
### 2. Kill Hindsight daemon
```bash
pkill -f hindsight
```
### 3. Uninstall Hindsight packages
```bash
pip uninstall hindsight hindsight-all hindsight-client -y
```
### 4. Clean profile directories
```bash
# Remove hindsight config dirs from all profiles
find ~/.hermes/profiles -maxdepth 3 -name 'hindsight' -type d -exec rm -rf {} + 2>/dev/null
# Remove hindsight log files
find ~/.hermes/profiles -maxdepth 3 -name 'hindsight-embed.log' -type f -exec rm -rf {} + 2>/dev/null
# Remove base hindsight dir
rm -rf ~/.hermes/hindsight
```
### 5. Strip HINDSIGHT env vars
```bash
# From base .env
sed -i '/^HINDSIGHT/d' ~/.hermes/.env
# From all profile .env files
for f in ~/.hermes/profiles/*/.env; do
sed -i '/^HINDSIGHT/d' "$f"
done
```
### 6. Clean venv leftovers
```bash
# Remove site-packages
rm -rf ~/.hermes/hermes-agent/venv/lib/python3.11/site-packages/hindsight*
rm -rf ~/.hermes/hermes-agent/.venv/lib/python3.11/site-packages/hindsight*
# Remove binaries
rm -f ~/.hermes/hermes-agent/venv/bin/hindsight-*
rm -f ~/.hermes/hermes-agent/.venv/bin/hindsight-*
```
### 7. Verify
```bash
hermes memory status
grep -r 'HINDSIGHT' ~/.hermes/.env ~/.hermes/profiles/*/.env 2>/dev/null # should return nothing
```
## Configuration
Config lives in `config.yaml` under `plugins.hermes-memory-store`:
| Key | Default | Description |
|-----|---------|-------------|
| `db_path` | `$HERMES_HOME/memory_store.db` | SQLite database path |
| `auto_extract` | `false` | Auto-extract facts at session end |
| `default_trust` | `0.5` | Default trust score (0.01.0) |
Minimal config — Holographic works out of the box with zero additional settings.
## Tools
Holographic provides two tools:
### `fact_store` — 9 actions
| Action | Description |
|--------|-------------|
| `add` | Store a new fact |
| `search` | FTS5 full-text search |
| `probe` | Entity-specific algebraic recall (all facts about a person/thing) |
| `related` | Find facts related to a given fact |
| `reason` | Compositional AND queries across multiple entities |
| `contradict` | Automated detection of conflicting facts |
| `update` | Update an existing fact |
| `remove` | Delete a fact |
| `list` | List all facts |
### `fact_feedback` — Trust scoring
Rate facts as helpful or unhelpful. Trust scores adjust asymmetrically:
- Helpful: +0.05
- Unhelpful: -0.10
This pushes the store toward self-correction over time.
## Unique Capabilities
- **`probe`** — entity-specific algebraic recall. Ask "what do we know about X?" and get all facts about that entity.
- **`reason`** — compositional AND queries. "What do we know about X AND Y?" combines multiple entity probes.
- **`contradict`** — automatic conflict detection. Finds facts that disagree with each other.
- **Trust scoring** — memories confirmed repeatedly gain weight; contradicted memories lose weight.
## Architecture
- **Storage:** Local SQLite with FTS5 extension
- **Retrieval:** HRR (Holographic Reduced Representations) — algebraic rather than pure semantic similarity
- **Dependencies:** None (SQLite is always available). NumPy optional for HRR algebra.
- **Cost:** Free
- **Data location:** `$HERMES_HOME/memory_store.db` (profile-scoped)
## Profile Isolation
Each profile gets its own SQLite database at `$HERMES_HOME/memory_store.db`. Since `$HERMES_HOME` differs per profile, data is naturally isolated.
## Comparison with Hindsight
| Dimension | Holographic | Hindsight |
|-----------|-------------|-----------|
| Storage | Local SQLite | Local PostgreSQL or Cloud |
| Dependencies | None | hindsight-client, daemon, LLM |
| Setup | One config line | Config + daemon + bank API |
| Retrieval | FTS5 + HRR algebra | Semantic + keyword + graph + temporal |
| Trust model | Explicit trust scoring | Observations + entity resolution |
| Best for | Local-only, zero-dependency | Rich structured memory, multi-agent |
## Pitfalls
- **Holographic is local-only.** No cloud sync, no multi-agent shared memory. Each profile is fully isolated.
- **No automatic fact extraction.** Unlike Hindsight (which extracts facts from conversation turns), Holographic relies on the agent explicitly using `fact_store add`. Set `auto_extract: true` to enable session-end extraction.
- **Trust scoring requires feedback.** Without `fact_feedback` calls, all facts stay at `default_trust` (0.5). The system doesn't self-correct without explicit feedback.
- **FTS5, not semantic search.** `fact_store search` uses SQLite FTS5 (full-text), not vector embeddings. Exact and near-exact matches work well; conceptual similarity does not.
- **No daemon to manage.** This is a feature, not a bug — but if you're used to checking daemon health, there's nothing to check. If memory isn't working, check `hermes memory status` and the SQLite file.
## References
- `references/hindsight-migration-checklist.md` — Step-by-step migration from Hindsight to Holographic
- `references/holographic-qdrant-sync.md` — Design for syncing Holographic facts to the shared Qdrant `memories` collection across all profiles