
Agent Memory Os
io.github.yamantaka520由 GitHub 帳號 yamantaka520 發布v1.10.1更新於 Oct 25, 2026
Local-first memory engine for AI-agent teams: team/project ACL, recall, and federated sync.
發布方自己的服務:Memory.fit
概覽
本地優先的記憶伺服器,讓 AI 助理擁有持久、受 ACL 約束的記憶,並與同一台機器上的其他代理共享。
- 可以做什麼
- 新增、搜尋和更新記憶,可設為私人、代理、團隊、專案或全域可見,之後還能分享或撤銷存取。為提示詞建立受 token 預算限制的上下文包,並檢視每條記憶被納入或排除的原因。連結相關記憶、提交召回回饋、合併重複記憶,以及卸載和重新載入上下文。對記憶狀態做快照與差異比較,並在多個節點之間同步記憶和團隊結構。
- 適用情境
- 當多個代理或代理設定共同處理同一批專案,需要共享恰當知識又不洩露私密筆記時使用;也適合希望記憶保存在本機磁碟、可離線運作的場景。
- 執行需求
- 本機 Python 3.11+ 環境並含 SQLite FTS5;安裝帶 mcp 附加項的 PyPI 套件並以 stdio 方式執行伺服器。設定 AGENT_MEMORY_AGENT_ID 讓記憶歸屬正確的代理,可選設定 AGENT_MEMORY_HOME 指定資料目錄(預設 ~/.agent-memory)。資料庫應放在本機磁碟而非網路檔案系統上。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Agent Memory Os,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
[PyPI] [Python] [CI] [Docker Pulls] [License] [Glama score]
English · 繁體中文
A local-first memory system for AI-agent teams — not just giving one agent a memory, but a shared memory fabric for a fleet of agents working together: private, team, and project-scoped memories behind a hard ACL, associative recall, and federated sync that keeps a mesh of nodes (and their org structure) in agreement. One SQLite file, zero required dependencies, Apache-2.0.
Why · Compare · Install · Quickstart · Features · Federation · Web UI · User Guide
[AgentMemoryOS web console — dashboard, browse, association graph]
The built-in web console: token-usage by agent/team/project, memory browse, and the ACL-safe association graph.
Why
Real work happens in teams of agents — a project might mix Claude Code, Codex, OpenClaw, and several Hermes profiles, across multiple teams and projects, on one machine or many. They need to share the right knowledge with the right teammates and keep private what should stay private:
- Per-agent memory is the floor, not the ceiling: durable facts, preferences, procedures, and lessons that survive across sessions.
- Team & project memory is the point: a team sees
team:<id>memory; a project (a subset of the team) seesproject:<id>memory; nothing leaks across the boundary. Membership is first-class and manageable, and drives the ACL. - Federation keeps a mesh honest: memories and the org structure (teams/projects/memberships) converge across nodes, so
project:<id>means the same thing everywhere. - Local-first avoids the latency, cost, and privacy tradeoffs of cloud memory platforms — memories live in a local SQLite file, and each prompt receives only the relevant, budgeted slice.
Features
- Local-first, zero-dependency core — one SQLite file (FTS5), no server required.
pip installand go. - Teams & projects, first-class — teams are sets of node members; a project's members are a subset of its team.
team:<id>memory reaches the whole team,project:<id>memory only that project — a hard ACL, managed in the console/CLI/API. Removing a member re-scopes recall instantly; deleting a scope revokes its memory. - Federated across nodes, with a real trust model — portable bundles + peer sync converge memories, links, profiles, and the org structure (teams/projects/memberships) with last-writer-wins + tombstones. Per-peer policy (
shared/full/team:/project:) is an enforced authorization scope: a peer can only assert membership within its own scope and can only shrink a memory's visibility, never widen it — no cross-scope escalation from a bundle. - Revocation that propagates — an independent ACL clock carries a post-hoc share/revoke across the mesh, so revoking access actually retracts it on peers that already synced the memory — without disturbing the decay clock.
- Requester-aware ACL — every agent has private, agent, team, project, and global memories; visibility is a hard gate enforced before ranking, never a soft score. Candidate indexes return IDs only; content is re-read through the gate.
- Dynamic context packs — token-budgeted, auditable memory selection per prompt (
context_pack_report()explains every include/exclude decision). - Truth arbitration — duplicate suppression, contradiction detection (
CONFLICTmarkers), and reserved budget for core memories. - Associative recall (resonance) — an authoritative
memory_linksgraph lets related memories surface even when they share no query terms; traversal is ACL-safe (invisible nodes are untraversable). - Hebbian reinforcement — memories recalled together grow stronger links (
record_recall, orauto_reinforce=Trueon context packs); unhelpful recalls weaken links and confidence (helpful=False). - Per-agent recall profiles — different agent personas weight memory types differently (an engineer leans on
procedure, a companion onpreference); profiles persist in the database and re-weight ranking only, never bypassing ACL. - Memory lifecycle — exponential/linear decay, pinning, hard expiry, and a write-side
consolidate()pass that merges duplicates and synthesizes strongly co-recalled clusters into concept memories. - Optional sidecars — semantic vector candidates (turbovec), MCP server, and a FastAPI Web UI, all behind extras; every candidate rejoins SQLite and passes hard gates before use.
How it compares
Most agent-memory systems optimize for LLM-driven extraction at hosted scale. AgentMemoryOS optimizes for a different point: local-first, team-scoped, and federated — memory you run yourself, shared across a fleet under a hard ACL. This is a positioning comparison (architecture, not a benchmark); verify each row against the projects' current docs.
Mem0 and Zep are strong at LLM-based extraction and managed-scale retrieval — things AgentMemoryOS deliberately doesn't do. Reach for AgentMemoryOS when you want a dependency-light memory you own, shared correctly across a team of agents, that keeps working offline and syncs on your terms.
Install
Or pick pieces: agent-memory-os (core, zero dependencies), [api] (Web UI), [mcp] (MCP server), [semantic] (turbovec vector recall).
Docker: the prebuilt multi-arch image is the complete AgentMemoryOS (web console + MCP server + CLI); the first argument picks the mode:
Or docker compose up -d. Console at http://localhost:8000, memories persist in a volume. See the Docker guide (Docker Hub image + a two-node sync mesh).
Requires Python 3.11+ with SQLite FTS5 (included in standard CPython builds).
After installing, run two commands:
The token is stored at <home>/web_token (mode 600); agent-memory-web picks
it up automatically and the console prompts for it on first use. Manage it
later with agent-memory token show|rotate|disable. Two narrower tiers exist:
--readonly (GET-only) and --sync (federation routes only — hand this to a
peer instead of the admin token).
Quickstart
Prefer a runnable script?
examples/team_memory.pyshows three agents sharing one store under a hard ACL in ~40 lines —python examples/team_memory.py.
Architecture
Design invariants:
- The SQLite
memoriestable is the single source of truth; FTS/vector indexes are disposable and rebuildable (rebuild_indexes()). - Candidate providers return IDs and scores only — content is always re-read through SQLite behind the ACL and expiry hard gates.
- Association edges (
memory_links) are authoritative data, survive index rebuilds, decay when unused, and never let an invisible memory bridge two visible ones.
See SPEC.md for the full contract.
Storage engines: SQLite + turbovec
AgentMemoryOS uses two storage layers with strictly different authority:
- SQLite (always on) is the single source of truth: memories, links,
profiles, and the FTS5 lexical index all live in one
memories.dbfile. - turbovec (installed with
[full]/[semantic]) is the semantic vector engine: an in-memory quantized index that recalls memories by meaning rather than keywords. It is deliberately disposable — it returns candidatememory_ids and scores only; every candidate rejoins SQLite and passes the ACL/expiry hard gates before its content can be used, and the index can be dropped and rebuilt at any time without touching the truth store.
Semantic recall works out of the box:
semantic="auto" wires in a self-syncing turbovec index over a built-in
deterministic hashing embedder (no model downloads; typo- and
morphology-tolerant lexical vectors). The index rebuilds itself whenever the
memories table changes and degrades silently to lexical + resonance recall
when the backend isn't installed. For deeper semantics, plug any embedding
model into TurbovecSemanticCandidateProvider.from_vectors(...) with your
own embed_query. agent-memory doctor confirms the backend is importable.
Memory lifecycle & retention
Archived memories leave recall entirely but stay restorable (Web UI → Tools →
Retention & archive, or POST /api/archive/{id}/restore). Pinned and
authority-track memories are never archived by decay. Databases self-migrate
through a versioned, forward-only migration table (agent-memory check
reports the schema version).
Backup & restore
Backups use SQLite's online backup API, so they are consistent even while
agents are writing. --keep N rotates out older backups in the same name
series (and can never delete the live database). Disposable indexes rebuild
automatically after a restore.
Upgrades & health. agent-memory update checks PyPI, upgrades, and restarts
the running console; --check reports only. Point health checks at GET /healthz
(200/503) and a Prometheus scraper at GET /metrics.
Multi-agent projects
One project can mix Claude Code, Codex, OpenClaw, and multiple Hermes
profiles against a single store. Register each agent with its teams —
in the console's Agents tab or via API — and team members automatically
see team:<project> memories with no extra wiring:
Or declare the whole fleet as code — <home>/agents.toml is re-applied
every time the store opens (file-listed agents are file-authoritative;
manually registered agents are untouched):
Each MCP server declares its identity with AGENT_MEMORY_AGENT_ID, so
memories default to that agent as owner and every recall carries its team
ACL. Ship one project's shared memory to another host with
agent-memory sync export apollo.jsonl --team apollo.
Federation (multi-host sync)
Peers are stored per-home; sync auto (or the console's "Sync mesh now")
converges bidirectionally with each peer — last-writer-wins on memories and
profiles, strongest-wins on links — and unreachable peers fail individually,
never fatally. File bundles (sync export/import) cover air-gapped moves.
Pair with agent-memory service install and a cron/timer entry for
continuous mesh sync.
Encrypt the wire. Give every node the same mesh key and sync bundles are encrypted app-layer (Fernet), so memory content stays confidential even over plain HTTP or through a proxy — the key is a separate secret that never travels on the wire:
The sync-scoped token still rides in the Authorization header, so prefer
https:// peer URLs (certificate-verified) for non-localhost peers to protect
the token too. See SECURITY.md for the exact guarantees.
Agent integrations
Step-by-step guides for wiring AgentMemoryOS into common agents — click a tile:
[Claude Code integration guide]
[Codex integration guide]
[OpenClaw integration guide]
[Hermes Agent integration guide]
Hermes Agent gets a native memory-provider plugin (not just MCP):
pip install agent-memory-os && agent-memory hermes install, then pick
agent-memory-os in hermes memory setup — recall is injected every turn and
amos_* tools carry the team/project ACL. No API key, no LLM. See the
Hermes guide.
Any MCP-capable agent can use the same pattern: run
python -m agent_memory_os.mcp_server as a stdio MCP server pointing at a
shared AGENT_MEMORY_HOME.
MCP server
[AgentMemoryOS MCP server on Glama]
Wire it into Claude Code in one line (set the agent identity so memories are owned correctly):
Tools (12): memory_add (with a share arg for team/project/global), memory_search, memory_context_pack, memory_orchestrate_context, memory_link, memory_update, memory_share, memory_recall_feedback, memory_consolidate, memory_offload_context, memory_reload_context, memory_snapshot_diff. Set AGENT_MEMORY_AGENT_ID so each agent acts under its own identity — and two agents pointed at the same home instantly share team:/project: memories.
Web UI
The console speaks English, 繁體中文, 简体中文, 日本語, and 한국어 — auto-detected from the browser, switchable in the header. It ships with a stats dashboard (scope/type/relation breakdowns, 14-day activity, most-recalled memories), search and recency browsing (memory cards with in-place editing, feedback, links, and delete actions), an interactive association-graph view, a context-pack preview with per-memory decisions, and add/link/consolidate tools — all driven by a global "acting as" identity.
Endpoints: health/stats/dashboard/integrity · memories CRUD + browse · search / context-pack / orchestrate · links + graph · recall feedback · share / revoke / audit · consolidate / retention / archive+restore · agents registry · peers + mesh sync · bundle export/import · owner list / reassign / purge · fleet status/trigger (Ed25519-signed cross-node ops). Full table in the User Guide.
Search, browse, graph, recall feedback, and context-pack accept requester_agent_id and enforce the same ACL hard gates as the SDK. Requests without a requester run in unrestricted admin view — bind to localhost only, or require a bearer token on every API route with --token <secret> (or AGENT_MEMORY_WEB_TOKEN).
Note: keep the --home database on a local disk. Network filesystems (NFS/SMB) can fail SQLite FTS5 schema creation with database is locked.
Run as a login service (macOS / Linux / Windows)
install registers the console with the native service manager so it starts
automatically at login and restarts on failure — launchd LaunchAgent on
macOS, a systemd user unit on Linux, a Task Scheduler logon task on Windows.
No admin rights required; the service runs the exact Python environment it
was installed from, and logs to <home>/logs/web.log. On Linux, run
loginctl enable-linger $USER if it must start at boot without a login.
Add --dry-run to preview the actions. CI runs the full test suite on
Ubuntu, macOS, and Windows across Python 3.11–3.13.
Development
Status
Stable — 1.x. The contracts above are implemented, covered by the test
suite (300+ tests across a 3-OS CI matrix, plus a migration upgrade-path job),
and audited by repeated fan-out code + security reviews (reports under
docs/reviews/). Performance is verified at 10k memories (add
0.17 ms, search <1 ms, context-pack 7.8 ms). The database self-migrates forward;
see the CHANGELOG for what each release added.
Documentation
- User Guide — concepts, full CLI / HTTP API / MCP references, multi-agent and federation walkthroughs, ops checklist
- Docker guide —
docker/docker composestartup, config via env, two-node sync mesh - SPEC — contracts and invariants, by milestone
- Security & Threat model — disclosure policy, trust boundaries, and honest known limitations
- Embeddings & scale — plug in a real embedding model; behaviour from 10k to 1M memories
- Importers — migrate from Mem0 / Zep / ChatGPT · Compatibility — the 1.x semver promise
- Reviews & reports — fan-out code + security reviews (through the 1.x line), the performance/security report, and the validation harness (
scripts/validation_run.py) - CHANGELOG · Roadmap · Integration guides
License
來源:README.md,提交 144b980
工具
0版本歷史
4- v1.10.1最新Sep 22, 2026
- v1.10.0Sep 17, 2026
- v1.9.1Sep 17, 2026
- v1.9.0Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
其他 Memory 整合

Memory.fit
fit.memory官方發布者
託管式 Memory.fit 伺服器,讓 AI 讀取你的訓練、睡眠、恢復與飲食資料,並寫回每週計畫、每日目標和飲食計畫。
pg.ddx.io: the PostgreSQL community's memory
io.ddx.pg官方發布者
pg.ddx.io: the PostgreSQL community's memory 的託管 MCP 服務,由 pg.ddx.io 發布;無需登入;Streamable HTTP;29 個工具。
var.gg Naming Memory
gg.var官方發布者
遠端 MCP 伺服器,可依領域概念推薦並檢索韓、日、中、越、英多語言的程式識別字名稱,並提供 ERD 結構查詢。

Counterparts
ai.counterparts
為 Claude Code 與 Claude Desktop 提供的本地優先長期記憶:助理自行寫下關於你與專案的筆記,並在之後的對話中回想起來。

LAHZE - Persian AI Memory Platform
由 GitHub 帳號 pedramgholizadeh 發布
以波斯語為先的地理記憶平臺:發現地點,起草併發布僅限波斯語的記憶。AI 翻譯