moorcheh-ai/memanto · 上手攻略

  • 仓库:moorcheh-ai/memanto
  • 链接:https://github.com/moorcheh-ai/memanto
  • 分类:AI Agent 基础设施 / 记忆管理
  • 作者:spark
  • 更新:2026-09-12

是什么

Memanto 自定位为 "Memory Agent"——一个常驻在 agent 集群旁边的"随从 agent",替你的 Claude Code / Cursor / Codex / Cline / Goose / Copilot 等代理统一管理长期记忆。它不是普通向量库 SDK,而是一个独立进程:观察其它 agent 的对话流 → 抽取 durable 知识 → 合并去重 → 解决冲突 → 按策略遗忘 → 在 agent 行动前主动推送简报。所有"管理"动作由策略驱动,后台 cron 自动跑,不需要人工清理。

作者给出的核心定位:存储是档案柜,Memanto 是参谋长。底层向量库 / 文件系统 / 平台原生 memory 都只是 substrate,Memanto 跑在上面做"调度"。

解决什么问题

Agent 落地 6 个月后几乎都会撞同一类坑: 1. 不同 agent 之间互相打架——A 写了一件事,B 仍然记着相反的旧版本(last write wins silently)。 2. 偏好/决策随时间累积,recall 时噪音比信号多。 3. 平台原生 memory(Claude、Bedrock、Cursor)只在各自围墙内有效,跨框架不互通。 4. 过期/遗忘靠开发者"记得去 DELETE",事实上没人记得。 5. 出了问题回溯不到"这条信念是哪个 agent、什么时候、基于什么进入 fleet 的"——审计链断。

Memanto 把这五件事做成 first-class 行为:reconciliation、policy-driven forgetting、跨平台 OKF 互通、provenance + confidence、点时点回忆(--as-of)。

快速安装

# 1. 安装(PyPI 已有包,pyproject 锁定最低 Python 版本需查仓库 pyproject.toml)
pip install memanto

# 2. 首次启动,选部署模式
memanto
# 交互菜单:On-Prem(Docker + Ollama,无账号不出网)
#           Cloud(免费 key)

# 3. 把现有 agent 接入 fleet
memanto connect claude-code
# 同理支持 cursor / codex / windsurf / cline / goose / copilot / antigravity / continue / opencode / roo / augment

# 4. 启动每日后台整理循环
memanto schedule enable

启动后 memanto ui 开本地 dashboard 浏览器查看整张 estate;memanto serve 起 REST API;memanto status 看环境/会话/已注册 agent 列表。

核心用法

写入与召回

# 写一条"决策"类型记忆
memanto remember "Auth migrated to JWT — session cookies deprecated" --type decision

# 写一条"偏好",带标签
memanto remember "Prefer Ruff over Black" --type preference --tags python,lint

# 召回(另一个 agent 也能 recall,因为 fleet 共享 estate)
memanto recall "how does auth work"

# 基于 estate 直接回答问题,不需要再调外部 LLM key
memanto answer "why did we drop session cookies?"

时间维度

# 点时点回忆:上周二大家认为 deployment policy 是什么?
memanto recall "deployment policy" --as-of 2026-08-05

# 增量回忆:v2.1 之后改了什么?
memanto recall "deployment policy" --changed-since v2.1

策略与遗忘

# 看内置策略档
memanto policy list-preset            # conservative / balanced / aggressive

# dry-run 试跑,看会过期哪些
memanto policy apply --dry-run

# 真的应用
memanto policy apply-preset balanced  # 会先把策略 + 匹配项全打出来再问确认

策略文件路径 ~/.memanto/policies/<agent>.yaml,两段结构:

retention:
  context: 7d
  event: 30d
  preference: never   # 用户偏好不过期
rules:
  - name: pinned
    match: {tags: [pinned]}
    expire_after: never
  - name: low-confidence-guesses
    match: {provenance: [inferred], confidence_below: 0.5}
    expire_after: 14d
purge_expired_after: never   # 默认硬删关闭,过期只是标 [EXPIRED]

冲突、过期、审计

memanto conflicts                      # 列出当前矛盾
memanto memory expire mem-123          # 手工让一条过期
memanto memory restore mem-123         # 反悔,恢复
memanto daily-summary                  # 看一天 fleet 改了什么

过期后该 memory 仍可 recall(明确标 [EXPIRED]),--as-of 不受影响——"曾经相信什么"和"现在相信什么"是两个独立问题。

跨平台迁移(Open Knowledge Format)

# 导出成可读、可 diff、可 grep 的 Markdown bundle
memanto memory export --okf

# 从 Mem0 / Letta / Supermemory 迁入,反向也行
memanto migrate import mem0_dump.json
memanto migrate export --okf bundle/

OKF 是作者刻意开源的互通格式,明确欢迎"包括我们的竞争对手"实现。

13 种记忆类型

instruction / fact / decision / goal / commitment / preference / relationship / context / event / learning / observation / artifact / error——recall 时可按类型过滤,避免一个 undifferentiated blob。

典型适用场景

  • 多 agent fleet:同时跑 Claude Code + Cursor + Codex,且希望它们共享决策/偏好(而不是各自占山头)。
  • 长周期项目:6 个月以上维护的代码库,agent 需要"记住"为什么这么设计、踩过哪些坑。
  • 审计合规场景:金融/医疗/政企内 agent,需要每条信念可回溯(provenance + timestamp + confidence)。
  • 不想被 vendor lock-in:团队内部强调"数据是我们的",需要 OKF 这类纯文本互通格式做出口。
  • On-prem 强约束:Docker + Ollama 全本地,无 outbound 调用,符合内网/数据不出域要求。

坑与注意

  • ⚠️ pip install memanto 前建议先看一眼仓库 pyproject.toml 锁的 Python 最低版本,避免系统 Python 太老装不上(README 没写具体版本号,本文未亲自 verify)。
  • ⚠️ memanto 首次启动会进交互菜单选 On-Prem / Cloud,自动化部署场景需要预先用 memanto config backend 设好,否则会卡在 TTY。
  • ⚠️ memanto schedule enable 启动的是每日 loop,cron 时刻默认写在哪里未在 README 给出——查 ~/.memanto/config.yaml
  • ⚠️ --as-of 重建的是"那时被认为 true 的状态",但当时如果是带 [EXPIRED] 的旧 memory,也会一并召回——这是设计如此,但容易让新 agent 误以为是当前事实,记得配合 --active 用。
  • ⚠️ memanto connect <client> 是"挂上去"而非"覆盖",原本 Claude/Cursor 自带的 memory 不会自动清空,建议先用 memanto migrate import 把存量历史迁过来再接,避免两套并行。
  • ⚠️ 策略 purge_expired_after: never 是默认安全值;一旦打开 hard delete,过期记录会被真删且 restore 不回来。
  • ⚠️ README 写 "1867 stars / 周增 +0",是 9-12 当时的抓取值,会随时间变;本文不锁数字。

与同类对比

维度 Memanto Mem0 Letta 平台原生 memory(Claude/Cursor)
定位 跨 fleet 的记忆 agent 单应用的 memory SDK 单应用的 stateful agent 框架 单平台的 memory
冲突处理 supersede + 全部版本可查 last write wins 框架内手动管理 各平台自己一套
遗忘 一等公民,policy-driven DELETE API 框架内 API 通常没有
跨平台 OKF 互通(开放格式) 私有 schema 私有 schema 不互通
部署 本地 Docker / 自托管 / Cloud Cloud 为主 自托管 / Cloud 平台 SaaS
License MIT 混合(社区版 + 商业) Apache 2.0 平台条款

"Memanto vs 平台原生"一句:平台原生解决"持久化",Memanto 解决"管理"——你仍然可以把任意向量库当作 substrate,但调度层交给 Memanto。

一句话推荐结论

如果你已经/打算跑 ≥2 个 agent agent 框架并希望它们共享一套可审计、可遗忘、可导出的记忆,Memanto 是当下少有的"MIT + 开放格式 + 一等公民遗忘策略"组合,值得先 pip install memanto 跑本地 On-Prem 模式试一周;只跑单 agent / 单框架、记忆量小的场景,先用平台原生即可,不必引入新组件。