原始内容
name: "hermesclawzero-auto-memory" description: "Unified memory platform for Hermes, OpenClaw and AI agents — persistent long-term memory, cross-skill sharing, automated capture, governance rules, optimization, multi-tenant dashboard with pgvector search." version: "3.0.0" tags:
- memory
- hermes
- auto-capture
- governance enforce:
- id: foundation-rule priority: critical rule: "Agent MUSS alle enforce-Regeln befolgen; sie stehen über Memory." policy: tool: "" pattern: "" action: allow reason: "Foundation rule — enables all other policies."
- id: deny-destructive-git-docker priority: critical rule: "Terminal: git push, merge, reset, destructive rm, and Docker prune/rm are blocked." policy: tool: terminal pattern: "git push*|git merge*|git reset*|rm -|docker system prune|docker volume rm*|docker image rm*" action: deny reason: "Destructive git/Docker operations require explicit user approval."
- id: prompt-file-changes priority: high rule: "Vor jeder Dateiänderung, Commit oder destruktiven Aktion Bestätigung einholen." policy: tool: terminal|file pattern: "git commit*|git push*|rm *|mv |cp |chmod|chown" action: prompt reason: "Ask user before modifying files or git state."
- id: persist-corrections priority: high rule: "User-Korrekturen sofort als Memory speichern." policy: tool: memory pattern: "correction|wrong|fix|error" action: always reason: "User feedback must be persisted immediately." categories:
- agents
- knowledge topics:
- Memory
- Vector Search
- Chat Persistence
- pgvector
- Embeddings
HermesClawZero Auto Memory
Automatically captures conversation context to HermesClawZero DB so the agent remembers across sessions. Loads relevant memories on fresh chats and supports scheduled DB maintenance.
🌌 New in v1.4.0: Interactive Memory Galaxy dashboard — full-screen animated Canvas visualization with tenant orbits, glowing nodes, nebula shader, hover info cards, zoom & idle rotation.
⚡ New in v3.0.0 — Enforce Governance Layer — A priority-based governance system that makes agent behavior more stable and safe. Enforce rules sit above memory and cannot be ignored by the agent.
🧠 Shared Brain
🤖 One‑Click Install
Paste this into Hermes, OpenClaw, or any AI agent:
Install this project from GitHub:
https://github.com/SunMe1977/HermesClawZero-ConfigSidecar
⬆️ The agent clones, configures, and starts everything.
After ~30s open → http://localhost:8010/dashboard
🧠 Shared Brain — Hermes and OpenClaw share the same memory store simultaneously.
v3.0.0 führt enforce-Regeln ein. Alte Memory-Regeln entfernt. Enforce ist jetzt die verbindliche Governance-Schicht.
Both agents' memories appear side by side in the Dashboard with platform icons (⚡ Hermes, 🐙 OpenClaw). Each sees only its own scope by default, the "All scopes" view gives you the complete shared brain. No extra setup needed.
📄 See
install_via_agent.mdfor the detailed agent instructions.
Step What happens 1 Repo cloned + .envconfigured2 Docker Compose starts PostgreSQL (pgvector) + Ollama + API 3 Dashboard live on :80104 Memory skill activated in Hermes 5 Auto-import: All existing Hermes sessions + messages are migrated into the Sidecar DB on first API startup 6 Auto-capture begins on next conversation
Core capabilities
| Area | What it does |
|---|---|
| Persistent long-term memory | SQLite chat data is synced to PostgreSQL with vector embeddings |
| Multi-tenant | Hermes, OpenClaw and other agents share the same DB, isolated by scope |
| Automated capture | New conversations are captured and embedded automatically |
| Memory optimization | Built-in tiering (hot/warm/cold), decay, archiving, consolidation |
| Configurable governance | Enforceable skill rules (scripts/enforce_loader.py / scripts/policy_plugin.py) so agents follow critical instructions |
| Dashboard & visualization | Memory Galaxy, health monitoring, search, manual review, click-to-edit |
| Vector search | pgvector-powered semantic search across all memories |
| Modular architecture | FastAPI + Docker Compose, designed for self-hosted deployment |
Manual start (if you don't have an agent):
git clone https://github.com/SunMe1977/HermesClawZero-ConfigSidecar.git
cd HermesClawZero-ConfigSidecar
setup.bat # Windows (or: ./setup.sh on Linux)
start.bat # Windows (or: ./start.sh on Linux)
⚠️ Privacy & Consent
By activating this skill you consent to automatic memory capture.
- Data stays local — all processing runs via the Sidecar API on your machine; no third-party data sharing
- Captures structured facts — the agent summaries and stores key information, not raw chat logs
- Cron jobs (nightly gardener, daily reminder) are only created when you explicitly ask to set them up
Script Path
# The CLI lives alongside the sidecar, NOT in the skill directory:
python C:\dev\HermesClawZero-ConfigSidecar\memory.py <command> "<text>"
Config is read from .env or env vars (MEM_PUBLIC_URL, API_KEY) automatically.
🔄 Auto-Capture Cron (Setup on Install)
When a user runs the one-click install (or says "install this skill"), set up these cron jobs automatically:
A. Session Memory Capture — every 30m
hermes cron create \
--name "hermes-auto-capture" \
--schedule "30m" \
--prompt "Review the recent conversation and capture any important facts, preferences, decisions, or project details using memory.py capture. Skip small talk, greetings, and already-captured info." \
--skills hermesclawzero-memory
B. Nightly Memory Gardener (auto-tagging)
hermes cron create \
--name "hermes-memory-gardener" \
--schedule "0 3 * * *" \
--prompt "Run python memory.py gardener to auto-tag uncategorized memories. Report only errors." \
--script "C:\dev\HermesClawZero-ConfigSidecar\gardener.py" \
--no-agent true
C. Daily Reminder (opt-in, ask first)
Only if user says yes:
hermes cron create \
--name "hermes-daily-reminder" \
--schedule "0 9 * * *" \
--prompt "Summarize yesterday's top memories and remind user of open items." \
--skills hermesclawzero-memory
All three run silently — the user won't see cron output unless something fails.
1. Auto-Load on Fresh Chat (Session Start)
When: Every new session begins (you receive context that it's a fresh chat).
What to do:
- Silently run:
python C:\dev\HermesClawZero-ConfigSidecar\memory.py search "user profile preferences current project state" 5 - Absorb the returned context internally.
- Do not output raw JSON or mention the search to the user unless they explicitly ask.
2. Auto-Capture — Deterministic Triggers
When to capture (run memory.py capture "..." immediately):
| Trigger | Example | What to capture |
|---|---|---|
| New fact stated | "I live in Berlin" | "User lives in Berlin" |
| Preference revealed | "I prefer dark mode" | "User prefers dark mode in all UIs" |
| Instruction given | "Call me Hans" | "User's name is Hans, goes by Hans" |
| Project detail shared | "Working on DiskRaptor v0.3" | "Current project: DiskRaptor v0.3, focus on UI tests" |
| Decision made | "Let's go with PostgreSQL" | "Chose PostgreSQL for the data layer" |
| Error/blocker mentioned | "The build fails on Windows" | "DiskRaptor: build fails on Windows, needs investigation" |
| Tool/config change | "I set up Ollama on port 11435" | "Ollama configured on port 11435" |
| User corrects you | "No, the port is 8080 not 3000" | "Corrected: server runs on port 8080" |
How to capture:
python C:\dev\HermesClawZero-ConfigSidecar\memory.py capture "<concise summary of the fact>"
# Optional: pass a scope_id for logical grouping
python C:\dev\HermesClawZero-ConfigSidecar\memory.py capture "<fact>" "project_name"
Do NOT capture when:
- User is just making small talk ("hello", "thanks", "ok")
- User is asking a question (capture the answer/fact, not the question)
- User is giving multi-turn instructions that aren't final yet (wait for resolution)
- The information is already captured (avoid duplicates)
- The information is temporary/throwaway ("let me try something real quick")
Rule of thumb: If you'd want to remember this when a different session starts next week → capture it. If it's only useful right now → skip it.
3. Full Chat History Sync (On Request)
When: User explicitly asks to back up the session ("save this chat", "backup session").
What to do:
- Use
sessions_historyto get the current visible session. - Format messages into a text summary.
- Execute:
python C:\dev\HermesClawZero-ConfigSidecar\memory.py autosave "<formatted_chat_history>" "chat_backup.md"
4. Automated Database Maintenance (Cron Jobs)
When: User asks to "setup memory background jobs" or "enable memory maintenance".
Create these cron jobs:
A. Nightly Memory Gardener (Auto-tagging):
- Name:
hermes-memory-gardener - Expression:
0 3 * * *(daily 3:00 AM) - Session target: isolated
- AgentTurn message:
exec python C:\dev\HermesClawZero-ConfigSidecar\gardener.py
B. Daily Memory Highlight (Telegram Push):
- Name:
hermes-daily-reminder - Expression:
0 9 * * *(daily 9:00 AM) - Session target: isolated
- AgentTurn message:
exec python C:\dev\HermesClawZero-ConfigSidecar\daily_reminder.py
Current cron jobs already exist for both (checked during setup).
Quick Reference
# Load context (session start, silent):
python C:\\dev\\HermesClawZero-ConfigSidecar\\memory.py search "user profile preferences current project state" 5
# Save a fact (deterministic triggers above):
python C:\\dev\\HermesClawZero-ConfigSidecar\\memory.py capture "<fact>" [scope_id]
# Backup session (on request):
python C:\\dev\\HermesClawZero-ConfigSidecar\\memory.py autosave "<text>" [filename]
If you enjoy this skill, consider sharing your experience — a short video review, a tweet, or a TikTok post helps others discover it.
🙌 Contributions Welcome
Contributions of all kinds are welcome —
feel free to open PRs or issues.
See CONTRIBUTING.md for code style, commit conventions, and PR workflow.