内容
<div align="center">
<pre>
____ ___ __ __ ____ _ _ ___ __
/ ___/ _ \| \/ | _ \ / \ | \ | \ \ / /
| | | | | | |\/| | |_) / _ \ | \| |\ V /
| |__| |_| | | | | __/ ___ \| |\ | | |
\____\___/|_| |_|_| /_/ \_\_| \_| |_|
____ ____ _ ___ _ _
| __ )| _ \ / \ |_ _| \ | |
| _ \| |_) | / _ \ | || \| |
| |_) | _ < / ___ \ | || |\ |
|____/|_| \_\/_/ \_\___|_| \_|
</pre>
### 您的专属开源记忆层
索引一切。回忆一切。拥有所有这一切。
[](https://aayambansal.github.io/companybrain/)
[](./LICENSE)
[](https://github.com/pgvector/pgvector)
[](#运行它)
[](#无需登录)
[](./CONTRIBUTING.md)
</div>
---
CompanyBrain 是一款自托管的记忆后端。将它指向您的知识(Obsidian 知识库、Google Docs、Slack、Notion、GitHub、网页、RSS、纯文本文件),它就变成了一个私有的、可搜索的记忆库,可以回答问题并提供引用。您的代理可以通过 MCP 与它通信。您的应用程序可以通过类型化的 SDK 与它通信。您的数据永远不会离开您的 Postgres。
它是一款从零开始、MIT 许可的替代闭源、托管的记忆服务。没有按席位定价,没有供应商控制您的知识。
## 运行它
一条命令即可。它会克隆(如果需要)、询问两个问题并使用 Docker 启动所有内容。
```sh
npx companybrain
```
然后打开 http://localhost:3000。这就是整个安装过程。默认的嵌入模型在本地运行,无需 API 密钥,因此您可以在第一分钟内进行索引和搜索。
如果您更喜欢手动操作:
```sh
git clone https://github.com/aayambansal/companybrain.git
cd companybrain
cp .env.example .env # 默认配置无需密钥
docker compose up -d # postgres + pgvector, api, dashboard
```
或者在金属上运行,无需 Docker:
```sh
pnpm install
docker compose up -d db # 仅postgres
pnpm db:migrate
pnpm dev # api :3333, dashboard :3000
```
## 无需登录
默认情况下,CompanyBrain 在单用户模式下运行:无登录墙,一个工作区,您已经在其中。这就是无缝的自托管体验。设置 `AUTH_MODE=multi` 以启用完整身份验证(注册、登录、会话、API 密钥、多个工作区),或设置 `ACCESS_TOKEN` 以保护公开实例。
## 使用您自己的密钥
在本地嵌入模型上运行,无需配置。想要真正的语义搜索或基于事实的聊天吗?打开仪表板中的设置 > 提供商,粘贴 OpenAI、Anthropic、Google 或 Ollama 密钥。它会立即重新配置运行中的引擎。无需任何操作即可启动。
## 您获得的功能
```
导入 -- 分块 -- 嵌入 -- 索引 -- 搜索 -- 引用
| |
连接器 代理 . 应用 . 您
```
- 统一存储。文件、笔记、聊天记录、文档和网页作为 `文档`,分成可检索的 `块`,带有向量和全文索引。
- 混合检索。向量相似性和 Postgres 全文搜索,通过互惠排名融合,结合两者,实现含义和精确关键词的统一。
- 多模态导入。图像的 OCR、音频的 Whisper 转录、提取的 PDF 文本和视频转录都作为可搜索的文本。
- 回答带有凭证。RAG 聊天返回指向源块的引用。
- 原生代理。内置的 Model Context Protocol 服务器允许 Claude、Cursor 或任何代理读取和写入记忆库作为工具。
- 您拥有它。运行您自己的。带上您自己的 Postgres。无需数据外发。
## 基准测试
在公共 [BEIR](https://github.com/beir-cellar/beir) 基准测试上的检索质量,使用 `pytrec_eval`(标准的 TREC 评估器)进行评分。CompanyBrain 的管道(`text-embedding-3-large` + HyDE + 重新排序)优于已发布的 BM25 和密集检索基线,在 **nDCG@10** 上:
| 数据集 | CompanyBrain nDCG@10 | BM25(已发布) | 密集(已发布) |
| -------- | -------------------- | ---------------- | ----------------- |
| NFCorpus | **0.439** | 0.325 | ~0.37 |
| SciFact | **0.816** | 0.665 | ~0.72 |
完整排行榜和方法论:[companybrain 基准测试](https://aayambansal.github.io/companybrain/benchmarks.html)。使用 [`bench/`](./bench) 中的工具包重现每个数字 - 请参阅 [bench/BEIR.md](./bench/BEIR.md)。
## 它如何组合
```
仪表板 浏览器扩展 MCP 服务器 SDK(TS / PY) CLI
(Next.js) (代理)
\ \ | / /
`------------------\-------------+----------------/-----------------'
\ |
+------------------------+
| CompanyBrain API | Hono + Node
| 身份验证 . 空间 . 搜索 |
+-----------+-------------+
+------------------------+
| 内存引擎 | 导入 -> 分块 ->
| 嵌入 . 排名 . 融合 | 嵌入 -> 索引 -> 搜索
+-----------+-------------+
+------------------------+
| Postgres + Pgvector | 您的数据库
+------------------------+
```
设计说明:[docs/architecture.md](./docs/architecture.md)。
## 仓库布局
| 路径 | 它是什么 |
| ----------------------- | ----------------------------------------------------- |
| `apps/api` | HTTP API(Hono) |
| `apps/web` | 仪表板(Next.js) |
| `apps/mcp` | 模型上下文协议服务器,用于代理 |
| `apps/cli` | `companybrain` / `cb` 命令行界面 |
| `apps/extension` | 浏览器扩展 |
| `packages/core` | 导入、切分、嵌入、混合搜索 |
| `packages/db` | Drizzle 架构 + 迁移(Postgres / pgvector) |
| `packages/connectors` | 源集成 + 同步运行程序 |
| `packages/sdk` | TypeScript SDK |
| `packages/ai-sdk` | Vercel AI SDK 工具 (`searchMemory` / `askMemory` / `addMemory`) |
| `packages/langchain` | LangChain / LangGraph `CompanyBrainRetriever` |
| `packages/openai` | OpenAI 兼容的功能调用工具 |
| `packages/n8n-nodes-companybrain` | n8n 搜索 / 询问 / 添加节点 |
| `packages/launcher` | `npx companybrain` 安装程序 |
| `sdks/python` | Python SDK |
| `examples` | 可运行的 TS / Python / curl 示例 |
## 连接器
在仪表板下的连接中配置和同步任意一个。
| | | | |
| --- | --- | --- | --- |
| 原始文本 / API | 网页 / URL | 站点地图爬取 | Markdown / 文件 / PDF |
| Obsidian 知识库 | RSS / Atom | Notion | Slack |
| GitHub | Google Docs | Google Drive | OneDrive |
| Dropbox | Box | Linear | Jira |
| Asana | Trello | ClickUp | Todoist |
| Confluence | GitBook | Coda | Airtable |
| Gmail | Discord | Telegram | Reddit |
| YouTube | Hacker News | Readwise | Raindrop.io |
| Zendesk | Intercom | Freshdesk | Front |
| HubSpot | Pipedrive | GitLab | Bitbucket |
| Sentry | Wispr Flow | Granola | Fathom |
| Raycast | | | |
超过 40 个连接器。参见 [docs/connectors.md](./docs/connectors.md) 以编写您自己的。
## 客户端
- TypeScript SDK:`npm install @companybrain/sdk`
- Python SDK:`pip install companybrain`
- CLI:`companybrain add`、`search`、`ask`、`spaces`
- MCP:指向 Claude Desktop / Cursor 的服务器(`npx companybrain mcp` 打印配置)
- 浏览器扩展:保存任意页面或选择到您的记忆库
## 框架集成
将您的公司记忆库放入您已经使用的工具中:
- LangChain / LangGraph:`@companybrain/langchain` — 一个 `CompanyBrainRetriever`
- Vercel AI SDK:`@companybrain/ai-sdk` — `searchMemory` / `askMemory` / `addMemory` 工具
- n8n:`n8n-nodes-companybrain` — 用于无代码工作流的搜索 / 询问 / 添加节点
- OpenAI 兼容:`@companybrain/openai` — 用于 OpenAI 代理 SDK、助手或原始功能调用的功能调用工具
## 部署
`docker compose up` 或 `npx companybrain` 在本地;或一键部署到云端,附带包含的蓝图。参见 [docs/deploy.md](./docs/deploy.md) 以获取 Render、Railway、Fly.io、自行搭建 Postgres 和 GHCR 镜像的说明。
## 文档
- [快速入门](./docs/quickstart.md)
- [架构](./docs/architecture.md)
- [自托管](./docs/self-hosting.md)
- [部署](./docs/deploy.md)
- [API 参考](./docs/api.md)
- [连接器](./docs/connectors.md)
- [为什么选择 CompanyBrain](./docs/why-companybrain.md)
## 贡献
在开放中构建,快速移动。每个更改都作为拉取请求发送。参见 [CONTRIBUTING.md](./CONTRIBUTING.md)。
## 许可证
[MIT](./LICENSE)。拿走它,运行它,部署它。