🧠 第二大脑
一个由人工智能驱动的个人知识库。摄取您的PDF、笔记、书签、代码文件和YouTube视频,然后使用Claude与他们聊天。
______________________________________________________________________
它做什么
- 摄取 任何文档:PDF、Markdown、DOCX、代码文件、网址、YouTube转录本、Notion页面
- 搜索 使用混合检索——语义向量搜索+关键字搜索,与真正的机器学习重新排序器合并
- 聊天 通过web UI查看文档,答案会附带源引用
- 暴露 将您的知识库作为MCP工具,以便Claude Desktop在对话中搜索
______________________________________________________________________
快速开始
1.克隆并安装
git clone https://github.com/MBA009/RAG-MCP-system.git
cd RAG-MCP-system
pip install -r requirements.txt2.设置环境变量
创建一个 .env 项目根目录中的文件:
ANTHROPIC_API_KEY=sk-ant-api03-...
EMBEDDING_BACKEND=localEMBEDDING_BACKEND=local 使用免费的离线模式(建议开始)。 如果你有一个OpenAI密钥并且想要更高质量的嵌入:
EMBEDDING_BACKEND=openai
OPENAI_API_KEY=sk-...可选:
NOTION_TOKEN=secret_...3.吸收你的文件
# Single file
python cli.py ingest ~/Documents/notes.pdf
# Entire folder (recursive)
python cli.py ingest ~/Documents/notes/
# Web page
python cli.py ingest-url https://en.wikipedia.org/wiki/Retrieval-augmented_generation
# YouTube video (fetches transcript automatically, no API key needed)
python cli.py ingest-youtube https://www.youtube.com/watch?v=VIDEO_ID
# All Notion pages (requires NOTION_TOKEN in .env)
python cli.py ingest-notion4.启动web UI
python cli.py web打开 http://localhost:8000 在您的浏览器中。
______________________________________________________________________
Web UI功能
- 与您的文档聊天——答案包括可点击的源引用
- 从侧边栏添加源:URL、YouTube、文件上传或Notion同步
- 将鼠标悬停在任何源上并单击✕ 删除它
- 标题显示索引的文档和块总数
______________________________________________________________________
所有CLI命令
| 命令 | 它的作用 |
|---|---|
| `python cli.py ingest | |
| ` | 摄入文件或目录 |
python cli.py ingest-url | 摄入网页 |
python cli.py ingest-youtube | 摄取YouTube文字记录 |
python cli.py ingest-notion | 同步所有Notion页面 |
python cli.py list | 列出所有摄入来源 |
python cli.py delete | 按哈希值删除源 |
python cli.py stats | 显示总源和块 |
python cli.py watch | 查看收件箱文件夹并自动接收新文件 |
python cli.py chat | 终端聊天界面 |
python cli.py web | 启动web UI |
python cli.py serve | 启动Claude Desktop的MCP服务器 |
______________________________________________________________________
克劳德桌面集成(MCP)
添加到您的Claude Desktop配置中:
窗户: %APPDATA%\Claude\claude_desktop_config.json 雨衣: ~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"second-brain": {
"command": "python",
"args": ["cli.py", "serve"],
"cwd": "C:\\path\\to\\second-brain"
}
}
}重新启动克劳德桌面。克劳德现在可以打电话了 search_brain, add_document, list_sources,以及 delete_source 作为谈话中的工具。
______________________________________________________________________
密钥配置(config.py)
| 设置 | 默认值 | 说明 |
|---|---|---|
EMBEDDING_BACKEND | "local" | "local" 或 "openai" |
CHUNK_SIZE | 512 | 每块代币 |
TOP_K_FINAL | 5 | 每次查询返回的结果 |
CLAUDE_MODEL | claude-sonnet-4-... | 用于聊天的Claude模型 |
______________________________________________________________________
支持的文件类型
PDF、DOCX、Markdown、纯文本、Python、JavaScript、TypeScript、Go、Rust、C、C++、Java、HTML、web URL、YouTube、Notion、黑曜石库
______________________________________________________________________
技术栈
| 工具 | 角色 |
|---|---|
| Qdrant | 本地矢量数据库 |
| SQLite FTS5 | 全文关键字搜索 |
| 句子变换器 | 嵌入+交叉编码器重新排序 |
| 快速API | Web API |
| Anthropic Claude | 语言模型 |
| MCP-SDK | Claude桌面工具集成 |
