A brain for
AI agents
Memories become activation patterns. Associations strengthen with use and decay with neglect. Your agents don't search. They remember.
Search finds documents. Brains understand them.
Search
- Store documents, embed them, rank by cosine similarity
- Ten results from different points in time
- Agent has to guess which is current
- Information exists. Understanding does not.
Recall
- Memories become activation patterns in neural space
- Query activates a partial pattern, the network completes it
- Conflicting memories compete. The stronger pattern wins.
- Stale patterns fade naturally
The brain corrects the agent
Not a search result. A synthesized answer grounded in specific memories.
Same brain. Two interfaces.
Guardian Daemon
- Headless service running at :7700
- Agents connect via HTTP API
- Hook integration (SessionStart, PreToolUse, PostToolUse, Stop)
- Living prompt generation from brain state
- Action gate on every outbound command
- Activity fan-out to all Syntheos services
- Runs on a server, always on
Terminal UI
- Interactive terminal interface
- Configure your own local LLM (llama-server on GPU)
- Spawn and control agents directly
- Chat with the brain
- Same neural substrate underneath
- Runs on your machine
What the brain does
Recall, not retrieval
Queries activate patterns and complete them. Answers come from the network's state, not ranked documents.
Contradiction resolution
Conflicting memories compete. The network converges on the stronger, more current pattern.
Natural decay
Unused associations fade. Patterns that never get reinforced become unreachable over time.
Dreaming
Offline consolidation replays patterns, strengthens important connections, and resolves interference during idle periods.
The Gate
Every outbound agent action is intercepted. Checked against brain state. Blocked, allowed, or enriched with context.
Activity fan-out
One endpoint, seven services. Agents report to /activity. Eidolon distributes to task tracking, event bus, logging, memory, registry, quality eval, and the brain.
How it fits together
Connect any agent
Claude Code hooks are one integration path. Any agent that hits the daemon's HTTP API gets the same intelligence layer.
{
"hooks": {
"SessionStart": [{
"hooks": [{
"type": "command",
"command": "bash ~/.claude/hooks/session-start-engram.sh",
"timeout": 30,
"statusMessage": "Loading context from Eidolon brain..."
}]
}],
"Stop": [{
"hooks": [{
"type": "command",
"command": "bash ~/.claude/hooks/session-end.sh",
"timeout": 15
}]
}],
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "bash /path/to/eidolon/scripts/eidolon-gate.sh",
"timeout": 10
}]
}],
"PostToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "bash ~/.claude/hooks/eidolon-activity.sh",
"timeout": 10,
"async": true
}]
}]
}
} | Hook | Lifecycle | Purpose |
|---|---|---|
| SessionStart | Agent session begins | Injects brain-aware context via /prompt/generate |
| Stop | Agent session ends | Enforces Engram store, reports agent.offline |
| PreToolUse (Bash) | Before every shell command | Gate check: allow, block, or enrich |
| PostToolUse (Bash) | After every shell command | Reports significant actions to /activity |
All hooks fail open. If the daemon is unreachable, commands proceed normally.
Up and running in three steps
Requires Rust 1.75+ and Engram running and accessible.
Build
cargo build --release --workspace Configure
cp config/config.example.toml ~/.config/eidolon/config.toml
# Edit with your Engram URL and brain path Run
# Start the daemon
./target/release/eidolon-daemon
# Or launch the TUI
./target/release/eidolon-tui Or use Docker
docker run -d --name eidolon \
-p 7700:7700 \
-v eidolon-data:/app/data \
ghostframe/eidolon:latest