afair
Official你使用的每一款 AI 都会记住一个不同版本的你。一个 AI 学到的东西,在你打开下一个 AI 时就会消失,所以你不得不在另一次会话的开头重复同样的决定、关系、偏好和历史。
afair 为它们提供了一个共享的保险库。它通过 Model Context Protocol (MCP) 连接,因此同样的记忆在 Claude、你的编码代理以及你接下来使用的任何工具中都可使用。
不断增长的记忆通常会成为另一件需要维护的事情。afair 把这件工作接管了。后台代理会读取你的工具所记录的内容,发现哪些内容属于同一类,让有用的理解保持最新,并让旧的噪音从注意力中淡出。结构跟随你的生活,而不是固定的模板。你无需归档、打标签或整理它。
结果保持可见。你可以阅读 afair 相信的内容,追溯回源头,并在它弄错你的时候纠正它。纠正会成为历史的一部分,而不是被默默替换。
进入其中的是你生活的全部:你的工作、你爱的人,以及你宁愿让 AI 直接知道的私人事情。
数据是仅追加的,并且属于你。afair 是开源且单租户的,你可以随时导出全部数据。这个名字是“据我所记得的”的缩写,afair 正是为了让你不再需要这种模棱两可的说法而构建的。
两种使用方式
自己运行。 这个仓库就是全部,AGPLv3。在你自己的机器或服务器上自托管,你就端到端地拥有每一层。它是免费的,永远。快速开始见下文。
或者让 afair.ai 为你运行。 托管服务即将推出,包括你独立的欧盟实例、备份、导出和更新,都由我们帮你处理。在 afair.ai 加入早期访问名单。
无论哪种方式,代码都是一样的。托管产品是此仓库的一个部署,而不是独立的专有分支。
Related MCP server: Hippocampus
三个命令
afair 恰好暴露三个工具,并且它们已永久固定:
remember存储一些持久的东西:一个决定、一个重要的人、一个不能错过的重要日期、一个偏好。recall拉回与当下相关的内容。observe记录 AI 刚刚做了什么,以便保险库保持同步。
一旦你把简短的设置片段交给你的 AI,它就会自行调用这些工具。除非有调用将其放入,否则任何内容都不会进入保险库。
自己运行
需要 Python 3.12+ 和 uv。
uv sync
cp .env.example .env
# add ANTHROPIC_API_KEY, or a key for any other provider (the model is yours to pick)
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 默认是个人使用;一个保险库也可以通过两个环境变量改属于单个组织(一个实例,一个团队)(参见 docs/self-hosting.md)。
用你的编码代理安装
已经在使用 Claude Code、Codex 或其他编码代理?把下面的提示交给它,它就会自行完成设置:克隆、依赖、配置和 MCP 接线,然后验证往返连通。
在这台机器上设置 afair(位于 https://github.com/afairai/afair 的开源 MCP 记忆服务器),并将此工具连接到它。克隆它,运行
uv sync,将.env.example复制为.env,并向我索要一个 LLM 提供方 API 密钥放在里面。然后运行uv run python scripts/install_clients.py来连接我的 MCP 客户端并添加 afair 指令片段。告诉我启动服务器的命令(uv run python -m afair)以及如何保持它运行。一旦它启动完成,记住一个测试事实并回忆它来证明工作正常。遵循docs/self-hosting.md和docs/clients/;只把我的 API 密钥放在.env中,不要放在其他地方。
上面的方式在本地运行,并开箱即用地服务 CLI 和桌面客户端。若要触达 Web 客户端(Claude.ai、ChatGPT),请遵循 docs/self-hosting.md 中的公共部署说明。
教你的 AI 使用它
连接服务器只是其中一半;另一半是让你的 AI 自行使用这些工具。将简短的指令片段粘贴到客户端的持久指令(CLAUDE.md、AGENTS.md、Custom Instructions 或 .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 的工具。
架构
四层架构,一个事实来源:
基底(Substrate)。 使用 FTS5 和 sqlite-vec 的仅追加 SQLite,内容寻址。日志永不重写。
解释(Interpretation)。 在基底之上构建的版本化视图。无需触及任何已存事件即可重新生成。
MCP 表面(MCP surface)。 版本化且可累加。已发布的签名会一直有效。
代理(Agents)。 后台工作进程提取证据,发现哪些内容属于同一类,并维护带有引用的活体综合。聚类名称和边界可随证据变化而变化。用户从不定义类别。
完整的设计,以及将这一切联系在一起的八个不变量,都在 VISION.md 中。如果你想知道为什么,请从这里开始。
文档
文档 | 内容 |
完整的设计和八个不变量。想知道为什么,从这里开始。 | |
运行你自己的保险库:本地、Docker 或公共部署,包括 CLI 与 Web 客户端的对比以及 OAuth 设置。 | |
各客户端连接指南(Claude Code、Codex、Cursor、VS Code + CLI 的 GitHub Copilot、Gemini CLI、Windsurf、Antigravity、Claude.ai、ChatGPT、Perplexity),以及一份通用指令片段。 | |
开发设置、四项检查,以及任何改动都不能破坏的不变量。 | |
如何报告漏洞,以及 afair 应当满足的安全模型。 | |
架构决策记录:为什么存在这些不变量,为什么实体图是一个信念层。 | |
发布历史。 |
贡献
欢迎提交 pull request。请阅读 CONTRIBUTING.md 了解设置、必须通过的检查,以及任何改动都不能破坏的不变量。发现了安全问题?请参阅 SECURITY.md,并私下报告。
许可证
afair 根据 GNU Affero General Public License v3.0(LICENSE)发布。你可以自由地自托管、分叉和修改它。如果你将修改后的版本作为网络服务提供给他人,你必须在同一许可证下发布你的更改。位于 afair.ai 的托管产品是此代码的一个部署,而不是独立的专有分支。
一句话:自由使用,自由自托管,如果你把它作为服务提供给他人,请分享回来。
德国制造
在德国构建。托管实例在欧盟运行,受欧盟管辖。
This server cannot be installed
Maintenance
Related MCP Servers
- Alicense-qualityDmaintenanceSelf-hosted semantic memory for AI agents. Save worklogs, decisions, and notes via MCP, then recall them across sessions by meaning rather than keyword. Backed by Postgres + pgvector with local embeddings (multilingual-e5-base).1MIT
- Alicense-qualityAmaintenanceOpen-source MCP memory server providing persistent, cross-platform context for AI tools via a knowledge graph with encrypted storage.1813AGPL 3.0
- Alicense-qualityAmaintenanceLocal-first, file-based memory layer for AI agents — one shared Markdown vault across Claude, Codex, Gemini, Cursor and any MCP client. Provides read/write memory tools with an audit trail, per-agent trust levels, and Git sync; no cloud and no lock-in.2MIT
- AlicenseAqualityAmaintenancePrivacy-first local memory vault every AI shares over MCP. Markdown + SQLite on your machine; Claude, ChatGPT, Cursor, and any MCP client read and write it live. No cloud, no account, no telemetry124MIT
Related MCP Connectors
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/afairai/afair'
If you have feedback or need assistance with the MCP directory API, please join our Discord server