跳到内容
MagicFrog
目录

记忆

五个维度的长期记忆,跨机器、跨会话跟随你。

MagicFrog 给每段对话一份长期记忆:一棵 Markdown 笔记树,agent 每次会话都会读取,并可在工作推进中更新。记忆组织为五个维度,同一条笔记路径可以同时存在于多个维度——更具体的维度获胜。

五个维度

维度 范围 随账号漫游
account 整个账号共享 是
user 单个用户的偏好与上下文 是
agent 单个具名 agent,按 agent ID 隔离 是
task 单个任务(项目),按任务 ID 隔离 是
device 仅一台计算机 否——从不离开这台机器

前四个构成一条覆盖链,从最泛到最具体:account < user < agent < task。同一路径存在于链上多个维度时,合并(生效)视图只保留最具体的那一份。device 在链外:它的条目是绑定这台计算机的独立行,绝不跨机器合并。

agent 与 task 条目可以用 ID 前缀放进命名空间——agent/<agentId>/notes/style.md 只作用于那个 agent,task/<taskId>/notes/progress.md 只作用于那个任务。不带 ID 前缀的路径作用于所有 agent 与任务。

记忆住在哪里

记忆就是磁盘上的纯 Markdown;一个文本编辑器就足以作为记忆客户端。每个条目是一个带最简 frontmatter 的 .md 文件:

---
revision: 3
updated: 2026-10-20T09:12:00.000Z
---
Prefer functional array methods over for loops.
  • account、user、agent 与 device 条目位于 MagicFrog 数据目录的 memory/<dimension>/ 下。
  • task 条目位于项目内 .magicfrog/memory/。
  • revision 随每次写入递增。写入可携带期望 revision;对过期 revision 的写入会失败,而不是静默覆盖。
  • device 条目额外记录一个 machine frontmatter 键,把它绑定到写入它的那台计算机;导入时保留该绑定。

旧布局的 machine/ 与 project/ 目录继续可用,分别按设备与任务记忆读取;新笔记直接写进五个维度。

层即配置

每个维度都有层(layer)——维度根内部的路径约定。每个维度默认存在两层:

  • core(维度根本身),以及
  • skills(skills/ 前缀)。

层定义在记忆树旁边的 layers.json 里:为团队或工作流加一层就是改一次配置。

skills 层下的 Markdown 文档可作为技能源被发现,与你的仓库技能和主目录技能并列——写着「如何工作」的记忆笔记会变成可加载的技能。

记忆如何到达 agent

每次会话开始时,agent 都会读到作用域内各维度的记忆,越具体的维度越优先(task、agent、user、account,最后是 device)。记忆更新后整体替换,agent 不会把新旧视图混用。

所以每个 agent 看到的是它所在任务的记忆和它自己的记忆——看不到其他人的。

云端漫游

前四个维度(account、user、agent、task)随你的账号跨机器同步,每条目的 revision 让写入具备冲突安全。device 条目从不上传——本机记忆留在本机。

要手工搬移记忆,这棵树可导出为一组可移植的 Markdown 文件再导回;带 machine/ 或 project/ 前缀的文件分别落入 device 或 task 维度。