second-brain
本地优先的 AI 智能体微内核,让 AI 成为嵌入工作流的操作系统级运行时
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
本地优先的 AI 智能体微内核,让 AI 成为嵌入工作流的操作系统级运行时
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有遇到过这种情况:想找一个本地文件夹里的文档,但文件和聊天窗口之间隔了七八个应用来回切换;或者让 AI 帮你处理工作,它却只能对话、没法真正操控你的电脑——关个文件、写段代码、发条消息,都还得你亲自动手。
Second Brain 正在尝试解决这个根本矛盾:它不只是一个对话式 AI,而是一个能真正「长在你电脑里」的 AI 操作层。它用本地知识库连接你的文件,用插件体系连接你的工具,用状态机模型连接你的工作流——最终让 AI 不只是「说话」,而是真正「干活」。
Second Brain 由独立开发者 Henry Daum 创建(GitHub @henrydaum),项目启动的核心理念是:AI 不应该被困在一个浏览器标签页里,而应该像操作系统一样,成为用户和机器之间的中间层。
这种思路在 2023-2024 年的 AI Agent 浪潮中并不罕见,但 Second Brain 的独特之处在于它的架构哲学——微内核(Microkernel)设计。作者刻意把内核做得很小:小到只负责启动、运行智能体回合、将对话持久化到 SQLite,以及加载/卸载插件。其他一切——文件索引、网络搜索、定时任务、Telegram 集成、OCR、音频转写——都作为可选包从 Package Store 安装。
这个设计的好处是:用户可以从零开始,按需组装自己的能力栈,而不是被一个臃肿的默认安装绑架。同时,插件是热加载的——你在运行时写的工具,立刻就能用,不需要重启应用。
Second Brain 的对话层是其最值得深入了解的部分。作者用游戏的状态机模型(参考 Magic: The Gathering 的回合机制)来建模多轮对话:
参与者(Participants) 有各自的权限和身份;当前回合(Turn) 有优先级归属;动作(Actions) 在不同阶段(Phase)有合法性判定;表单和审批(Forms & Approvals) 可以暂停当前流程并恢复;阶段帧(Phase Frames) 可序列化,意味着中断的工作流可以从断点继续。
这种设计的精妙之处在于:前端(Frontend)不拥有对话逻辑。无论是 REPL 终端界面还是 Telegram 聊天界面,都只是把输入转换为运行时动作(Action),然后渲染结果。前端只负责「传输层」,核心逻辑统一在运行时层。这解释了为什么一个 Telegram 聊天机器人和一个本地终端可以共享完全相同的命令行为、审批流程和会话持久化。
代码结构上也体现了这种解耦:
state_machine/ — 纯函数式对话原语(参与者、回合、阶段、动作、表单)runtime/ — 会话管理、持久化、状态机调度、智能体回合执行agent/ — 动态系统提示词构建、工具注册表、LLM 工具调用驱动pipeline/ — 文件监视器、SQLite 任务队列、路径驱动和事件驱动任务编排plugins/ — 工具、任务、服务、命令、前端五大插件家族events/ — 发布/订阅总线,用于任务进度更新、通知和运行时信号Second Brain 的本地知识库功能覆盖了极为广泛的格式:
文本类支持 .txt/.md/.py/.js/.ts/.html/.css/.json/.yaml/.toml/.xml/.pdf/.docx/.pptx;图片类支持 .png/.jpg/.webp/.tiff/.heic 等;音频支持 .wav/.mp3/.flac/.ogg;视频支持 .mp4/.mkv/.avi;表格支持 .csv/.xlsx/.parquet/.sqlite。
完整的索引管道包括:文件监视→解析器分发→文本提取→OCR→语音转文字→分块→嵌入→全文索引,并且支持依赖失效(当源文件改变时下游索引自动更新)。
检索层面提供了 hybrid_search(混合检索)、lexical_search(关键词精确匹配)、semantic_search(语义嵌入检索)、sql_query(SQLite 直查)以及精确文件读取工具。
Second Brain 采用了 agentskills.io 兼容的技能规范,支持五大插件类型:
/packages、/schedule更值得关注的是:智能体可以在运行过程中自己编写新插件。它会读取模板、写一个工具、让插件监视器热加载、自动诊断测试——整个流程不需要用户介入。这在实践中意味着:Second Brain 不仅是一个工具,还是一个能自我扩展的智能体。
Second Brain 没有任何容器化配置(无 Dockerfile、docker-compose 或 Kubernetes manifest),需要直接基于 Python 源码运行。内核仅依赖 watchdog、croniter、psutil 等少量包,但完整的知识库和 AI 能力需要安装 store 包(bundle_starter 或 bundle_full)。
默认界面是本地 REPL 终端,没有浏览器 Web UI。通过 Telegram 可以获得移动端聊天体验。LLM 后端需要用户自行配置(推荐 LiteLLM,支持绝大多数主流模型)。整体部署难度中等,适合有 Python 基础的开发者。
Second Brain 目前仍处于活跃开发阶段,部分设计细节存在改进空间。状态机的序列化机制理论上支持跨进程恢复,但实际稳定性有待生产环境验证。插件运行在同一个进程内,恶意或有缺陷的插件可能影响整体稳定性。
对于普通用户而言,REPL 终端界面仍然是一个较高的使用门槛——没有图形界面、没有浏览器入口,一切操作都依赖命令行交互。这在很大程度上限制了它的受众范围。
Second Brain 代表了一种正在兴起的技术方向:把 AI 从云端 API 调用,转变为本地的、可编程的、深度嵌入用户工作流的智能层。它的微内核架构和 Package Store 设计,让「为 AI 添加一个工具」变成了一件自然的事情,而不是需要 fork 仓库改代码。
在开源社区中,它是少数几个真正尝试把「对话」和「操作系统」这两个概念融合在一起的项目之一。状态机驱动的对话模型在工业级应用中有较好的可测试性和可扩展性,这一架构选择使 Second Brain 具备了超越简单聊天机器人的工程深度。