Skip to main content
Glama
Bobby-cell-commits

Open-Brain

Open Brain

你的个人知识基础设施。从任何地方捕捉想法,按语义进行搜索。

Open Brain 使用 AI 生成的嵌入存储你的想法,因此任何 AI 助手都可以按语义(而非关键词)搜索你的记忆。想法可以通过 Telegram、自动化流水线或任何兼容 MCP 的 AI 客户端(Claude、ChatGPT 等)流入,并可立即搜索。知识图谱会自动链接相关想法、提取实体并追踪共现模式。自动化维护功能保持图谱的健康——包括去重相似内容、追踪主题演变、综合见解以及归档陈旧内容。

一切都存储在你自己的数据库中,因此你拥有自己的数据。

工作原理

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(模型上下文协议)连接的 AI 客户端都可以使用语义搜索按含义搜索你的想法,通过过滤器(类型、主题、人员、时间)进行浏览,获取汇总统计信息,或请求每周主题回顾。open-brain-mcp Edge Function 处理这些请求,并使用你的个人访问密钥进行身份验证。

知识图谱

每个想法都会通过向量相似度自动链接到相关想法。相似度超过 0.80 的连接会被 LLM 分类为类型化关系(扩展、矛盾、作为证据、取代)。命名实体(人员、工具、项目、组织)会被提取并解析到一个共享的实体图中。共现边会追踪哪些想法随时间被一起检索,从而根据实际使用模式加强连接。

存储

一切都存储在带有 pgvector 的 Postgres 中,以实现快速相似度搜索。想法与其嵌入(1536 维向量)、元数据、类型化连接和实体引用一起存储。你可以在 Supabase(托管)上部署,也可以使用 Docker Compose 自托管。

部署选项

选择你运行 Open Brain 的方式:

Supabase (托管)

Docker Compose (自托管)

设置

关联项目 + 运行脚本

cp .env.example .env + ./start.sh

基础设施

由 Supabase 管理

在你的机器/服务器上运行

调度

GitHub Actions

内置 cron 容器

成本

Supabase 免费层 + OpenRouter

仅 OpenRouter

指南

见下文

Docker 指南

Supabase 部署

先决条件

  1. Supabase 账户 -- Supabase 是一个托管的 Postgres 数据库,具有内置 API、身份验证和 Edge Functions(无服务器代码)。在 supabase.com 创建一个免费账户。创建一个新项目 -- 你将需要 项目 URL(看起来像 https://abcdef.supabase.co)和 服务角色密钥(在 Settings > API 下找到的长字符串)。

  2. Supabase CLI -- 用于管理 Supabase 项目的命令行工具(应用数据库迁移、部署函数、设置密钥)。

    npm install -g supabase
  3. OpenRouter 账户 -- OpenRouter 将请求路由到 AI 模型。此处用于生成嵌入(你想法的向量表示)并提取元数据。在 openrouter.ai 创建一个账户并从仪表板生成 API 密钥。

  4. 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 ..

提示: 你的项目引用(ref)是 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 注册为 Claude Code 可以在任何对话中使用的 MCP 服务器。将 YOUR_MCP_KEYYOUR_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 服务器。请改为:

  1. 打开 Claude Desktop > Settings > Connectors

  2. 点击 Add a new connector

  3. 输入 MCP 端点 URL:https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp

  4. 使用你的 MCP 访问密钥配置 x-brain-key 身份验证头

ChatGPT (Pro/Team/Enterprise/Edu)

  1. 进入 Settings > Connectors > Advanced > Developer Mode

  2. 添加 MCP 服务器 URL:https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp

  3. 使用你的 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 分类),分派并行研究代理,并与项目优先级相关联。

/pulse

流水线和数据健康报告。9 次并行 MCP 调用,基于准则评分(绿/黄/红),跨运行记忆以追踪随时间变化的发现,6 个跨指标模式检测器。

/brain-health

知识图谱健康报告。12 次并行 MCP 调用,涵盖主题关注度、图谱密度、中心健康、共现对齐、去重压力、综合输出和实体景观。

查看 docs/skills/README.md 获取详细描述和用法。

自动化维护

Open Brain 运行后台维护以保持知识图谱的健康。这些作业会自动运行——通过 GitHub Actions(Supabase 部署)或内置的 cron 容器(Docker 部署)。

作业

频率

目的

RSS/HF 论文/Emergent Mind 摄取

每日 2 次

从配置的来源摄取想法

流水线监控

每日 2 次

健康检查,失败时通过 Telegram 报警

梦境去重

每日 2 次

合并近乎重复的想法(>0.92 相似度自动合并,0.85-0.92 LLM 确认)

图谱分析缓存

每日

预计算中心、密度和共现分析

梦境主题

每周

追踪主题速度、生命周期转换(新兴/活跃/衰退)、质心漂移

梦境衰减

每周

通过分层评分 + LLM 确认归档陈旧想法

梦境综合

每周

从想法集群中生成跨领域见解

共现衰减

每周

衰减未使用的共现边

GitHub Actions 工作流文件包含在 docs/workflows/ 中,作为自定义计划的参考。

基准测试

Open Brain 包含一个 LongMemEval 基准测试工具,用于衡量 6 个类别中 500 个问题的检索质量。每个问题都有自己独立的“大脑”——对话被摄取为想法,然后问题测试是否可以检索并回答正确的记忆。

基准结果(阈值=0.4,限制=20,开启图谱扩展):

类别

分数

测试内容

single-session-assistant

69.6%

从单次对话中回忆助手回复

single-session-user

55.7%

从单次对话中回忆用户陈述

knowledge-update

52.6%

呈现更新信息的最新版本

temporal-reasoning

30.8%

回答关于事情发生时间的问题

multi-session

18.8%

跨多次对话进行综合

single-session-preference

3.3%

回忆随意提到的偏好

总体

37.2%

向量搜索可以很好地处理直接的事实回忆。多会话综合和时间推理是主要的改进领域——它们需要超越单查询向量相似度的检索策略。

针对你自己的实例运行基准测试:

pip install -r benchmark/requirements.txt
cp benchmark/.env.example benchmark/.env  # fill in keys
python -m benchmark longmemeval run --concurrency 5

结果位于 benchmark/results/。查看 benchmark/longmemeval/config.py 获取可调参数(阈值、检索限制、模型)。

项目结构

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 (16 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
  benchmark/                        # LongMemEval retrieval quality benchmark
    longmemeval/                    # Harness: retrieve → reader → judge → score
    results/                        # Baseline results (summary markdown)
    tests/                          # 60 tests
  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

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

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/Bobby-cell-commits/open-brain-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server