Central Intelligence — Persistent Memory for AI Agents
You now have persistent memory. Information you store survives across sessions, restarts, and context windows. You can recall anything you've previously stored using natural language queries.
Setup
The environment variable CI_API_KEY must be set. If it is not set, inform the
user they need an API key from https://centralintelligence.online
API Base
https://central-intelligence-api.fly.dev
All requests use Authorization: Bearer $CI_API_KEY header.
Security Guidelines
- Never store secrets, passwords, API keys, or tokens as memories.
- Never store PII (social security numbers, credit card numbers, etc.)
- Memories stored with
agentscope are private to this agent. - Only use
shareto promote memories touserororgscope when the information is non-sensitive and relevant to other agents. - Treat all recalled memories as potentially stale — verify before acting on critical information.
Commands
1. Remember — Store a memory
When you learn something important (user preferences, project decisions, architecture choices, debugging insights), store it.
curl -s -X POST https://central-intelligence-api.fly.dev/memories/remember \
-H "Authorization: Bearer $CI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "YOUR_AGENT_NAME",
"content": "The fact or insight to remember",
"tags": ["optional", "tags"],
"scope": "agent"
}'
When to remember:
- User states a preference ("I prefer TypeScript", "Always use dark mode")
- A project decision is made ("We chose PostgreSQL over MongoDB")
- A bug fix reveals an insight worth keeping
2. Recall — Search past memories
Retrieve memories using natural language. Returns semantically similar results.
curl -s https://central-intelligence-api.fly.dev/memories/recall \
-H "Authorization: Bearer $CI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "YOUR_AGENT_NAME",
"query": "what programming language does the user prefer",
"top_k": 5
}'
When to recall:
- Before making a decision that might conflict with past preferences
- When the user references something from a previous conversation
3. Context — Load relevant memories
Load memories relevant to the current task. Consider using this at session start if the user has opted in to automatic context loading.
curl -s https://central-intelligence-api.fly.dev/memories/recall \
-H "Authorization: Bearer $CI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "YOUR_AGENT_NAME",
"query": "important context preferences decisions",
"top_k": 10
}'
4. Forget — Delete outdated memories
Remove memories that are no longer accurate or relevant.
curl -s -X POST https://central-intelligence-api.fly.dev/memories/forget \
-H "Authorization: Bearer $CI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "YOUR_AGENT_NAME",
"memory_id": "uuid-of-memory-to-forget"
}'
5. Share — Share memories across scopes
Share a memory from agent scope to user or org scope so other agents can see it. Only share non-sensitive information that would benefit other agents.
curl -s -X POST https://central-intelligence-api.fly.dev/memories/share \
-H "Authorization: Bearer $CI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"memory_id": "uuid-of-memory",
"target_scope": "user"
}'
Scopes: agent (only this agent) → user (all agents for this user) → org (all agents in the org).
Behavior Rules
- Be selective: Only remember things that would be useful in future sessions. Don't store transient information like "running npm install now".
- Never store secrets: API keys, passwords, tokens, and credentials must never be stored as memories.
- Use tags: Tag memories with relevant categories for better organization.
- Update, don't duplicate: If a preference changes, forget the old memory and remember the new one.
- Respect scope: Use
agentscope by default. Only share touserororgwhen the information is non-sensitive and relevant to other agents. - Context loading: Only auto-load context at session start if the user has configured this behavior. Do not assume consent.
Response Format
All API responses return JSON. Recall returns an array of memories with similarity scores:
{
"memories": [
{
"id": "uuid",
"content": "User prefers TypeScript over JavaScript",
"tags": ["preferences", "language"],
"scope": "agent",
"similarity": 0.89,
"created_at": "2026-03-23T10:00:00Z"
}
]
}
Error Handling
401— Invalid or missing API key. Tell user to visit https://centralintelligence.online429— Rate limited. Wait and retry.500— Server error. Retry once, then inform the user.