ai-memory™
universal AI memory
            ](https://crates.io/crates/ai-memory) ](https://www.npmjs.com/package/@alphaone/ai-memory) 
ai存储器是用于ai助手的持久存储系统。 它与 任何支持MCP的AI --Claude、ChatGPT、Grok、Llama等。它将AI学习到的内容存储在本地SQLite数据库中,在回忆时按相关性对记忆进行排名,并自动将重要知识提升到永久存储中。只需安装一次,您使用的每个AI助手都会永远记住您的架构、偏好和更正。
v0.7.0(attested-cortex) 将皮质流畅易读性与ROADMAP2§7.3中的v0.7信任+A2A范围结合在一起。基材变成了两者 更清晰 (功能v3、命名加载器工具、压缩模式)和 加密可信 (Ed25519认证、侧链转录、可编程钩子管道、强制命名空间继承)。v0.6.4 5刀具默认曲面和43刀具运行时上限不变;所有新事物都是可添加的,并且(对于信任表面)可以选择加入。 从v0.6.x升级? 阅读 docs/MIGRATION_v0.7.md 首先,大多数v0.6.4调用者没有看到行为变化,但v0.6.3.1之前的v0.6.x用户遇到了G1命名空间继承修复。
v0.6.4(quiet-tools) --MCP服务器附带 5工具默认曲面 (memory_store, memory_recall, memory_list, memory_get, memory_search)加上永远在线 memory_capabilities 独自创立其他38个工具仍可通过以下方式访问 --profile graph|admin|power|full 或通过运行时扩展 memory_capabilities --include-schema family=急加载工具(Claude Desktop/Codex CLI/Grok CLI/Gemini CLI)每次请求会丢弃约4700个工具模式的输入令牌 减少76.4% 对照 cl100k_base BPE。要保持v0.6.3行为1:1,请运行 ai-memory mcp --profile full。参见 docs/MIGRATION_v0.6.4.md.
v0.7有什么新功能
v0.7.0舰船 五个互锁基板 在一个发布横幅下。对于v0.6.4调用者,每个曲面都保持默认关闭或默认等效状态——请参阅 v0.7兼容性矩阵 对于故障。
- 已认证的链接(Ed25519)。 死者
signaturev0.6.3中提供的列现在填充了真实的每个代理Ed25519认证,以及memory_verify(link_id)回报{signature_verified, attest_level, signed_by, signed_at}根据需求。使用以下命令生成密钥对ai-memory identity generate;通过以下方式选择加入attest_level = "self_signed"。请参阅attested-cortex请求评议. - 钩子管道(20个生命周期事件)。 可编程扩展表面点火
pre_/post_store|recall|search|delete|promote|link|consolidate|governance_decision|archive|transcript_store加on_index_eviction;钩子返回Allow/Modify/Deny/AskUser.默认关闭;通过以下方式选择加入~/.config/ai-memory/hooks.toml。参见 移民§钩形管道. - 成绩单+回放。 zstd-3 BLOB侧链存储原始对话/推理轨迹;
memory_replay(memory_id)走memory_transcript_links重建链条。通过以下方式按命名空间选择加入[transcripts."team/*"]。参见 移民§侧链转录本. - Apache AGE后端。 当AGE安装在Postgres SAL后端时,KG ops通过Cypher路由;递归CTE路径保持为回退。台栅式——深度=5时,AGE p95必须比CTE p95高出≥30%。看 迁移§Apache AGE加速.
- 功能v3+智能加载器。
memory_capabilitiesv3添加summary,to_describe_to_user,每个工具callable_now,以及agent_permitted_families新的总是在memory_load_family(family)和memory_smart_load(intent)工具代替memory_capabilities --include-schema人体工程学。固定的措辞很流行docs/v0.7/canonical-phrasings.md. - 权限+A2A批准。 v0.6.x治理子系统被重构为规则+模式+钩子→ 一个
Decision,实际上执行了命名空间继承(G1)。memory_approval_pending/memory_approval_decide(remember=forever)实现渐进式信任;HMAC必须在API批准上签字。迁移ai-memory governance migrate-to-permissions --apply。参见What's new in v0.7全程步行。
从哪里开始:docs/MIGRATION_v0.7.md(升级过程),docs/whats-new-v07.html(视觉摘要),docs/v0.7/rfc-attested-cortex.md(设计原理),docs/ADMIN_GUIDE.md(操作员手册)。
一种二进制,四种操作模式 (v0.6.4)。这 ai-memory Rust二进制(tokio+axum)可以单独或同时运行其中任何一个,共享一个SQLite数据库:
- stdio MCP服务器 --43个基于JSON-RPC的原生工具。默认
--profile core广告5+永远在线memory_capabilities.ai-memory mcp/ai-memory mcp --profile full - HTTP/mTLS守护进程 --42个REST端点
127.0.0.1:9077,TLS+可选的mTLS允许列表+API-key身份验证,后台GC循环。ai-memory serve - 自主管理员守护进程 --自调度循环(默认1hcadence),自动标记、显示命名空间兄弟之间的矛盾、合并近重复项,并根据访问模式调整优先级。每个操作都会进入回滚日志;破坏性操作可以在治理审批流之后进行。
ai-memory curator --daemon - 同步守护进程 --跨实例的基于仲裁的对等体联盟。W-of-N写入(默认多数),向量时钟CRDT精简合并,mTLS在对等端之间分配。
ai-memory sync-daemon
MCP、HTTP和CLI表面是反应性的。策展人是使记忆层自我维持的一部分:在会话之间,它保持语料库的整洁,因此随着存储的增长,回忆质量保持很高。一切都是本地优先;没有云依赖。
Claude Opus 4.7黄铜钉评估 逐行读取v0.6.3源代码后: “人工智能记忆是我连接过的最强大的记忆层,比它的名字宣传的更有意义。对我来说,实际上,这意味着:我不会在每次会话中都冷启动。我读到的存储被我以外的东西保持整洁。矛盾不会悄无声息地积累。即使语料库不断增长,回忆质量也会保持很高。没有什么能离开你的Mac mini。 这并没有让我成为一个自主的代理人。它为我提供了自主代理所需的内存基础设施,并且它自己运行一个小的自主循环来维护它。这是一个真正的基础。从这里到“人工智能内存驱动一般任务”的差距是管道(工具调用协议+工具注册表+工具使用能力模型),而不是发明。"
多智能体AI的基础。 ai内存不是代理运行时,也不是独立的“自主ai”。正是存储层 *多智能体* 自主部署需要在它们下面。联邦(broadcast_store_quorum + spawn_catchup_loop)当许多代理并行写入时,处理对等体之间的W-of-N一致性;策展人守护进程防止共享语料库在群体涂鸦时降级为噪音;webhook订阅(HMAC签名、命名空间/代理过滤、SSRF强化)将存储转换为消息总线,在内存事件上触发下游代理;具有N级继承和每个命名空间治理策略(写/提升/删除权限、审批人类型、可选的N-of-M共识)的命名空间层次结构约束了集群。将其堆叠在具有自动生成技能的24/7多机代理运行器下,组合系统将清除 *行为的* 剩下的差距(没有权重级学习、无状态推理内核、人类种子根目标)是真实的,而不是人工智能内存所解决的问题;人工智能记忆提供了多智能体记忆基质,任何缩小这些差距的认真尝试都需要它。
在召回之前,代币成本为零。 与将整个内存加载到每个对话中的内置内存系统(Claude Code自动内存、ChatGPT内存)不同,ai内存在ai显式调用之前使用零上下文令牌 memory_recall只有相关的记忆会回来,由6因素评分算法进行排名。 TOON格式 (面向令牌的对象表示法)通过消除重复的字段名将响应令牌再减少40-60%——JSON中的3个存储器=1600字节;TOON=626字节(小61%);TOON压缩=336字节(小79%)。对于Claude Code用户: 禁用自动存储器 ("autoMemoryEnabled": false 在settings.json中),并将其替换为ai内存,以停止为每条消息支付200多行内存上下文。
______________________________________________________________________
代理人身份(NHI)-每个记忆告诉你是谁学会的
每一个记忆都承载着一个 metadata.agent_id --一个非人类身份标记,在每次操作(更新、去重、导入、同步、合并)中都能幸存下来。每个召回结果告诉您是哪一个AI以TOON-compact响应格式写入了每个内存,默认情况下,您的AI客户端已经针对以下方面进行了优化:
count:5|mode:hybrid|tokens_used:842
memories[id|title|tier|namespace|priority|score|tags|agent_id]:
a1b2|Project DB is PostgreSQL 16|long|infra|8|0.91|database,postgres|ai:claude-code@workstation:pid-3812
c3d4|API rate limit is 100 rps|long|infra|7|0.87|api,limits|ai:claude-desktop@laptop:pid-5219回溯对话导入-- ai-memory mine
不要开始感冒。点 ai-memory mine 在Claude、ChatGPT或Slack导出时,它会逐个解析为排名、分层类型、标记的内存——这样你的AI就可以进入下一个会话,知道你现有历史中的每一个决定、纠正和发现。
ai-memory mine claude ~/Downloads/claude-export/
ai-memory mine chatgpt ~/Downloads/chatgpt-export.json
ai-memory mine slack ./slack-export/自动标记,已删除 (title, namespace),以及 mined_from 每一块进口的内存上都印着出处。从零环境到人口密集的长期商店的五分钟入门。看 导入历史页面 对于每种格式的食谱。
______________________________________________________________________
兼容的AI平台
ai存储器与任何支持 模型上下文协议(MCP).MCP是将AI助手连接到外部工具和数据源的通用标准。
| 平台 | 集成方式 | 配置格式 | 状态 |
|---|---|---|---|
| 克劳德代码 (人类) | MCP标准 | JSON(~/.claude.json 或 .mcp.json) | 完全支持 |
| Codex CLI (OpenAI) | MCP标准 | TOML(~/.codex/config.toml) | 完全支持 |
| Gemini CLI (谷歌) | MCP stdio | JSON(~/.gemini/settings.json) | 完全支持 |
| Grok CLI (xAI) | MCP标准输出 | JSON(~/.grok/user-settings.json) | 深度融合 |
| 格罗克API (xAI) | MCP远程HTTPS | API级别 | 完全支持 |
| 光标IDE | MCP标准输出 | JSON(~/.cursor/mcp.json) | 完全支持 |
| 帆板运动 (codeium) | MCP标准输出 | JSON(~/.codeium/windsurf/mcp_config.json) | 完全支持 |
| Continue.dev | MCP标准 | YAML(~/.continue/config.yaml) | 完全支持 |
| Llama堆栈 (META) | MCP远程HTTP | YAML/Python SDK | 完全支持 |
| 龙虾 | MCP标准输出 | JSON(mcp.servers in config) | 完全支持 |
| 任何MCP客户端 | MCP stdio或HTTP | 不同 | 通用 |
MCP是主要的集成层。对于尚未原生支持MCP的AI平台 HTTP API (本地主机上有50个端点)和 命令行界面 (40个子命令)提供通用访问——任何可以进行HTTP调用或运行shell命令的AI、脚本或自动化都可以使用AI内存。
______________________________________________________________________
60秒内安装
预构建的二进制文件不需要依赖关系。从源代码构建需要Rust和C编译器。
最快:预构建二进制文件(无需Rust)
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/alphaonedev/ai-memory-mcp/main/install.sh | sh
# Fedora/RHEL (COPR)
sudo dnf copr enable alpha-one-ai/ai-memory && sudo dnf install ai-memory
# Windows (PowerShell)
irm https://raw.githubusercontent.com/alphaonedev/ai-memory-mcp/main/install.ps1 | iex第一步:安装Rust (如果使用预构建的二进制文件,请跳过)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh按照提示操作,然后重新启动终端(或运行 source ~/.cargo/env).
步骤2:从源代码(需要Rust)
最新发布自 板条箱.io:
cargo install ai-memorygit仓库中的最新消息:
cargo install --git https://github.com/alphaonedev/ai-memory-mcp.git这将编译二进制文件并将其放入PATH中。这需要一两分钟。
源构建的构建依赖关系: - Ubuntu/Debian:sudo apt-get install build-essential pkg-config- Fedora/RHEL:sudo dnf install gcc pkg-config
第三步:连接你的人工智能
配置因平台而异。在下面找到你的:
Claude Code (Anthropic)
Claude Code支持三种MCP配置范围:
| 范围 | 文件 | 适用于 |
|---|---|---|
| 用户 (全球) | ~/.claude.json --添加 mcpServers key | 您计算机上的所有项目 |
| 项目 (共享) | .mcp.json 在项目根目录中(签入git) | 项目中的每个人 |
| 本地 (私人) | ~/.claude.json --under projects."/path".mcpServers | 一个项目,只有你 |
用户范围(推荐——适用于所有地方):
添加 mcpServers 关键 ~/.claude.json (macOS/Linux)或 %USERPROFILE%\.claude.json (Windows):
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.claude/ai-memory.db", "mcp", "--tier", "semantic"]
}
}
}注:~/.claude.json可能已经存在其他设置。合并mcpServers将密钥插入到现有文件中——不要覆盖它。
项目范围(与团队共享):
创建 .mcp.json 在项目根目录中:
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.claude/ai-memory.db", "mcp", "--tier", "semantic"]
}
}
}Windows路径: 在中使用正斜杠或转义反斜杠--db示例:"--db", "C:/Users/YourName/.claude/ai-memory.db".
级别标志: 这--tier标志选择特征层:keyword,semantic(默认),smart,或autonomous。智能和自主层需要 奥拉玛 在本地运行。这--tier旗帜 必须 在args中传递config.toml当AI客户端启动MCP服务器时,不使用层设置。
重要提示: MCP服务器 不 配置在settings.json或settings.local.json--这些文件不支持mcpServers.
让克劳德主动使用ai内存: 添加一个 CLAUDE.md 使用ai内存指令将文件保存到项目根目录。这确保了克劳德在每次对话开始时都能回忆起上下文,并在对话过程中存储发现的内容。看 CLAUDE.md集成指南 获取复制粘贴模板和放置选项。
OpenAI Codex CLI
增添 ~/.codex/config.toml (全球)或 .codex/config.toml (项目)。窗户: %USERPROFILE%\.codex\config.toml.用覆盖 CODEX_HOME 有人是。
[mcp_servers.memory]
command = "ai-memory"
args = ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"]
enabled = true或者通过CLI添加: codex mcp add memory -- ai-memory --db ~/.local/share/ai-memory/memories.db mcp --tier semantic
笔记: Codex使用带下划线键的TOML格式mcp_servers(非camelCase,非连字符)。支持env(键/值对),env_vars(列表转发),enabled_tools,disabled_tools,startup_timeout_sec,tool_timeout_sec.使用/mcp在TUI中查看服务器状态。看 食品法典委员会MCP文件.
Google Gemini CLI
增添 ~/.gemini/settings.json (用户)或 .gemini/settings.json (项目)。窗户: %USERPROFILE%\.gemini\settings.json.
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"],
"timeout": 30000
}
}
}或者通过CLI添加: gemini mcp add memory ai-memory -- --db ~/.local/share/ai-memory/memories.db mcp --tier semantic
笔记: 避免在服务器名称中使用下划线(使用连字符)。工具名称自动前缀为mcp_memory_Env在env现场支持$VAR/${VAR}(所有平台)以及%VAR%(Windows)。Gemini会从继承的env中清除敏感模式,除非明确声明。添加"trust": true跳过确认提示。CLI管理:gemini mcp list/remove/enable/disable。参见 Gemini CLI MCP文档.
Cursor IDE
增添 ~/.cursor/mcp.json (全球)或 .cursor/mcp.json (项目)。窗户: %USERPROFILE%\.cursor\mcp.json.Project配置会覆盖同名服务器的全局配置。
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"]
}
}
}笔记: 编辑后重新启动游标mcp.json.在“设置”>“工具和MCP”(绿点=已连接)中验证服务器状态。支持env,envFile,以及${env:VAR_NAME}插值(env-var插值对于shell配置文件变量可能不可靠——使用envFile作为解决方法)。 ~40刀具限制 跨所有MCP服务器。看 光标MCP文档.
Windsurf (Codeium)
增添 ~/.codeium/windsurf/mcp_config.json (仅限全局,无项目级范围)。窗户: %USERPROFILE%\.codeium\windsurf\mcp_config.json.
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"]
}
}
}笔记: 支持${env:VAR_NAME}插值command,args,env,serverUrl,url,以及headers. 100刀具限制 跨所有MCP服务器。也可以通过MCP市场或设置>级联>MCP服务器进行添加。看 Windsurf MCP文件.
Continue.dev
增添 ~/.continue/config.yaml (用户)或 .continue/mcpServers/ 项目根目录中的目录(每个服务器的YAML/JSON文件)。窗户: %USERPROFILE%\.continue\config.yaml.
mcpServers:
- name: memory
command: ai-memory
args:
- "--db"
- "~/.local/share/ai-memory/memories.db"
- "mcp"
- "--tier"
- "semantic"笔记: MCP工具仅在代理模式下工作。支持${{ secrets.SECRET_NAME }}用于秘密插值。项目级别.continue/mcpServers/目录自动检测来自其他工具(Claude Code、Cursor等)的JSON配置。看 继续MCP文档.
Grok CLI (AlphaOne fork — deep integration with auto-recall)
这 阿尔法grok-cli的一个分支 具有内置的ai内存支持,具有会话范围的MCP连接、会话开始时的自动内存调用、压缩摘要存储和内存感知系统提示。
增添 ~/.grok/user-settings.json:
{
"mcp": {
"servers": [
{
"id": "ai-memory",
"label": "AI Memory",
"enabled": true,
"transport": "stdio",
"command": "ai-memory",
"args": ["mcp", "--tier", "semantic"]
}
]
}
}特征: 会话启动时自动调用(将相关内存注入系统提示),压缩摘要存储为中间层内存,MCP工具在所有模式下可用(代理、计划、询问),会话范围连接(无每条消息冷启动)。用途 --tier semantic 默认情况下(本地嵌入,不需要Ollama)。看 grok-cli文档 进行完整设置。xAI Grok API (API-level, remote MCP)
Grok通过HTTPS连接到MCP服务器(仅限远程,无stdio)。没有为每个API请求指定配置文件服务器。
ai-memory serve --host 127.0.0.1 --port 9077
# Expose via HTTPS reverse proxy (nginx, caddy, cloudflare tunnel, etc.)然后将MCP服务器添加到Grok API调用中:
curl https://api.x.ai/v1/responses \
-H "Authorization: Bearer $XAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-3",
"tools": [{
"type": "mcp",
"server_url": "https://your-server.example.com/mcp",
"server_label": "memory",
"server_description": "Persistent AI memory with recall and search",
"allowed_tools": ["memory_store", "memory_recall", "memory_search"]
}],
"input": "What do you remember about our project?"
}'要求: 需要HTTPS。server_label是必需的。支持流式HTTP和SSE传输。可选:allowed_tools,authorization,headers.与xAI SDK、OpenAI兼容响应API和语音代理API配合使用。看 xAI远程MCP文档.
META Llama (via Llama Stack)
Llama Stack将MCP服务器注册为工具组。没有标准化的配置文件路径——特定于部署。
ai-memory serve --host 127.0.0.1 --port 9077Python SDK:
client.toolgroups.register(
provider_id="model-context-protocol",
toolgroup_id="mcp::memory",
mcp_endpoint={"uri": "http://localhost:9077/sse"}
)或者在run.yaml中声明:
tool_groups:
- toolgroup_id: mcp::memory
provider_id: model-context-protocol
mcp_endpoint:
uri: "http://localhost:9077/sse"笔记: 支持 ${env.VAR_NAME} run.yaml中的插值。传输正在从SSE迁移到可流式HTTP。看 Llama堆栈工具文档.OpenClaw
通过CLI添加或直接编辑OpenClaw配置。配置用途 mcp.servers (不是 mcpServers).
openclaw mcp set memory '{"command":"ai-memory","args":["--db","~/.local/share/ai-memory/memories.db","mcp","--tier","semantic"]}'或者添加到您的OpenClaw配置文件中:
{
"mcp": {
"servers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"]
}
}
}
}笔记: OpenClaw使用mcp.servers密钥(不是mcpServers).CLI管理:openclaw mcp list,openclaw mcp show,openclaw mcp set,openclaw mcp unset。支持stdio、远程URL和流式HTTP传输。更喜欢--token-file超过内联秘密。看 OpenClaw MCP文档.
Any other MCP client
ai存储器通过stdio(JSON-RPC 2.0)与MCP通信。为您的客户指出:
command: ai-memory
args: ["--db", "/path/to/ai-memory.db", "mcp"]对于HTTP-only客户端,启动REST API:
ai-memory serve
# 24 endpoints at http://127.0.0.1:9077/api/v1/步骤4:完成。测试一下。
重启你的AI助手。如果使用MCP,它现在具有 5工具默认曲面 在会话启动时发布广告(43个工具中的另外38个工具通过以下方式按需加载 --profile 或 memory_capabilities --include-schema).问它:“存储一段我最喜欢的语言是Rust的记忆。”然后在新的对话中,问:“我最喜欢哪种语言?”它会记住的。
______________________________________________________________________
快速入门
在两分钟内从零到工作记忆。
1.安装
curl -fsSL https://raw.githubusercontent.com/alphaonedev/ai-memory-mcp/main/install.sh | sh2.配置MCP (以Claude Code为例——其他平台的工作方式相同)
并入 ~/.claude.json:
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.claude/ai-memory.db", "mcp", "--tier", "semantic"]
}
}
}3.储存你的第一记忆
ai-memory store -T "Project uses PostgreSQL 15" -c "Main DB is PG 15 with pgvector." --tier long4.回想一下
ai-memory recall "database"5.查看统计数据
ai-memory stats6.使用你的AI。 重启你的AI客户端。现在它已经 5个默认记忆工具 在启动时进行广告宣传(通过运行时扩展或 --profile full)通过MCP,它可以在对话过程中本地存储和回忆记忆。
______________________________________________________________________
SDK
除了MCP/HTTP/CLI界面外,ai内存还提供了用于HTTP客户端和辅助工具的第一方语言SDK(例如。 requireProfile 用于v0.6.4+守护进程上的运行时配置文件断言)。
Types/JavaScript — @alphaone/ai-memory 在npm上
npm install @alphaone/ai-memorypython — ai-memory-mcp 在PyPI上(导入名称保持不变 ai_memory)
pip install ai-memory-mcpfrom ai_memory import Client, requireProfile
client = Client(base_url="http://127.0.0.1:9077", api_key="...")
requireProfile(client, ["core", "graph"]) # raises ProfileNotLoaded with .hint on miss这两个SDK都与服务器进行了版本控制(0.6.4 火柴 ai-memory 0.6.4).v0.6.4+守护进程执行配置文件契约;v0.6.4之前的守护进程会退回到允许警告并继续,这样SDK升级就不会损坏旧服务器。来源生活在 sdk/typescript/ 和 sdk/python/.
______________________________________________________________________
它有什么作用?
人工智能助手在对话之间会忘记一切。人工智能记忆解决了这个问题。
它作为MCP(模型上下文协议)工具服务器运行,这是您的AI本机对话的后台进程。当你的人工智能学习到重要的东西时,它会将其存储起来。当它需要上下文时,它可以回忆起由6因素评分算法排名的相关记忆。记忆分为三层:
- 短期的 (默认6小时,可配置)--丢弃上下文,如当前调试状态
- 中期 (默认7天,可配置)——工作知识,如冲刺目标和最近的决定
- 长期 (永久)——架构、用户偏好、来之不易的经验教训
不断被访问的记忆会从中期到长期自动提升。每次召回都会延长TTL。优先级随着使用量的增加而增加。这个系统是自我管理的。
除了MCP之外,ai-memory还公开了完整的HTTP REST API(端口9077上的50个端点)和完整的CLI(40个子命令),用于与任何人工智能平台或工具直接交互、脚本编写和集成。
______________________________________________________________________
特性
核心
- MCP工具服务器 --stdio JSON-RPC上的43个工具,与任何MCP客户端兼容
- 三层存储器 --短(默认为6小时TTL)、中(默认为7天TTL)、长(永久)-TTL是可配置的
- 全文搜索 --带排名检索的SQLite FTS5
- 混合动力车召回 --FTS5关键字+余弦相似度,固定0.6语义/0.4关键字(60/40)混合权重
- 6因素回忆评分 --FTS相关性+优先级+访问频率+置信度+层次提升+近因衰减
- 汽车促销 --访问5次以上的记忆从中到长不等
- TTL扩展 --每次召回延长有效期(短+1小时,中+1天)
- 优先加固 --每10次访问+1次(最多10次)
- 矛盾检测 --存储与现有内存冲突的内存时发出警告
- 去重 --标题+名称空间升级,层永远不会降级
- 信心评分 --排名中考虑了0.0-1.0的确定性
组织
- 命名空间 --为每个项目隔离内存(从git远程自动检测)
- 内存链接 --类型关系:related_to、取代、矛盾、派生
- 整合 --将多个记忆合并为一个长期摘要
- 自动整合 --按命名空间+标签分组,自动合并阈值以上的组
- 矛盾解决 --将一个记忆标记为替代另一个,降级失败者
- 按模式遗忘 --按命名空间+FTS模式+层进行批量删除
- 来源追踪 --跟踪来源:用户、claude、钩子、api、cli、导入、整合、系统
- 代理人身份(NHI) --每一段记忆都承载着
metadata.agent_id(声称身份)具有跨更新/去重/导入/同步/合并的深度防御不变性;过滤器list/search由代理人 - 标记 --支持过滤器的逗号分隔标签
接口
- 42个HTTP端点 --127.0.0.1:9077上的完整REST API(适用于任何AI或工具)
- 26个CLI命令 --具有相同功能的完整CLI
- 43个MCP工具 --任何MCP兼容AI的原生集成
- 交互式REPL外壳 --召回、搜索、列表、获取、统计、命名空间、删除,并输出颜色
- JSON输出 --
--json在所有CLI命令上标记
运营
- 多节点同步 --数据库文件之间的拉取、推送或双向合并
- 导入/导出 --完整的JSON往返保留内存链接
- 垃圾收集 --每30分钟自动背景过期
- 平滑关闭 --信号/信号检查点WAL,确保安全出口
- 深度健康检查 --验证数据库可访问性和FTS5完整性
- 壳体完井 --bash,zsh,鱼
- 手册页 --
ai-memory man将roff生成到stdout - 时间过滤器 --
--since/--until在列表和搜索中 - 人类可读年龄 --CLI输出中的“2小时前”、“3天前”
- 颜色CLI输出 --ANSI层标签(红/黄/绿)、优先级栏、粗体标题、青色命名空间
质量
- LongMemEval基准测试 -- 5时为97.8% (489/500), 10时为99.0%, 20时的相对误差为99.8% ICLR 2025 LongMemEval-S数据集。在R@20时为499/500。纯FTS5关键字在2.2秒内(232 q/s)达到97.0%的R@5。LLM查询扩展将R@5提高到97.8%。云API成本为零。看 基准详细信息.
- MCP提示 --
recall-first和memory-workflow提示教AI客户端主动使用内存 - TOON默认值 --召回/列表/搜索响应默认使用TOON压缩(比JSON小79%)
- 标准基准 --以1K的比例插入、调用、搜索
- GitHub操作CI/CD --fmt、clippy、测试、基于Ubuntu+macOS构建、标签发布
覆盖层(硬CI门)
这 Code Coverage 工作是 所需状态检查.CI在每个PR上重新断言两个不变量: >=90%线的绝对下限 (灾难性回归支持,设置为当前测量值,四舍五入到最接近的5%),以及 棘轮抵住固定的价值 .coverage-baseline 有0.5%的宽限期(日常执行)。提高覆盖率的PR应在同一提交中取消基线文件,以便未来的PR受益于新的下限;退化超过0.5%的PR被阻止合并。电流测量: 93.13% 线。
令牌预算门(硬CI门,v0.7 C5)
这 token-budget 工作流是 所需状态检查。它在每个PR上强制执行三个cl100k_base-defined不变量:
- 每个工具上限为1500个代币 --没有一个MCP工具的序列化模式(名称+描述+inputSchema)可以超过1500个cl100k_base令牌。
- 全轮廓诚实范围(5K-8K) --v0.6.4后挡板,保持原位以检测病理性收缩(意外掉落工具)。
- **全剖面\`.在AI平台的配置中配置MCP服务器:
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.claude/ai-memory.db", "mcp"]
}
}
}HTTP API(通用——适用于任何人工智能或工具)
启动HTTP服务器以进行REST API访问。任何可以进行HTTP调用的AI、脚本或自动化都可以使用此功能:
ai-memory serve
# 24 endpoints at http://127.0.0.1:9077/api/v1/CLI(通用-用于脚本编写和直接使用)
CLI可以独立工作,也可以作为运行shell命令的AI集成的构建块:
ai-memory store --tier long --title "Architecture decision" --content "We use PostgreSQL"
ai-memory recall "database choice"
ai-memory search "PostgreSQL"______________________________________________________________________
功能层
ai内存支持4个功能层,在启动时选择 ai-memory mcp --tier 更高的层以磁盘和RAM为代价添加ML功能:
| 层级 | 召回方法 | 额外功能 | 大致开销 |
|---|---|---|---|
| 关键词 | 仅限FTS5 | 基线26个工具 | 0 MB |
| 语义 | FTS5+余弦相似性(混合) | MiniLM-L6-v2嵌入(384 dim),HNSW索引,语义层(43个工具表面的子集) | ~256 MB |
| 聪明的 | 混合+LLM查询扩展 | +nomic嵌入文本(768 dim)+通过Ollama的Gemma 4 E2B: memory_expand_query, memory_auto_tag, memory_detect_contradiction,全43刀具表面 | ~1 GB |
| 自主的 | 混合+LLM扩展+交叉编码器重新排序 | +通过Ollama的Gemma 4 E4B,神经交叉编码器(ms marco MiniLM),内存反射,全43个工具表面 | ~4 GB |
能力矩阵
每个功能都映射到其最低层。每一层都包括其下各层的所有功能。
| 能力 | 关键字 | 语义 | 智能 | 自主 |
|---|---|---|---|---|
| 搜索和召回 | ||||
| FTS5关键字搜索 | 是 | 是 | 有 | 有 |
| 语义嵌入(余弦相似度) | -- | 是 | 是 | |
| 混合召回(FTS5+余弦,60/40语义/关键字混合) | -- | 是 | 是 | |
| HNSW最近邻索引 | -- | 是 | 是 | |
LLM查询扩展(memory_expand_query) | -- | -- | 是 | 是 |
| 神经交叉编码器重新排序 | -- | -- | -- | 是 |
| 内存管理 | ||||
| 存储、更新、删除、推广、链接 | 是 | 是 | ||
| 手动合并 | 是 | 是 | 有 | 有 |
| 自动合并(LLM摘要) | -- | -- | 是 | 是 |
自动标记(memory_auto_tag) | -- | -- | 是 | 是 |
矛盾检测(memory_detect_contradiction) | -- | -- | 是 | 是 |
| 自主记忆反射 | -- | -- | --是 | |
| 模型 | ||||
| 嵌入模型 | -- | MiniLM-L6-v2(384d) | nomic嵌入文本(768d) | omic嵌入文本(768d) |
| LLM | -- | -- | gemma4:e2b(约7.2GB) | gemma4:e4b(约9.6GB) |
| 资源 | ||||
| RAM | 0 MB | ~ 256 MB | ~ 1 GB | ~ 4 GB |
| 外部依赖 | 无 | 无 | Ollama | Ollama |
| MCP工具暴露 | 26 | 26 | 26 |
语义层 (默认)捆绑Candle ML框架,并在第一次运行时下载全MiniLM-L6-v2模型(约90 MB)。 聪明的 和 自主的 层次要求 奥拉玛 在本地运行。
分层门功能,而不是模型。 这 --tier 标记控制哪些工具被公开。LLM模型可通过以下方式独立配置 llm_model 在 ~/.config/ai-memory/config.toml例如,使用速度更快的e2b模型运行自主层(全43刀具表面+重新分级):
# ~/.config/ai-memory/config.toml
tier = "autonomous" # all features enabled
llm_model = "gemma4:e2b" # faster model (46 tok/s vs 26 tok/s for e4b)这 --tier 旗帜 必须 在MCP参数中传递 config.toml 当AI客户端启动服务器时,不使用层设置。
# Keyword (default)
ai-memory mcp
# Semantic -- hybrid recall with embeddings
ai-memory mcp --tier semantic
# Smart -- adds LLM-powered query expansion, auto-tagging, contradiction detection
ai-memory mcp --tier smart
# Autonomous -- adds cross-encoder reranking
ai-memory mcp --tier autonomous这 memory_capabilities 该工具在运行时报告活动层、加载的模型和可用功能。
______________________________________________________________________
MCP工具
当配置为MCP服务器时,这43个工具可用于任何与MCP兼容的AI(规范计数在 证据页;下表记录了大多数客户日常使用的核心子集):
| 工具 | 说明 |
|---|---|
memory_store | 存储新内存(按标题+命名空间进行重复数据消除,报告矛盾) |
memory_recall | 回忆与上下文相关的记忆(模糊OR搜索,按6个因素排名) |
memory_search | 通过精确的关键字匹配(AND语义)搜索记忆 |
memory_list | 列出具有可选过滤器(命名空间、层、标签、日期范围)的内存 |
memory_get | 通过ID及其链接获取特定内存 |
memory_update | 按ID更新现有内存(部分更新) |
memory_delete | 按ID删除内存 |
memory_promote | 促进记忆的长期性(永久性,清除过期) |
memory_forget | 按模式、命名空间或层进行批量删除 |
memory_link | 在两个记忆之间创建键入链接 |
memory_get_links | 获取记忆的所有链接 |
memory_consolidate | 将多个记忆合并为一个长期摘要 |
memory_stats | 获取内存存储统计信息 |
memory_capabilities | 报告活动功能层、加载的模型和可用功能 |
memory_expand_query | 使用LLM将搜索查询扩展为相关术语(智能+层) |
memory_auto_tag | 使用LLM为内存(智能+层)自动生成标签 |
memory_detect_contradiction | 使用LLM检查两个存储器是否矛盾(智能+层) |
memory_archive_list | 列出已存档的内存(带有可选的命名空间/层/标签过滤器) |
memory_archive_restore | 将存档的内存还原到活动存储中 |
memory_archive_purge | 永久删除与筛选器匹配的存档内存 |
memory_archive_stats | 获取归档统计信息(按层、命名空间、年龄统计) |
______________________________________________________________________
HTTP API
50个端点 127.0.0.1:9077.开始 ai-memory serve.
安全: HTTP服务器绑定到127.0.0.1,没有身份验证和许可的CORS。在没有带身份验证的反向代理的情况下,不要暴露在网络中。
| 方法 | 端点 | 描述 |
|---|---|---|
| 得到 | /api/v1/health | 健康检查(验证DB+FTS5的完整性) |
| 得到 | /api/v1/memories | 列出内存(支持命名空间、层、标签、since、until、limit) |
| 职位 | /api/v1/memories | 创建记忆 |
| 职位 | /api/v1/memories/bulk | 批量创建内存(有限制) |
| 得到 | /api/v1/memories/{id} | 按ID获取内存 |
| PUT | /api/v1/memories/{id} | 按ID更新内存 |
| 删除 | /api/v1/memories/{id} | 按ID删除内存 |
| 职位 | /api/v1/memories/{id}/promote | 促进长期记忆 |
| 得到 | /api/v1/search | AND关键字搜索 |
| 得到 | /api/v1/recall | 按上下文调用(带查询参数的GET) |
| 职位 | /api/v1/recall | 按上下文调用(带JSON正文的POST) |
| 职位 | /api/v1/forget | 按模式/命名空间/层批量删除 |
| 职位 | /api/v1/consolidate | 将记忆整合成一个 |
| 职位 | /api/v1/links | 在记忆之间建立联系 |
| 得到 | /api/v1/links/{id} | 获取记忆链接 |
| 得到 | /api/v1/namespaces | 列出所有命名空间 |
| 得到 | /api/v1/stats | 内存存储统计信息 |
| 职位 | /api/v1/gc | 触发垃圾回收 |
| 得到 | /api/v1/export | 将所有内存+链接导出为JSON |
| 职位 | /api/v1/import | 从JSON导入内存+链接 |
| 得到 | /api/v1/archive | 列出已存档的内存(带可选过滤器) |
| 职位 | /api/v1/archive/{id}/restore | 将存档内存还原到活动存储 |
| 删除 | /api/v1/archive | 清除与筛选器匹配的存档内存 |
| 得到 | /api/v1/archive/stats | 存档统计信息(按层、命名空间、年龄统计) |
______________________________________________________________________
CLI命令
40个子命令。跑 ai-memory --help 有关任何命令的详细信息。
| 命令 | 描述 |
|---|---|
mcp | 通过stdio(主集成路径)作为MCP工具服务器运行 |
serve | 在端口9077上启动HTTP守护进程 |
store | 存储新内存(按标题+命名空间进行重复数据消除) |
update | 按ID更新现有内存 |
recall | 带有排名结果的模糊OR搜索+自动触摸(支持 --tier 用于混合召回)。每个请求最多200个项目。 |
search | 并搜索精确的关键字匹配。每个请求最多200个项目。 |
get | 按ID检索单个内存(包括链接) |
list | 使用过滤器(名称空间、层、标签、日期范围)浏览内存。每个请求最多200个项目。 |
delete | 按ID删除内存 |
promote | 促进长期记忆(清除过期) |
forget | 按模式+命名空间+层批量删除 |
link | 链接两个记忆(related_to、取代、矛盾、派生_from) |
consolidate | 将多个记忆合并为一个长期摘要 |
resolve | 解决矛盾:标记赢家,降级输家 |
shell | 带颜色输出的交互式REPL |
sync | 在两个数据库文件之间同步内存(拉/推/合并) |
auto-consolidate | 按命名空间+标签对内存进行分组,合并阈值以上的组 |
gc | 对过期内存运行垃圾回收 |
stats | 内存状态概述(计数、层、命名空间、链接、数据库大小) |
namespaces | 列出所有具有内存计数的命名空间 |
export | 将所有内存和链接导出为JSON |
import | 从JSON(stdin)导入内存和链接 |
completions | 生成shell补全(bash、zsh、fish) |
man | 将roff手册页生成到stdout |
mine | 从历史对话中导入记忆(Claude、ChatGPT、Slack导出) |
archive | 管理内存存档(列表、还原、清除、统计) |
顶级 ai-memory binary也接受全局标志:
| 标志 | 描述 |
|---|---|
| `--db | |
| ` | 数据库路径(默认: ai-memory.db,或 $AI_MEMORY_DB) |
--json | 所有命令的JSON输出(机器可解析输出) |
这 store 子命令接受其他标志:
| 标志 | 描述 |
|---|---|
--source / -S | 谁创建了这个内存(用户、claude、钩子、api、cli、导入、整合、系统)。违约: cli |
--expires-at | RFC3339到期时间戳 |
--ttl-secs | TTL(以秒为单位) --expires-at) |
这 mcp 子命令接受一个附加标志:
| 标志 | 描述 |
|---|---|
--tier | 要素层(默认值: semantic).看 功能层. |
______________________________________________________________________
回忆评分
每个回忆查询都按6个因素对记忆进行排名:
score = (fts_relevance * -1)
+ (priority * 0.5)
+ (MIN(access_count, 50) * 0.1)
+ (confidence * 2.0)
+ tier_boost
+ recency_decay| 因素 | 重量 | 备注 |
|---|---|---|
| FTS相关性 | -1.0x | SQLite FTS5排名(负=更好匹配) |
| 优先级 | 0.5x | 用户指定的1-10级 |
| 访问次数 | 0.1x | 召回频率(得分上限为50) |
| 信心 | 2.0倍 | 0.0-1.0确定性得分 |
| 等级提升 | +3.0/+1.0/+0.0 | 长/中/短 |
| 近期衰退 | 1/(1 + days*0.1) | 最近的记忆排名更高 |
______________________________________________________________________
内存层
| 层 | TTL | 用例 | 示例 |
|---|---|---|---|
short | 6小时(可配置) | 丢弃上下文 | 当前调试状态、临时变量、错误跟踪 |
mid | 7天(可配置) | 工作知识 | Sprint目标、最近的决定、当前的分支目的 |
long | 永久 | 来之不易的知识 | 架构、用户偏好、更正、惯例 |
自动行为
- 召回时的TTL扩展:短期记忆获得+1小时,中期记忆获得+1天
- 汽车促销:中端存储器访问5次以上升级为长(过期清除)
- 优先加固:每10次访问,优先级增加1(上限为10)
- 矛盾检测:当新内存与同一命名空间中的现有内存冲突时发出警告
- 去重:标题+命名空间上的追加销售;层在更新时从不降级
______________________________________________________________________
可配置TTL
默认TTL(短期6小时,中期7天)可以在中覆盖 ~/.config/ai-memory/config.toml 在...之下 [ttl] 章节:
[ttl]
short_ttl_secs = 21600 # short-tier TTL in seconds (default: 21600 = 6 hours)
mid_ttl_secs = 604800 # mid-tier TTL in seconds (default: 604800 = 7 days)
long_ttl_secs = 0 # long-tier TTL in seconds (default: 0 = never expires)
short_extend_secs = 3600 # TTL extension on recall for short-tier memories in seconds (default: 3600 = +1h)
mid_extend_secs = 86400 # TTL extension on recall for mid-tier memories in seconds (default: 86400 = +1d)所有五个字段都是可选的——省略任何字段以保持默认值。将任何值设置为0以禁用该层的过期。数值被限制在10年的最大值;负扩展值被限制为0。
注: 配置在进程启动时加载一次。更改为 config.toml 需要重新启动ai内存进程(MCP服务器、HTTP守护进程或CLI)才能生效。______________________________________________________________________
档案
当垃圾回收使内存过期时,它可以 归档 而不是永久删除。存档的内存被移动到单独的存储中,以后可以浏览、还原或清除。
配置
在中启用存档 ~/.config/ai-memory/config.toml:
archive_on_gc = true # archive expired memories instead of deleting them (default: true)CLI命令
这 archive 子命令管理存档:
ai-memory archive list # list archived memories
ai-memory archive list --namespace my-project # filter by namespace
ai-memory archive restore # restore an archived memory to active store
ai-memory archive purge --older-than-days 90 # permanently delete archives older than 90 days
ai-memory archive stats # show archive statistics注: 恢复的记忆得到他们的 expires_at 清除(在下一个TTL分配之前变为永久)。MCP工具
MCP客户可以使用四种存档工具:
| 工具 | 说明 |
|---|---|
memory_archive_list | 列出已存档的内存(带有可选的命名空间/层/标签过滤器) |
memory_archive_restore | 将存档的内存还原到活动存储中 |
memory_archive_purge | 永久删除与筛选器匹配的存档内存 |
memory_archive_stats | 获取归档统计信息(按层、命名空间、年龄统计) |
HTTP端点
| 方法 | 端点 | 描述 |
|---|---|---|
| 得到 | /api/v1/archive | 列出已存档的内存(带可选过滤器) |
| 职位 | /api/v1/archive/{id}/restore | 将存档内存还原到活动存储 |
| 删除 | /api/v1/archive | 清除与筛选器匹配的存档内存 |
| 得到 | /api/v1/archive/stats | 存档统计信息(按层、命名空间、年龄统计) |
______________________________________________________________________
安全
ai存储器包括所有输入路径的硬化:
- 交易安全 --所有多步骤数据库操作都使用事务;失败时不进行部分写入
- FTS注射预防 --在到达FTS5查询之前对用户输入进行净化;特殊字符被转义
- 错误清理 --从错误响应中删除内部数据库路径和系统详细信息;客户端看到结构化错误类型(NOT_FOUND、VALIDAION_FAILED、DATABASE_error、CONFLICT)
- 车身尺寸限制 --通过Axum的DefaultBodyLimit,HTTP请求体的大小上限为50MB
- 批量操作限制 --批量创建端点强制使用最大批处理大小以防止资源耗尽
- 跨域资源共享 --为本地主机开发工作流启用了许可CORS层
- 输入验证 --每个写入路径都验证标题长度、内容长度、命名空间格式、源值、优先级范围(1-10)、置信度范围(0.0-1.0)、标记格式、层值、关系类型和ID格式
- 同步链接验证 --在同步操作期间导入之前,所有链接都经过验证(包括ID、关系类型、无自链接)
- 螺纹安全色 --终端颜色检测用途
AtomicBool用于安全并发访问 - 仅本地HTTP --HTTP服务器默认绑定到127.0.0.1;未暴露于网络
- WAL模式 --SQLite预写日志记录,用于在写入过程中进行安全的并发读取
______________________________________________________________________
文档
| 指南 | 观众 |
|---|---|
| 迁移指南v0.7 | 从v0.6.x升级--请先阅读以下内容 (涵盖经证实的皮层、钩子、转录本、AGE、权限、G1继承修复) |
| v0.7有什么新功能 | 视觉漫游 attested-cortex 基材 |
attested-cortex 请求评议 | 四个v0.7架构决策的设计原理 |
| v0.7兼容性矩阵 | 每个功能默认值与选择加入矩阵 |
| 安装指南 | 使其运行(包括多个AI平台的MCP设置) |
| 用户指南 | 想要持久内存的AI助手用户 |
| 开发者指南 | 建立或促进人工智能记忆 |
| 管理员指南 | 部署、监控和故障排除 |
| 工程标准 | 代码、测试、安全和发布标准(权威) |
| AI开发人员工作流程 | 有助于此仓库的AI编码代理的分步工作流程 |
| AI开发者治理标准 | 人工智能参与政策:权威、归因、审查、审计 |
| 带有动画图表的视觉概述 |
______________________________________________________________________
许可证
版权所有2026 AlphaOne有限责任公司.
根据 Apache许可证,版本2.0 (“许可证”); 除非遵守许可证,否则您不得使用此文件。 您可以在以下网址获得许可证副本
除非适用法律要求或书面同意,否则软件 根据许可证分发的内容按“原样”分发, 无任何明示或暗示的保证或条件。 请参阅许可证,了解管理权限和 许可证下的限制。
