Hippocortex
/install hippocortex
Hippocortex -- Persistent Memory for OpenClaw
Setup
1. Get an API key
Sign up at https://dashboard.hippocortex.dev and create an API key.
2. Configure credentials
Set environment variables (preferred):
export HIPPOCORTEX_API_KEY="hx_live_..."
# Optional -- defaults to https://api.hippocortex.dev
export HIPPOCORTEX_BASE_URL="https://api.hippocortex.dev"
Or create .hippocortex.json in your workspace root:
{
"apiKey": "hx_live_...",
"baseUrl": "https://api.hippocortex.dev",
"sessionId": "my-agent"
}
3. Resolve configuration
On every invocation, resolve config in this order:
- Environment variables (
HIPPOCORTEX_API_KEY,HIPPOCORTEX_BASE_URL) .hippocortex.jsonin workspace root- Fail gracefully if neither exists -- warn once, then proceed without memory
Set BASE_URL to $HIPPOCORTEX_BASE_URL or fall back to https://api.hippocortex.dev.
Set SESSION_ID from .hippocortex.json field sessionId, or default to "openclaw".
For self-hosted setup details, see references/setup-guide.md.
Automatic Memory Flow (MANDATORY)
Follow this flow on every interaction. All API calls use:
Authorization: Bearer $HIPPOCORTEX_API_KEY
Content-Type: application/json
Before answering ANY user message: Synthesize
Query memory for relevant context before composing your response.
curl -s -X POST "$BASE_URL/v1/synthesize" \
-H "Authorization: Bearer $HIPPOCORTEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "'"$SESSION_ID"'",
"query": "\x3Crephrase the user message as a memory query>",
"maxTokens": 2000
}'
Response contains a memories array. Incorporate relevant memories into your answer naturally. Do not dump raw memory output to the user.
If synthesize fails: Still answer the user. Memory is additive, not blocking. Log the error silently and continue.
After important exchanges: Capture
Store the conversation when it contains memorable content.
curl -s -X POST "$BASE_URL/v1/capture" \
-H "Authorization: Bearer $HIPPOCORTEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "'"$SESSION_ID"'",
"type": "conversation",
"payload": {
"messages": [
{"role": "user", "content": "\x3Cuser message>"},
{"role": "assistant", "content": "\x3Cyour response>"}
]
},
"metadata": {
"extractedMemories": [
"User prefers dark mode",
"Project X uses PostgreSQL 16"
]
}
}'
The extractedMemories array is critical -- it stores discrete semantic facts directly. Extract 1-5 concise facts from the exchange.
If capture fails: Still respond to the user. Log the error and retry on next opportunity.
During heartbeats: Compile
Run compile once per hour to consolidate memory patterns.
curl -s -X POST "$BASE_URL/v1/compile" \
-H "Authorization: Bearer $HIPPOCORTEX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "'"$SESSION_ID"'"
}'
Track the last compile timestamp. Skip if less than 60 minutes have passed.
If compile fails: Not urgent. Retry on next heartbeat.
API Reference
All endpoints require Authorization: Bearer $HIPPOCORTEX_API_KEY.
POST /v1/synthesize
Query stored memories.
| Field | Type | Required | Description |
|---|---|---|---|
| sessionId | string | yes | Agent session identifier |
| query | string | yes | Natural language query |
| maxTokens | number | no | Max tokens in response (default: 2000) |
Returns: { "memories": [...] }
POST /v1/capture
Store a conversation or fact.
| Field | Type | Required | Description |
|---|---|---|---|
| sessionId | string | yes | Agent session identifier |
| type | string | yes | "conversation" or "fact" |
| payload | object | yes | Message array or fact content |
| metadata.extractedMemories | string[] | no | Discrete facts to store directly |
Returns: { "id": "...", "status": "captured" }
POST /v1/compile
Consolidate and optimize stored memories.
| Field | Type | Required | Description |
|---|---|---|---|
| sessionId | string | yes | Agent session identifier |
Returns: { "status": "compiled", "stats": {...} }
When to Capture
Capture after exchanges that contain:
- User preferences, corrections, or personal facts
- Important decisions or conclusions
- Explicit requests ("remember this", "keep track of...")
- New information about people, projects, or processes
- Procedures or workflows the user explains
When NOT to Capture
Skip capture for:
- Casual greetings or small talk
- Simple yes/no confirmations
- Pure command execution (just running a script)
- Repeated information already in memory
Error Handling Summary
| Endpoint | On failure | Action |
|---|---|---|
| synthesize | Answer without memory context | Log error, continue |
| capture | Respond normally | Log error, retry later |
| compile | Skip this cycle | Retry next heartbeat |
Never block a user response because a memory API call failed. Memory enhances responses but is never required for them.
Extracting Good Memories
When writing extractedMemories, follow these guidelines:
- Keep each fact to one sentence
- Be specific: "User's dog is named Max" not "User has a dog"
- Include context: "User prefers Python for data scripts" not "User likes Python"
- Capture corrections: "User's name is spelled Vince, not Vincent"
- Store preferences: "User wants responses in German for work emails"
- Record project facts: "Project Aurora uses Next.js 15 with Supabase"
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install hippocortex - After installation, invoke the skill by name or use
/hippocortex - Provide required inputs per the skill's parameter spec and get structured output
What is Hippocortex?
Provides an OpenClaw agent with persistent long-term memory by automatically remembering and recalling conversations, facts, and preferences across sessions. It is an AI Agent Skill for Claude Code / OpenClaw, with 296 downloads so far.
How do I install Hippocortex?
Run "/install hippocortex" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Hippocortex free?
Yes, Hippocortex is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Hippocortex support?
Hippocortex is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Hippocortex?
It is built and maintained by vmaiops-alt (@vmaiops-alt); the current version is v2.2.2.