Show HN:本地优先的 CLI 工具,让 Obsidian 仓库对 AI 智能体可搜索
NoteBrain 是一个 Go 语言编写的 CLI 工具,可将 Obsidian 笔记仓库转为离线知识后端,供 AI 编码智能体使用。它通过本地 ChromaDB 向量数据库实现语义搜索、维基链接图遍历和隐藏连接发现,并支持结构化输出。工具内置 AI 智能体技能和 OpenCode 代理配置,可轻松集成到自主编码工作流中。
NoteBrain 是一款由 Go 语言构建的命令行工具,旨在将 Obsidian 笔记仓库转化为完全离线的知识后端,供 AI 编码智能体使用。该工具索引 Markdown 笔记至本地 ChromaDB 向量数据库,并通过结构化输出提供语义搜索、维基链接图遍历以及隐藏连接发现等功能,可直接被自主智能体、Shell 管道和 LLM 工具调用工作流所使用。
项目作者 Nimendra 表示,他日常使用 Obsidian 作为主要笔记工具,当 AI 智能体兴起时,他希望能将 Obsidian 仓库用作 RAG 系统,但现有解决方案无法满足需求。受到一篇文章启发后,他构建了此工具用于个人使用,并鼓励用户根据自身需求 fork 和修改。
NoteBrain 的主要功能包括:语义搜索(使用离线 all-MiniLM-L6-v2 ONNX 嵌入模型)、多查询搜索(提升复杂主题检索效果)、知识图谱遍历(通过反向链接、多跳连接和共享标签关系探索维基链接图)、隐藏连接发现(发现未显式链接但语义相关的笔记,支持可选的深度章节级分析)、图谱增强排序(结合语义相似性和图关系提升搜索相关性)、交互式终端 UI(模糊搜索界面及智能引导)等。此外,它还支持高级过滤(按章节、标签、代码块、任务等过滤)、完整笔记重构、结构化输出(JSON/TSV,内置 JSONPath 查询)、AI 智能体集成、终端超链接、编辑器集成和 Obsidian 感知索引(尊重 Obsidian 配置)。目前该工具仅支持 Markdown 文本,不支持 PDF 或图片 OCR。
技术实现上,NoteBrain 采用 Goldmark AST 感知分块(按标题层级分割,而非任意字符偏移),严格保留列表、GFM 表格、引用/标注和代码块;使用嵌入式 ChromaDB 在磁盘上存储向量;通过 SHA-256 内容哈希实现增量摄取,重复运行时仅需毫秒即可跳过未修改笔记。
安装需要 Go 1.26.4+、CGO 启用的工具链以及 Linux 环境(macOS 和 Windows 二进制文件未经测试)。用户可从 GitHub Releases 页面下载预构建二进制文件,或从源码编译。快速入门包括索引仓库、语义搜索、深度隐藏连接发现、获取结构化输出等步骤。工具还支持通过 cron 或 systemd 定时器自动索引。
配置方面,NoteBrain 从 ~/.notebrain/config/config.toml 读取 TOML 格式配置文件,CLI 标志可覆盖 TOML 值。关键设置包括仓库路径、名称、输出格式等。所有持久化数据存储在 ~/.notebrain/ 下。文档涵盖了安装、命令参考、架构、定时摄取和 AI 智能体使用等内容。项目采用 MIT 许可证,欢迎贡献。