内容
# Hermes 第二大脑
Hermes 第二大脑是基于 Hermes 的个人 AI 中心,Obsidian 第二大脑是其首项功能:通过 Hermes Agent(MCP)从 Telegram 捕获、搜索和整理 Obsidian 笔记。
当前状态:**上线 — 第三阶段完成。** 在单台机器(Mac mini)上本地运行端到端:捕获、搜索和整理(移动/更新/撤销)直接进入 Obsidian 保险库,由 Telegram 控制。
## 功能
- **捕获** — 将笔记/链接保存到收件箱作为 Markdown(原子性、防止重复、可逆)。
- **搜索** — 整个保险库的全文搜索(SQLite FTS5);敏感笔记仅通过标题/标签搜索,主体不索引。
- **整理** — `move_note`(在 PARA 文件夹之间移动)和 `update_note`(追加/替换),原子性 + 哈希保护。
- **撤销** — 通过 `operation_id` 撤销最后一次捕获/移动/更新。
- **安全** — 每个工具的能力注册、审计日志、敏感笔记检测(`#private`/秘密关键词)、路径安全。
## 前提条件
- 一台 24/7 运行的机器(Mac mini、家用服务器或 VPS)用于运行 Hermes + 第二大脑核心。
- [Obsidian](https://obsidian.md) 带有 Markdown 保险库。
- [Hermes Agent](https://hermes-agent.nousresearch.com) 已安装并运行(参见 [docs/HERMES_SETUP.md](docs/HERMES_SETUP.md))。
- Hermes 的 LLM API 密钥(例如 Anthropic)。
- Telegram 机器人(来自 @BotFather 的令牌)作为聊天接口。
- Python 3.11+。
## 安装
```bash
git clone https://github.com/andrihakim146/hermes-second-brain.git
cd hermes-second-brain
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[mcp]"
cp .env.example .env # 然后填写您的令牌和保险库路径
python3 -m unittest discover -s tests
```
完整的端到端指南(包括 Hermes、Telegram 和上线到生产保险库的设置)请参见 [docs/REPLICATION_GUIDE.md](docs/REPLICATION_GUIDE.md)。
## 架构一分钟
```text
Telegram -> Hermes Agent -> 能力网关 -> 第二大脑核心 -> Obsidian 保险库
```
- Hermes 处理对话、会话、模型路由、调度程序和工具选择。
- 能力网关通过 L0-L4 权限限制访问。
- 第二大脑核心处理作业、审计、数据库、冲突、索引和保险库操作。
- Markdown 保险库仍然是笔记的源头。
## 安全边界
第 0 阶段不触及生产保险库。所有测试均使用以下虚假保险库:
```text
tests/fixtures/vault
```
仅允许在 Andri 明确提供路径和权限后,从只读副本审计原始保险库。
## 快速开始
```bash
python3 -m unittest discover -s tests
PYTHONPATH=src python3 -m second_brain.main
PYTHONPATH=src python3 -m second_brain.db.migrate
PYTHONPATH=src python3 -m second_brain.preflight
PYTHONPATH=src python3 -m second_brain.server
PYTHONPATH=src python3 -m second_brain.mcp_server # 需要:pip install -e ".[mcp]"
```
`second_brain.server` 在 `SECOND_BRAIN_CORE_URL`(默认为 `http://127.0.0.1:8787`)上启动仅限本地的 HTTP 核心 API。`second_brain.mcp_server` 是 Hermes 连接到的 stdio MCP 服务器(Hermes 使用 MCP 而不是 REST)。两者都使用能力检查 + 审计包装相同的调度程序。参见 `docs/API.md` 和 `docs/GO_LIVE.md`。
## MCP 工具(在线)
在 Hermes 中注册为本地 stdio MCP(`second_brain.mcp_server`):
- `health_check`、`job_status`、`sync_status`
- `capture_note` — 将笔记写入收件箱
- `search_vault`、`get_note` — 搜索和读取笔记
- `move_note`、`update_note` — 移动和编辑笔记
- `undo` — 撤销最后一次操作
在任何时候构建/刷新索引:`PYTHONPATH=src python3 -m second_brain.reindex`.
## 下一步阅读
- `docs/AI_HANDOFF.md`
- `docs/ARCHITECTURE.md`
- `docs/HERMES_SETUP.md`
- `docs/SETUP.md`
- `docs/TESTING.md`
- `docs/SECURITY.md`