afair 是一款面向所有 AI 工具的开源、自组织记忆系统,其核心理念是:你使用的每个 AI 都只记得关于你的某一个版本,换一个工具后之前学到的内容就消失了,于是你不得不在每个新会话中重复自己的决定、关系、偏好和历史。afair 为它们提供一个共享的记忆库,通过模型上下文协议(MCP)连接,使同一份记忆在 Claude、你的编码智能体以及你接下来使用的任何工具中都可访问。
用途与定位
afair 把记忆维护的工作自动化。后台智能体读取你的工具所记录的内容,发现哪些信息属于同一主题,维护有用的动态理解,并让旧的噪声逐渐淡出注意力。记忆结构跟随你的生活,而不是套用固定模板;你不需要归档、打标签或人工整理。同时结果保持可见:你可以查看 afair 认为正确的内容,追溯其来源,并在它理解错误时进行纠正;纠正会成为历史的一部分,而不是悄悄替换掉原有内容。数据采用只追加方式,归你所有。afair 是开源且单租户的,你可以随时导出全部数据。
主要能力
afair 只暴露三个工具,并且这些接口已经固定不变:remember 用于存储持久信息,比如一个决定、一个重要的人、一个不能错过的日期、一个偏好;recall 用于在需要时取回与当下相关的内容;observe 用于记录 AI 刚刚做了什么,使记忆库保持同步。你的 AI 拿到简短配置片段后,会自行调用这些工具;除非有调用写入,否则不会有内容进入记忆库。系统分为四层、一个事实来源:底层(Substrate)是采用 FTS5 和 sqlite-vec 的只追加 SQLite,内容寻址,日志永不被重写;解释层(Interpretation)是在底层之上构建的版本化视图,可以不触碰任何已存事件而重新生成;MCP 接口层(MCP surface)是版本化且增量的,已发布的签名会持续可用;智能体层(Agents)由后台工作者抽取证据、发现关联,并维护带引用的动态综合。聚类名称和边界会随证据变化而变化,用户无需定义任何分类。
使用方式
自托管:本项目要求 Python 3.12+ 与 uv。安装步骤为先克隆仓库,运行 uv sync,将 .env.example 复制为 .env 并填入 LLM 提供商的 API 密钥,然后运行 uv run python scripts/install_clients.py 来配置 MCP 客户端并添加 afair 指令片段。启动服务器的命令是 uv run python -m afair,服务器默认在 http://127.0.0.1:8765 运行。将 CLI 或桌面客户端(Claude Code、Codex、Cursor、GitHub Copilot)指向该地址并连接即可。云端 Web 客户端(Claude.ai、ChatGPT)则需要公网 HTTPS 部署和快速 OAuth 配置,具体见 docs/self-hosting.md。所有环境变量在 .env.example 中有内联文档,各客户端连接指南位于 docs/clients。afair 默认是个人用途;也可以通过两个环境变量让一个记忆库归属于单一组织(一个实例,一个团队)。
让 AI 主动使用:连接服务器只是一半,另一半是让 AI 自己调用工具。把简短指令片段粘贴到客户端的持久指令中(如 CLAUDE.md、AGENTS.md、自定义指令或 .cursorrules),它就会在对话开始时召回上下文、记住持久信息、观察自己的行为,无需你每次提示。同一片段适用于所有客户端。对于 Claude Code、Codex 和 Cursor,scripts/install_clients.py 会同时写入连接配置和指令片段;对于 GitHub Copilot,它会写入连接配置并打印一个按仓库设置指令片段的步骤(Copilot 按工作区读取指令)。支持范围包括 Claude Code、Claude.ai、ChatGPT、Codex CLI、Cursor、Windsurf、Copilot 以及其他任何通过 Streamable HTTP 使用 MCP 的工具。
适用场景
afair 适用于希望在不同 AI 工具之间共享个人记忆、避免重复交代背景的个人用户,尤其适合同时使用多个 AI 编码智能体或聊天助手的开发者。它也支持团队以单实例方式共享一个组织的记忆库。它强调数据归属、透明可溯源和可纠正,适合重视隐私与自托管的用户。
限制与许可
afair 是单租户设计,默认面向个人,团队共享需通过环境变量配置为单一组织实例。Web 客户端需要公网 HTTPS 部署和 OAuth,不能仅靠本地地址接入。项目采用 GNU Affero 通用公共许可证 v3.0,可自由自托管、分叉和修改;如果你把修改版本作为网络服务提供给他人运行,需以相同许可证公开你的改动。官方托管服务位于 afair.ai,运行于欧盟,受欧盟司法管辖,即将推出,与自托管使用同一份代码,而非独立闭源分支。项目的完整设计及维系它的八条不变式见 VISION.md;贡献指南见 CONTRIBUTING.md,安全报告见 SECURITY.md。项目在德国构建。