内容
# BrainKB - 本地第二大脑系统
基于 MCP 协议的本地知识库系统,支持笔记管理、向量检索、知识图谱可视化。
## 快速开始
### 1. 环境准备
```powershell
cd <project-root>
# 配置pip安装到D盘(避免C盘空间不足)
pip config set global.cache-dir "<pip-cache>"
pip config set global.target "<project-root>\libs"
# 安装依赖(安装到D盘libs目录)
pip install -r requirements.txt
# 配置环境变量
copy .env.example .env
# 根据需要修改 .env 中的 VAULT_PATH
```
### 2. 安装Ollama并拉取模型
下载安装 [Ollama](https://ollama.com/download),然后:
```powershell
ollama pull nomic-embed-text
```
### 3. 配置环境变量
已在步骤1中完成(.env文件)。
### 4. 初始化Vault
```powershell
python -m src.scripts.init_vault
```
### 5. 配置MCP(在Trae/Claude Desktop中)
在MCP配置文件中添加:
```json
{
"mcpServers": {
"brain-kb": {
"command": "python",
"args": ["<project-root>/run.py"],
"cwd": "<project-root>"
}
}
}
```
### 6. 用Obsidian打开知识库
安装 [Obsidian](https://obsidian.md/download),打开 `<vault-path>` 目录。
## 目录结构
```
brain-kb/
├── src/
│ ├── server.py # MCP Server入口
│ ├── config.py # 配置
│ ├── models.py # 数据模型
│ ├── services/
│ │ ├── note_service.py # 笔记CRUD
│ │ ├── vector_service.py # 向量检索 (numpy实现)
│ │ ├── graph_service.py # 知识图谱
│ │ └── tree_service.py # 目录树
│ └── utils/
│ ├── markdown_parser.py # Markdown解析
│ └── ollama_client.py # Ollama客户端
├── docs/
│ ├── DESIGN.md # 设计文档
│ └── TEST.md # 测试文档
├── tests/
│ └── test_all.py # 综合测试脚本
├── libs/ # Python依赖 (D盘)
├── run.py # 启动脚本
├── .env # 环境配置
└── requirements.txt # 依赖清单
```
## 核心MCP工具
| 工具 | 功能 |
|------|------|
| `write_note` | 写入新笔记并自动索引 |
| `search_knowledge` | 语义搜索历史知识 |
| `read_note` | 读取笔记内容 |
| `append_note` | 追加内容到笔记 |
| `list_notes` | 列出笔记 |
| `get_links` | 查看双向链接 |
| `suggest_links` | 推荐关联笔记 |
| `get_graph_overview` | 获取知识图谱 |
| `get_tree` | 获取目录树 |
| `append_daily` | 记录到每日笔记 |
| `reindex_all` | 重建全量索引 |
| `index_status` | 查看索引状态 |
## 文档
- [设计文档](docs/DESIGN.md)
- [测试文档](docs/TEST.md)