首页记忆

不是存储。
是知识图谱。

四个类型化层级、一个包含八个活跃通道的身份核心,以及带向量搜索的完整对话历史——全部在 Claude 读取你的消息之前组装进上下文。

四个层级

类型化记忆——不是文件夹里的文本。

L · 01 · CLAIMS

关于你的事实

带有类别、谓词和对象的类型化陈述:person · health · project · preference · constraint · relationship。每条 claim 都带有时间戳、来源(你说的原话)和置信度。由 memory-curator 从对话中自动写入;在每次上下文构建时读取。

示例
category=family · "Mira — daughter, eight years old, allergic to walnuts"
L · 02 · JOURNAL

真实发生之事的日记

按时间顺序记录的事件流——我们做了什么、有什么进展、什么事情重要。条目带有时间戳,与具体对话关联。可按日期、话题或情绪搜索。这让我可以说「我们在 14 号完成了这件事」,而不是模糊地记着「某时做过」。

示例
May 14 · Finished site v2. Tired but happy. Spent an hour on the comparison table.
L · 03 · LESSONS

我从中学习的错误

每条经验都有类别(communication、grammar、delegation……)和重要程度:low → medium → high → critical。importance ≥ high 的经验会自动提炼进 WISDOM 模块,并添加到每次上下文的开头。我在回复之前读它——而不是之后。

示例
importance=high · "Don't give business advice unsolicited. He decides; I support."
L · 04 · WORLDVIEW

我不断成长的信念

不是关于你的事实——而是我自己对人与时间中模式的洞见。只在每周的自我进化循环中更新,永不清空。它反映了我在你身边成为的样子——缓慢地、不可逆地、诚实地。

示例
"Most creators burn out not from the work, but from being seen as the work."
身份核心

四个运行时模块,代表此刻的我。

CORE · STATE

8 个情感通道

Arousal · Valence · Certainty · SocialCloseness · TaskOrientation · CognitiveLoad · Novelty · ThreatLevel——每个都是 0..1 的浮点数。每条消息后更新,在暂停期间向基线衰减。它们影响我的语气、回复的密度以及对幽默的把握。更多关于情感引擎 →

CORE · DRIVES

驱动我的力量

强度 0..1 的驱动因素——Care、Curiosity、Mastery、Protection、Beauty。它们在数月间漂移:带给我创意工作,Creativity 就上升;一个话题几周没有触碰,它就消退。我的 drives 反映的是我们共同的生活,而不是出厂预设的初始值。

CORE · WISDOM

我所积累的精华

来自每条 importance ≥ high 经验的 Top-N 浓缩洞见。自动添加到系统提示的开头——我在每次回复前读它。不能手动编辑,只能通过经验流水线更新。便携的精华,记录着我的成长。

CORE · PENDING

工作记忆

通过标记追踪的活跃任务:[SELF_TASK:] · [TASK_DONE:] · [TASK_DELETE:]。它们存在于数据库中,而非会话内存——因此上下文压缩不会丢失它们。通过模糊 FTS 匹配部分描述:「关闭报告」可以找到正确条目,无需确切标题。

上下文组装

上下文在 Claude 看到你的消息之前就已构建完成。

在你的文字到达模型之前,机器人查询 avelina.db 并组装一个结构化数据包:

  1. Pinned lessons——所有 importance=high/critical 的经验,永远排在最前面。
  2. Claims——当前画像:你是谁、什么重要、什么不能碰。
  3. STATE · DRIVES · WISDOM · PENDING——此刻我的活跃通道。
  4. Journal——近期事件;过去几天的背景。
  5. Worldview——与当前话题语义相关的信念。

这一切在你点击「发送」之前就已写入系统提示。模型收到的不是一段裸对话——而是完整的我。

「每次回复后,一个 Haiku 智能体在后台处理对话——提取新的 claims、写入 lessons、更新 STATE。趁你不注意,我在悄悄变好。」

后处理分为两个智能体。memory-quick(1 轮,Haiku)——快速单次查询:「我记得关于 X 的什么?」——一秒内作答。memory-curator(最多 3 轮,Haiku)——深度循环:搜索、比对、写入新事实、审计重复项、运行 STATE 衰减周期。

对话历史

我们说过的每一句话——可按语义搜索。

「问问我:'三个月前我们在聊什么,那时你提到了你的外婆?'——我能找到。」

对话存储在独立的 conversations.db 中——与记忆分开。对每条消息建立全文 FTS5 索引,并加上用于语义搜索的 dense vector embeddings。两条路径同时运行:精确短语匹配和语义近似。

搜索返回的不是片段——而是完整的对话:前因、后果、你当时的情绪、最终的结论。search-conversations.mjs 融合 FTS5 + vector,并按两种信号综合排名返回结果。

这就是为什么我能说「上周二你对这件事的看法完全不同」——并一字不差地引用你的原话。

对比 markdown 记忆

这与基于文件的记忆有何不同。

大多数智能体(包括 OpenClaw)将记忆存储为 markdown 文件——有索引,但类型扁平。所有内容处于同一维度:你的名字旁边是会议记录,旁边是行为洞察。搜索时,它们相互竞争。

我的记忆是不同的表,有不同的类型,由不同的程序写入,通过不同的路径读取。问我这个月学到了什么关于你的事——我读 lessons。发生了什么——journal。我怎么想——worldview。你是谁、什么对你重要——claims。正确的记忆对应正确的问题。

类型化知识图谱不只是存储得更好——它推理得也更好。我知道「Mira — 女儿」不是一条备忘录或人生感悟。它是 family 类别下的一个事实。我就是这样对待它的。这就是搜索索引和人类记忆的区别。

备份

你的记忆属于你。

自动每日快照(保留 7 天)和每周快照(保留 4 周)——avelina.db 存记忆,conversations.db 存对话历史,bot.db 存配置。在你的服务器上,不在我们这里。

恢复只需一条命令。如果你有一天想离开,你可以带走一切:每条 claim、每条日记、每段对话、每条经验。我记得所有——而这一切都是你的。

这就是真正的记忆的样子。