siyuan
隐私优先的本地知识管理系统,支持块级双向链接、闪卡记忆与 AI 辅助写作,数据完全自主可控
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
隐私优先的本地知识管理系统,支持块级双向链接、闪卡记忆与 AI 辅助写作,数据完全自主可控
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你是一位产品经理,每天需要处理大量来自会议、文档、邮件的信息洪流——传统的笔记软件要么太简陋,要么数据必须上云。而思源笔记告诉你:你的数据永远属于你自己,即使离线也能用,且支持双向链接和 AI 辅助。
思源笔记由 B3log 开源社区(GitHub: @88250)开发,背后公司为广西链社科技有限公司。项目最早于 2020 年发布至今已迭代 5 年有余,目前 GitHub 星标数超过 4.4 万,是笔记类开源项目中增长最快的选手之一。
它的诞生动机直指一个核心痛点:Notion、Obsidian、印象笔记等主流笔记工具,要么要求数据上云,要么免费版限制严重,要么缺乏隐私保障。思源定位为完全本地化、数据自持的替代方案,所有数据存储在用户本地,支持 S3/WebDAV 等多种同步方式,且核心功能全部免费。
思源采用了前后端分离的双进程架构,这一点在笔记工具中非常少见。
前端(app/):基于 Electron + TypeScript 构建,运行在 Chromium 渲染进程内,负责所有 UI 交互。采用 Webpack 打包,配合 Electron-Builder 支持 Windows、macOS、Linux 的桌面客户端构建。移动端则基于 WebView 方案提供 Android/iOS App。
后端(kernel/):使用 Go 语言编写(1.25 版本),负责数据存储、全文检索、API 服务和业务逻辑。通过 CGO 调用 SQLite 的 FTS5 扩展实现高性能全文搜索,数据完全以 SQLite 数据库文件形式保存在本地文件系统 data/ 目录下。
编辑器引擎 lute(独立项目):思源使用了自主研发的 Markdown 解析/渲染引擎 Lute,解决了 Markdown 与块级编辑兼容的难题——这是许多同类工具的核心技术难点。
这种架构的优势在于:前端专注交互体验,后端专注数据安全,通过本地 IPC 通信,不需要网络也能工作。同时 kernel 作为独立进程,可以通过 API 暴露服务给其他应用调用,实现了很好的扩展性。
思源的功能体系可以划分为四大层次:
思源最基本的单元是「块」(Block),每一个段落、列表项、代码块都是一个独立可引用的块。每个块都有唯一 ID,支持块级引用(((blockid)))和双向链接——这意味着当你引用一段内容时,系统能自动追踪哪些地方引用了它,实现了类似 Roam Research 的网络化知识管理。
同时支持自定义属性(类似 Notion 的 Property),可以对块/文档添加任意键值对,配合 SQL 查询嵌入可以实现自定义数据视图。
思源的「数据库」功能借鉴了 Notion 的表格视图,每一列可以指定类型(文本、数字、日期、选项、关联等),本质上是对块属性的结构化展示。这使得思源不仅能做笔记,还能承担轻量级 CRM、项目管理的角色。
内置**间隔重复闪卡(Spaced Repetition)**功能,基于 SM-2 算法,自动生成复习计划。这对于学习语言、背诵概念等场景非常有价值——不需要切换到 Anki,应用内即可完成记忆训练。
支持接入 OpenAI API(以及兼容接口如 Claude、DeepSeek 等),提供** AI 写作辅助和问答聊天**。配合块引用功能,可以用 AI 分析笔记库中的相关内容。
同时开放了完整的 API 接口,支持通过 HTTP 调用内核的几乎所有功能,可以通过脚本实现自动化工作流。
图1:思源笔记整体架构,前端 Electron 与后端 Go Kernel 通过本地通信协作
官方提供了完整的多阶段构建 Dockerfile,分层构建 Node.js 前端资源和 Go 后端,最终打包为单容器镜像(~200MB)。部署仅需三步:
docker pull b3log/siyuan
docker run ...
容器暴露 6806 端口,提供完整的 Web API 服务。你可以在浏览器中直接访问内核服务,也可以额外部署前端客户端连接本地内核。
不需要 GPU,常规 x86 服务器即可运行。内存需求 4GB+,磁盘 2GB+,适合各种私有化部署场景。
除了 Docker,还支持通过包管理器(Homebrew、Scoop 等)和传统安装包部署,甚至有 Unraid、TrueNAS、1Panel 等平台的官方集成指南,覆盖了从极客到普通用户的全场景。
图2:思源笔记主界面——块级双向链接与大纲视图
桌面客户端适合日常笔记用户,开箱即用,完全图形化,学习曲线平缓。Docker 版面向开发者/自托管用户,需要一定命令行基础,但一旦跑起来就能通过 API 打造完全自定义的工作流。
思源内置了完整的帮助文档和指南(guide/ 目录),对于初次接触块级笔记的用户,有详细的引导流程。
思源笔记代表了**「Local-First Software」**理念在中国开源社区的实践。它证明了:完全本地存储 + 开放 API + 可扩展插件生态,可以在一个产品中同时实现隐私安全和功能丰富性。
在 Notion 涨价、AI 工具数据隐私争议不断的背景下,思源用 4.4 万星标证明了数据自主可控的需求真实存在且持续增长。它与 Obsidian、Logseq 共同构成了本地优先笔记的开源三角,是这一赛道的国产标杆项目。