关于 Open Brain
Open Brain 是面向希望通过 AI 客户端记录和检索想法用户的可自托管 MCP 记忆服务。它以 PostgreSQL 和 pgvector 支持的图结构存储记忆,并提供语义搜索、自动去重和后台综合整理。
主要功能
- 01语义化记录与搜索想法
- 02按元数据筛选浏览想法
- 03在图中关联想法和命名实体
- 04识别重复项并检查过时记忆
- 05生成每周回顾并重现相关想法
- 06从 RSS 和论文来源摄取内容
适用场景
- 01保存会议记录并按含义检索
- 02每周回顾反复出现的主题和待办事项
- 03关联不同记忆中的想法与人物
- 04将研究内容导入个人记忆库
MCP 相关
提供 MCP 工具,用于记录、搜索、浏览和分析想法。MCP 客户端通过个人访问密钥连接已部署的端点。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://{supabase_project_ref}.supabase.co/functions/v1/open-brain-mcp/mcpclaude mcp add --transport http open-brain-server https://{supabase_project_ref}.supabase.co/functions/v1/open-brain-mcp/mcp{"mcpServers":{"open-brain-server":{"type":"http","url":"https://{supabase_project_ref}.supabase.co/functions/v1/open-brain-mcp/mcp"}}}在 Cursor 中打开{"servers":{"open-brain-server":{"type":"http","url":"https://{supabase_project_ref}.supabase.co/functions/v1/open-brain-mcp/mcp"}}}在 VS Code 中打开{"mcpServers":{"open-brain-server":{"type":"http","url":"https://{supabase_project_ref}.supabase.co/functions/v1/open-brain-mcp/mcp"}}}{"mcpServers":{"open-brain-server":{"serverUrl":"https://{supabase_project_ref}.supabase.co/functions/v1/open-brain-mcp/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://{supabase_project_ref}.supabase.co/functions/v1/open-brain-mcp/mcp需要授权工具
详细介绍
Open Brain
基于图结构的 MCP 记忆。LongMemEval 基准测试得分为 37.2%——大多数记忆系统不会公布这项基准测试的成绩。
面向 MCP 客户端(Claude、ChatGPT,以及任何支持 MCP 的助手)的可自托管记忆服务。想法从 Telegram、流水线或直接采集入口流入,并存入采用 Newman-IDF 加权的实体图,而非扁平文档存储。后台会自动运行 Dream 周期:消除近似重复项、追踪主题漂移、综合不同集群中的见解,并归档过时内容。17 个 MCP 工具。PostgreSQL + pgvector。你的数据由你掌控。
工作原理
flowchart LR
TG[Telegram Message] --> TGBot[telegram-bot\nEdge Function]
MCP[AI Client\nClaude/ChatGPT] --> MCPServer[open-brain-mcp\nEdge Function]
Pipeline[RSS/HF Papers/\nEmergent Mind] --> RunPipeline[run-pipeline\nEdge Function]
TGBot --> OR1[OpenRouter\nEmbedding + Metadata]
MCPServer --> OR2[OpenRouter\nEmbedding + Search]
RunPipeline --> OR3[OpenRouter\nTriage + Embed]
OR1 --> DB[(Postgres\n+ pgvector)]
OR2 --> DB
OR3 --> DB
MCPServer --> DB
TGBot --> TGReply[Telegram Reply\nwith Metadata]
采集路径
你向 Telegram 机器人发送消息时,telegram-bot Edge Function 会通过 webhook 接收消息。它会并行将消息发送到 OpenRouter,完成两项任务:生成向量嵌入(对含义的数值表示),并提取主题、提及的人物、行动项、主题、质量评分和命名实体等元数据。系统会检查想法是否存在语义重复项,将其存入数据库并自动关联相关想法,随后机器人会回复已采集内容的摘要。
流水线路径
run-pipeline Edge Function 会自动采集 RSS 源(AI 新闻简报)、Hugging Face 每日论文和 Emergent Mind(热门 arXiv 论文)中的想法。每个条目都会经过相关性筛选、嵌入、去重,然后存储。通过 GitHub Actions(Supabase 部署)或内置的 cron 容器(Docker 部署)按计划运行。
检索路径
任何通过 MCP(Model Context Protocol)连接的 AI 客户端,都可以使用语义搜索按含义查找想法,按筛选条件(类型、主题、人物、时间)浏览,获取汇总统计数据,或请求主题周报。open-brain-mcp Edge Function 会处理这些请求,并使用你的个人访问密钥进行身份验证。
知识图谱
每个想法都会根据向量相似度自动关联到相关想法。相似度高于 0.80 的关联会由大模型归类为不同类型的关系(扩展、矛盾、作为证据支持、取代)。系统会提取命名实体(人物、工具、项目、组织),并将其解析到共享实体图中。共现边会追踪一段时间内哪些想法被同时检索,并根据实际使用模式强化关联。
存储
所有数据都存储在 Postgres 中,并通过 pgvector 实现快速相似度搜索。想法连同其嵌入(1536 维向量)、元数据、类型化关联和实体引用一并存储。你可以部署在 Supabase(托管服务)上,也可以通过 Docker Compose 自托管。
部署选项
选择运行 Open Brain 的方式:
| Supabase(托管) | Docker Compose(自托管) | |
|---|---|---|
| 设置 | 关联项目 + 运行脚本 | cp .env.example .env + ./start.sh |
| 基础设施 | 由 Supabase 管理 | 在你的计算机/服务端上运行 |
| 定时调度 | GitHub Actions | 内置 cron 容器 |
| 费用 | Supabase 免费套餐 + OpenRouter | 仅需 OpenRouter |
| 指南 | 继续阅读 | Docker 指南 |
Supabase 部署
前置条件
-
Supabase 账户——Supabase 是托管式 Postgres 数据库,内置 API、身份验证和 Edge Functions(无服务器代码)。在 supabase.com 创建免费账户。创建新项目——你需要项目 URL(格式如
https://abcdef.supabase.co)和服务角色密钥(可在 Settings > API 下找到的一长串字符)。 -
Supabase CLI——用于管理 Supabase 项目的命令行工具(应用数据库迁移、部署函数、设置密钥)。
npm install -g supabase -
OpenRouter 账户——OpenRouter 可将请求路由到 AI 模型。此处用于生成嵌入(思想的向量表示)和提取元数据。在 openrouter.ai 创建账户,并从控制面板生成 API 密钥。
-
Telegram 机器人(推荐)——随时记录想法的主要方式。在 Telegram 上通过 @BotFather 创建机器人,然后运行设置脚本(见下文)。如果你只需要 MCP 访问权限,可以跳过此步骤。
快速开始
1. 克隆代码仓库
git clone https://github.com/YOUR_USERNAME/open_brain.git
cd open_brain
2. 关联 Supabase 项目
cd supabase
supabase link --project-ref YOUR_PROJECT_REF
cd ..
**提示:**项目引用是 Supabase URL 中的子域名。如果你的 URL 是
https://abcdef.supabase.co,那么项目引用就是abcdef。
3. 运行引导设置
./scripts/bootstrap.sh
引导设置会指导你配置环境。它会逐一提示输入每个密钥(Supabase URL、服务角色密钥、OpenRouter API 密钥、Telegram 令牌等),自动生成加密的 MCP 访问密钥,并将所有内容写入 .env.local。如果你已经有 .env.local,它会显示现有值,并允许你更新指定值。
4. 运行部署
./scripts/deploy.sh
部署会应用数据库架构(创建带有向量搜索索引的 thoughts 表)、将密钥上传到 Supabase,并部署所有 Edge Functions。每项操作完成时,都会显示分步检查清单。最后,它会输出 MCP 连接 URL 和可直接粘贴的 Claude Code 命令。
5. 运行验证
./scripts/validate.sh
验证会针对已运行的部署执行 8 项检查,以确认一切正常:数据库访问、RPC 函数、Edge Function 可访问性、身份验证、想法记录、语义搜索和想法列表。它会为每项检查显示通过/失败状态,并给出最终摘要。
设置 Telegram 机器人(可选)
在 Telegram 上通过 @BotFather 创建机器人,然后运行设置脚本:
./scripts/setup-telegram.sh YOUR_BOT_TOKEN
脚本会验证令牌、注册 webhook、设置命令自动补全,并输出需要配置的环境变量和密钥。按照输出的说明完成设置。
连接你的 AI 客户端
部署完成后,连接 AI 客户端即可开始使用 Open Brain。你需要两个值:
- MCP 端点 URL:
https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp(Supabase)或http://localhost:80/functions/v1/open-brain-mcp(Docker) - **MCP 访问密钥:**设置期间生成的密钥(存储在
.env.local或 Docker.env中)
**提示:**部署脚本(Supabase)或启动脚本(Docker)会输出填入了你实际值的准确连接命令。
Claude Code(CLI——推荐)
claude mcp add --transport http --header "x-brain-key: YOUR_MCP_KEY" open-brain https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp
这会将 Open Brain 注册为 MCP 服务,供 Claude Code 在任何对话中使用。将 YOUR_MCP_KEY 和 YOUR_REF 替换为你的实际值。
Claude Code(项目 .mcp.json)
将以下内容添加到项目根目录的 .mcp.json 文件中,与团队共享连接配置:
{
"mcpServers": {
"open-brain": {
"type": "http",
"url": "https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp",
"headers": {
"x-brain-key": "${MCP_ACCESS_KEY}"
}
}
}
}
注意:
${MCP_ACCESS_KEY}语法使用环境变量展开,因此密钥不会进入版本控制。请在使用此配置的每台机器上设置MCP_ACCESS_KEY环境变量。
Claude Desktop
Claude Desktop 不支持通过配置文件连接远程 MCP 服务。请改用以下方式:
- 打开 Claude Desktop > Settings > Connectors
- 点击 Add a new connector
- 输入 MCP 端点 URL:
https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp - 使用你的 MCP 访问密钥配置
x-brain-key身份验证标头
ChatGPT(Pro/Team/Enterprise/Edu)
- 前往 Settings > Connectors > Advanced > Developer Mode
- 添加 MCP 服务 URL:
https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp - 使用你的 MCP 访问密钥配置
x-brain-key身份验证标头
使用示例
Telegram 捕获
向你的机器人发送任意消息,Open Brain 都会自动处理:
You: Just had a great meeting with Sarah about the Q3 product roadmap.
She wants to prioritize the mobile app redesign.
Bot: Captured!
Type: meeting_note
Theme: personal
Topics: q3-roadmap, mobile-app-redesign
Quality: 0.7
People: Sarah
Action items: Prioritize mobile app redesign
Why: Records a product strategy decision with clear ownership
Related: "Product planning session notes..." (82% similar)
每条消息都会转换为向量,补充提取出的元数据,检查重复项,自动关联相关想法,并将实体解析到知识图谱中。
语义搜索
让任何已连接的 AI 客户端搜索你的大脑:
You: Search my brain for anything about product roadmap discussions
Claude: I found 3 relevant thoughts:
1. (0.89 similarity) Meeting with Sarah about Q3 product roadmap...
2. (0.82 similarity) Product planning session notes...
3. (0.76 similarity) Quarterly goals discussion...
语义搜索会按含义查找想法——即使你使用了不同的词语。询问“产品规划”时,也会找到有关“路线图讨论”的想法,因为它们的含义相近。
每周回顾
获取 AI 生成的近期思考摘要:
You: Give me a weekly review of my recent thoughts
Claude: Here's your weekly review:
Themes: Product planning, team meetings, technical architecture
Open loops: Mobile redesign decision pending, API migration timeline
Connections: Sarah mentioned in 3 meetings this week, all about mobile
每周回顾会分析过去 7 天的想法,并总结主题、未完成事项、想法之间的联系,以及思考中的盲点。
可用工具
| 工具 | 描述 |
|---|---|
search_thoughts | 语义搜索,可选扩展图谱(1 跳遍历) |
list_thoughts | 按类型、主题、人物、主题类别、质量和时间筛选并浏览想法 |
thought_stats | 汇总统计:数量、类型/主题类别细分、热门主题/人物 |
capture_thought | 从任意 AI 客户端保存新想法(自动生成嵌入向量) |
get_connections | 从某个想法开始遍历图谱(有类型的链接:扩展、矛盾等) |
list_entities | 按出现频率浏览提取出的实体(人物、工具、项目、组织) |
weekly_review | AI 生成的主题、未完成事项和后续步骤摘要 |
analyze | 图谱分析:枢纽、密度、来源、共现、主题类别 |
dedup_review | 重复项候选列表及相似度区间直方图 |
refresh_salience | 重新计算所有显著性分数 |
update_thought | 重写内容(重新生成嵌入向量并重新提取元数据) |
delete_thought | 永久删除(级联删除关联) |
serendipity_digest | 重新呈现被遗忘的高质量想法 |
pipeline | 流水线监控:运行状况、运行历史、合并审计 |
review_stale | 审查并处理陈旧想法候选项 |
migration_guide | 从其他平台导入记忆的说明 |
详细的用法模式、工具组合及不易察觉的行为,请参阅 docs/cookbook.md。
技能(Claude Code 工作流)
Open Brain 包含 Claude Code 技能——由多个阶段组成的结构化工作流,可将上述 MCP 工具组合起来,进行更高级的分析。技能会从 .claude/skills/ 自动发现,并以斜杠命令的形式调用。
| 技能 | 功能 |
|---|---|
/discover | 对近期想法进行增量式模式发现。基于之前的报告构建(EVOLVED/NEW/STALE 分类),并行调度研究 Agent,并结合项目优先级进行关联分析。 |
/pulse | 流水线与数据健康报告。并行调用 9 次 MCP,按量规评分(GREEN/YELLOW/RED),通过跨运行记忆跟踪一段时间内的发现,并检测 6 种跨指标模式。 |
/brain-health | 知识图谱健康报告。并行调用 12 次 MCP,涵盖主题关注度、图谱密度、枢纽健康状况、共现一致性、去重压力、综合输出和实体概况。 |
详细介绍和用法请参阅 docs/skills/README.md。
自动维护
Open Brain 会在后台运行维护任务,以保持知识图谱健康。这些任务会自动运行——通过 GitHub Actions(Supabase 部署)或内置的 cron 容器(Docker 部署)。
| 任务 | 频率 | 用途 |
|---|---|---|
| RSS/HF Papers/Emergent Mind 摄取 | 每日 2 次 | 从配置的来源摄取创意 |
| 管道监控 | 每日 2 次 | 执行健康检查,并在失败时通过 Telegram 发出警报 |
| Dream 去重 | 每日 2 次 | 合并近似重复的想法(相似度 >0.92 时自动合并,0.85-0.92 时由 LLM 确认) |
| 图分析缓存 | 每日 | 预计算枢纽、密度和共现分析 |
| Dream 主题 | 每周 | 跟踪主题变化速度、生命周期转换(新兴/活跃/衰退)和质心漂移 |
| Dream 衰减 | 每周 | 通过分级评分和 LLM 确认归档过时的想法 |
| Dream 综合 | 每周 | 从想法集群中生成跨领域洞见 |
| 共现衰减 | 每周 | 衰减未使用的共现边 |
GitHub Actions 工作流文件包含在 docs/workflows/ 中,可作为自定义计划的参考。
项目结构
open-brain-server/
supabase/
migrations/ # Database migrations (applied with supabase db push)
functions/
_shared/ # Shared modules (supabase-client, openrouter, types, errors, auto-link, entities, dream-*)
telegram-bot/ # Telegram capture (primary capture path)
open-brain-mcp/ # MCP server (17 tools)
tools/ # Individual tool implementations
run-pipeline/ # Automated RSS/HF Papers/Emergent Mind ingestion
monitor-pipeline/ # Pipeline health monitoring with Telegram alerts
refresh-graph-analysis/ # Graph analysis cache computation
docker/ # Docker Compose self-hosting (6 services)
pipeline/ # Python-based local pipeline (Reddit, RSS, briefing)
scripts/ # Setup and deployment automation
tests/ # Integration tests
docs/
cookbook.md # MCP tool usage patterns and compositions
skills/ # Skill documentation
workflows/ # GitHub Actions reference (scheduling)
writing-a-source.md # Guide for adding pipeline sources
.claude/
skills/ # Claude Code skills (auto-discovered)
discover/ # Incremental pattern discovery
pulse/ # Pipeline health report
brain-health/ # Knowledge graph health report
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。