Aionforge Memory gives an agent — or a team of agents — a durable store they can
recall across sessions. It captures episodes and derives facts, notes, and
entities beside them; tracks open work as first-class work items; delivers
addressed agent-to-agent messages; and records provenance and audit events — all
in selene-db. Recall fuses lexical
search, vector search, graph signals, recency, importance, and trust-aware
ranking into a bounded, explicitly untrusted context bundle.
A Rust-native agentic memory substrate built on the selene-db graph engine: a bi-temporal knowledge graph, hybrid retrieval, and an optional MCP server.
ดาว
11
เครื่องมือ
—
อัปไทม์
—
It is MCP-only: every capability is an MCP tool, resource, or prompt, and there
is no bundled web or terminal console. Operators drive it with MCP tools
(server_status, memory_census, consolidation_status, audit_history) plus
the /livez and /version HTTP endpoints.
Use it when you want agents to remember decisions, handoffs, failures, procedures,
project facts, and open work — and to page one another — without treating recalled
text as new instructions.
Quick Start
These commands build the local binary and start an MCP server on loopback.
Embedding is disabled in this first config so you can verify the server without
running an OpenAI-compatible embedding provider.
For production-quality semantic recall, configure embeddings instead of leaving
them disabled. Start with the embedding guide.
What You Get
Durable capture of agent observations, decisions, handoffs, and failures as
immutable episodes.
Hybrid recall across lexical matches, vectors, graph expansion, recency,
importance, and trust signals, returned as a bounded untrusted bundle.
Work items — tasks, blockers, and plans tracked as first-class,
status-tracked nodes, distinct from decaying memory.
Agent Pager (new in 0.4.0) — durable, addressed agent-to-agent and team
messages with polling, bounded waiting, acknowledgements, subscribable room
resources, and TTL retention.
Explicit namespaces — agent-private, team, global, and system memory as
separate policy surfaces.
Provenance and audit records for writes.
One aionforge binary — doctor, recover, and serve, over MCP on stdio
or Streamable HTTP.
A repo-shipped agent plugin with memory-workflow and messaging skills for
Codex, Claude Code, Cursor, and compatible clients.
Aionforge Memory is retrieval memory, not model training. It does not fine-tune
models or execute recalled content as instructions. See
honest scope for the current boundaries and deferred
work.
Memory Model
A capture becomes one immutable episode. Consolidation adds derived facts,
entities, and notes beside that episode instead of rewriting it. Recall returns
a bounded, explicitly untrusted context bundle; lifecycle operations such as
forgetting, erasure, promotion, and demotion are explicit controls. Messages and
work items live in their own node kinds, outside the capture-and-decay path.
The server publishes MCP tools, resources, and prompts. For a local HTTP server,
most clients only need the endpoint URL above plus a stable agent UUID.
The important safety rule is simple: recalled memory and message bodies are
wrapped as third-party data and should be treated as context, not instruction
text.
For Claude Code it also ships a SessionStart hook that re-seeds the cadence after
a context reset — with no default agent, so it never takes over your main
thread. The plugin does not start or register an MCP server by itself: run the
aionforge MCP server separately, then configure the plugin-enabled client to use
that server.
For bind mounts, use an owner-only data directory. The container runs as
UID/GID 10001:10001, and the store refuses unsafe data directory permissions.
Operations details are in Operations and recovery.
Use The Rust Library
Rust hosts can link the aionforge crate directly and provide an Embedder
implementation:
use aionforge::{CaptureRequest, Embedder, Memory, MemoryConfig, Principal, RecallQuery};
# async fn run<E: Embedder>(embedder: E) -> Result<(), Box<dyn std::error::Error>> {
let now = "2026-06-06T09:30:00-05:00[America/Chicago]".parse()?;
let memory = Memory::open_in_memory(embedder, &now, MemoryConfig::default())?;
let viewer = Principal::agent("0197b0aa-3c5e-8000-8000-000000000001".parse()?);
let bundle = memory.search(RecallQuery::new("graph databases", viewer, 5)).await?;
println!("{}", bundle.rendered);
# Ok(())
# }
This project is public and pre-1.0. Issues and pull requests are welcome.
Open an issue before large design changes.
CONTRIBUTING.md covers setup, branch flow, commit style, and local gates.
AGENTS.md covers crate layering, invariants, and agent-facing validation.
Use the issue chooser for bugs, features, and design proposals.
Do not include private planning notes, secrets, internal handoff text, or agent
transcripts in public issues or PRs.
License
Dual-licensed under either Apache 2.0 or MIT,
at your option. Contributions are accepted under the same dual license unless
stated otherwise.
A
Aionforge Memory
jscott3201·11 ดาว·
A Rust-native agentic memory substrate built on the selene-db graph engine: a bi-temporal knowledge graph, hybrid retrieval, and an optional MCP server.
คัดลอกคอนฟิก stdio สำหรับ Cursor, Claude Desktop, Claude Code หรือ VS Code ได้ในหน้านี้ คอนฟิกนี้ใช้การติดตั้งของผู้เผยแพร่ ไม่ใช่พร็อกซีของ PlugMCP
Aionforge Memory ต้องใช้ API key ไหม?
ระเบียนนี้ไม่ได้ระบุตัวแปรสภาพแวดล้อมที่จำเป็น
Aionforge Memory ใช้ทรานสปอร์ตแบบใด?
Aionforge Memory ทำงานแบบโลคัลผ่าน stdio
Aionforge Memory ถูกตรวจสอบล่าสุดเมื่อใด?
ตรวจสอบล่าสุดเมื่อ 2026-10-28 A Rust-native agentic memory substrate built on the selene-db graph engine: a bi-temporal knowledge graph, hybrid retrieval, and an optional MCP server.