思源笔记实战指南:从安装到脚本化,四步搭出长期可用的知识库
【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间,让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuan
思源笔记是一款开源、隐私优先、自托管的知识库:你写下的内容以纯文本文件保存在本地,靠块级编辑和双向链接把知识互相串起来。本文按“装好 → 编辑器上手 → 数据库视图 → 脚本化 → 上服务器”的顺序走一遍,读完你就知道下一步该点哪里。
一、安装与启动思源笔记:桌面端还是服务端
先回答一个问题:装在自己电脑上,还是跑在服务器上?两条路最终都落在同一个内核上——前端是 TypeScript,内核是 Go,数据目录结构在 docs/WORKSPACE.md 里有完整说明。
普通用户下载桌面客户端、打开工作区即可,不用往下看。需要自建、想改源码的开发者,用下面四行完成构建:
# 拉源码(要装好 Go 和 Node.js 环境) git clone https://gitcode.com/GitHub_Trending/si/siyuan cd siyuan/app && pnpm install && pnpm run build cd ../kernel && go build -tags fts5前两条命令产出前端资源,最后一条产出内核可执行文件。注意fts5标签要带上,否则全文搜索索引用不上。
避坑提示:工作区默认建在用户主目录下的SiYuan文件夹。别把工作区放桌面或移动盘——目录一旦挪动,storage里的索引会失效,需要全量重建。
二、第一次真正用起来:把“块”玩明白 🧩
打开任意文档,你会发现每个段落、每个标题、每个列表项都是独立的“块”。鼠标悬停在块左侧会出现拖拽把手,拖动即可换位或嵌套;行首输入/会弹出块菜单,在标题、清单、代码块之间来回切换。
图中展示的是块引用:输入关键词后从全库命中 213 个块,右侧反向链接面板会实时统计谁引用了当前块,这是知识网络自动生长的前提。
建议先做三件事:
- 按
Ctrl+/调出块菜单,把一段话转成标题或待办清单 - 编辑器里输入
((打开块引用,搜索并锚定某个段落 - 打开右侧“反向链接”面板,切到“图形视图”看链接网络
实战技巧:引用别乱建。只给“值得长期被引用”的内容——定义、结论、关键数据——建立引用,否则图谱会越来越糊。
三、一周后:把零散笔记沉淀成数据库视图 📊
当某类信息反复出现(书单、任务、实验记录),就该升级成数据库视图。新建文档,行首输入/database建表,点“+”补上作者、标签、日期等属性列;同一份数据可以同时挂表格、卡片、看板、日历四种视图,各取所需。
图中同一套书籍数据被表格视图和卡片视图同时消费,标签属性和条目数量直接可见,不用二次整理。
内核的查询能力也对外暴露,但 CLI 只放行只读语句:
# 查全库的 h2 标题块;只读校验拦着,删不了数据 siyuan sql "SELECT id, name FROM blocks WHERE type='h2'" -w ~/SiYuan避坑提示:属性视图替代不了分笔记本。单个笔记本的文档数控制在 1000 个以内,超了就把旧内容整体搬去“归档”笔记本。
四、再进一步:备份与导入导出脚本化 ⚙️
内核二进制名叫siyuan,用-w指定工作区,四个高频命令:
| 命令 | 什么时候用 |
|---|---|
siyuan search "关键词" -f json | 全文搜索,JSON 输出方便接后续处理 |
siyuan export md --id <块ID> -o out.md | 单文档导出为 Markdown |
siyuan import md --file notes/ --notebook <笔记本ID> | 批量导入一个目录的 Markdown |
siyuan export data -o backup.zip | 整个库的数据备份 |
配合一个保留 7 天的备份脚本:
#!/bin/bash siyuan export data -o /backup/siyuan-$(date +%F).zip -w ~/SiYuan find /backup -name 'siyuan-*.zip' -mtime +7 -delete实战技巧:批量导入前加--dry-run跑一遍,只打印将要发生什么、不真正写盘,路径写错也能反复验证。
五、上服务器跑:Docker 十分钟起私有实例 🐳
团队共用或手机上远程访问,容器化最省事:
services: siyuan: image: b3log/siyuan:latest ports: ["6806:6806"] volumes: ["./workspace:/siyuan/workspace"] environment: - SIYUAN_WORKSPACE_PATH=/siyuan/workspace - SIYUAN_ACCESS_AUTH_CODE=换成你自己的码 restart: unless-stopped起来后访问 6806 端口,输入验证码即可进入。镜像基于 alpine,默认CMD就是serve,仓库根目录的 Dockerfile 能确认构建细节。
避坑提示:SIYUAN_ACCESS_AUTH_CODE必须设置。不设的话,任何能访问到 6806 端口的人都能读写你的全部笔记;对外暴露时再套一层反向代理,把验证码藏在登录页之后。
下一步
- 装好客户端,在一份文档里建 3 个块引用,打开反向链接面板确认链路生效
- 挑一类重复记录(书单或任务)建数据库视图,录入 5 行真实数据
- 把一行
siyuan export data备份命令写进 crontab,今天就跑一次试试
【免费下载链接】siyuanAn open-source, privacy-first, self-hosted knowledge workspace where humans and AI agents work together 开源、隐私优先、自托管的知识工作空间,让人与智能体在此协作项目地址: https://gitcode.com/GitHub_Trending/si/siyuan
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考