AI摘要:SiYuan是一款开源个人知识管理软件,支持Markdown编辑、多平台同步、本地数据存储,具备双向链接、文档图谱等强大功能,帮助用户高效整理和管理知识。
Powered by AISummary.
在信息爆炸的时代,如何高效地记录、整理和管理知识,成为每个人都在关注的课题。SiYuan 是一款功能强大、完全开源的本地笔记和知识管理工具,帮助你在轻松记录的同时构建个人知识网络,实现深度的内容关联和高效的笔记管理。无论你是学生、研究人员,还是内容创作者,SiYuan 都能帮助你将知识系统化、可视化,让一切变得井井有条。
💡项目简介
SiYuan 是一款专为知识工作者设计的开源笔记管理工具。由国内的开发团队精心打造,SiYuan 基于 Markdown 编辑器,并支持多平台同步和本地数据存储,保护用户的隐私安全。作为一款面向个人和团队的知识管理工具,SiYuan 集成了双向链接、文档图谱、标签系统等多种现代知识管理方法,方便用户搭建个人知识库并从中受益。
与市面上其他笔记工具不同,SiYuan 以用户需求为核心,不断优化交互体验和功能,让用户能够更自然地整理和回顾知识,支持离线使用并对数据进行本地存储。
🔮特点与优势
SiYuan 的强大不仅体现在其功能上,更在于它对用户需求的深刻理解,以下是其核心优势:
- 完全开源:SiYuan 完全开源,代码托管在 GitHub 上,用户可以自由访问、下载和扩展功能,也可以参与项目开发,推动工具的不断完善。
- 本地化存储,数据安全:所有笔记内容都保存在用户本地,避免隐私数据外泄,特别适合对数据隐私敏感的用户。
- 双向链接与文档图谱:SiYuan 支持双向链接,用户可以通过图谱视图查看笔记间的关联,帮助用户构建知识网络,方便回顾和延伸思考。
- Markdown 支持:SiYuan 使用 Markdown 作为核心编辑语言,让用户在记录内容时更加专注,简化了排版步骤。
- 多平台兼容:支持 Windows、macOS、Linux 等多个平台,确保用户可以随时随地访问和编辑自己的笔记。
- 自定义与扩展:提供了插件和主题支持,用户可以根据自己的喜好和需求,自定义界面和功能,打造属于自己的知识管理工具。
大部分功能是免费的,即使是在商业环境下使用。
内容块
- 块级引用和双向链接
- 自定义属性
- SQL 查询嵌入
- 协议
siyuan://
编辑器
- Block 风格
- Markdown 所见即所得
- 列表大纲
- 块缩放聚焦
- 百万字大文档编辑
- 数学公式、图表、流程图、甘特图、时序图、五线谱等
- 网页剪藏
- PDF 标注双链
导出
- 块引用和嵌入块
- 带 assets 文件夹的标准 Markdown
- PDF、Word 和 HTML
- 复制到微信公众号、知乎和语雀
数据库
- 表格视图
- 闪卡间隔重复
- 接入 OpenAI 接口支持人工智能写作和问答聊天
- Tesseract OCR
- 模板片段
- JavaScript/CSS 代码片段
- Android/iOS App
- Docker 部署
- API
- 社区集市
部分功能需要付费会员才能使用,更多细节请参考定价。
🏗️效果预览
🚀下载安装
访问 SiYuan 的GitHub页面或官方网站,下载适合自己操作系统的安装包,支持 Windows、macOS 和 Linux 系统。
桌面端和移动端建议优先考虑通过应用市场安装,这样以后升级版本时可以一键更新。
🟢应用市场
移动端:
桌面端:
🟡安装包
🟠Docker 部署
Docker 部署文档
概述
在服务器上伺服思源最简单的方案是通过 Docker 部署。
- 镜像名称
b3log/siyuan
- 镜像地址
文件结构
整体程序位于 /opt/siyuan/
下,基本上就是 Electron 安装包 resources 文件夹下的结构:
- appearance:图标、主题、多语言
- guide:帮助文档
- stage:界面和静态资源
- kernel:内核程序
启动入口
入口点在构建 Docker 镜像时设置:ENTRYPOINT ["/opt/siyuan/entrypoint.sh"]
。该脚本允许更改将在容器内运行的用户的 PUID
和 PGID
。这对于解决从主机挂载目录时的权限问题尤为重要。PUID
和 PGID
可以作为环境变量传递,这样在访问主机挂载的目录时就能更容易地确保正确的权限。
使用 docker run b3log/siyuan
运行容器时,请带入以下参数:
--workspace
:指定工作空间文件夹路径,在宿主机上通过-v
挂载到容器中--accessAuthCode
:指定访问授权码
更多的参数可参考 --help
。下面是一条启动命令示例:
docker run -d \
-v workspace_dir_host:workspace_dir_container \
-p 6806:6806 \
-e PUID=1001 -e PGID=1002 \
b3log/siyuan \
--workspace=workspace_dir_container \
--accessAuthCode=xxx
PUID
: 自定义用户 ID(可选,如果未提供,默认为1000
)PGID
: 自定义组 ID(可选,如果未提供,默认为1000
)workspace_dir_host
:宿主机上的工作空间文件夹路径workspace_dir_container
:容器内工作空间文件夹路径,和后面--workspace
指定成一样的accessAuthCode
:访问授权码,请务必修改,否则任何人都可以读写你的数据
为了简化,建议将 workspace 文件夹路径在宿主机和容器上配置为一致的,比如将 workspace_dir_host
和 workspace_dir_container
都配置为 /siyuan/workspace
,对应的启动命令示例:
docker run -d \
-v /siyuan/workspace:/siyuan/workspace \
-p 6806:6806 \
-e PUID=1001 -e PGID=1002 \
b3log/siyuan \
--workspace=/siyuan/workspace/ \
--accessAuthCode=xxx
Docker Compose
对于使用 Docker Compose 运行思源的用户,可以通过环境变量 PUID
和 PGID
来自定义用户和组的 ID。下面是一个 Docker Compose 配置示例:
version: "3.9"
services:
main:
image: b3log/siyuan
command: ['--workspace=/siyuan/workspace/', '--accessAuthCode=${AuthCode}']
ports:
- 6806:6806
volumes:
- /siyuan/workspace:/siyuan/workspace
restart: unless-stopped
environment:
# A list of time zone identifiers can be found at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
- TZ=${YOUR_TIME_ZONE}
- PUID=${YOUR_USER_PUID} # 自定义用户 ID
- PGID=${YOUR_USER_PGID} # 自定义组 ID
在此设置中:
- PUID “和 ”PGID "是动态设置并传递给容器的
- 如果没有提供这些变量,将使用默认的
1000
在环境中指定 PUID
和 PGID
后,就无需在组成文件中明确设置 user
指令(user: '1000:1000'
)。容器将在启动时根据这些环境变量动态调整用户和组。
用户权限
在图片中,“entrypoint.sh ”脚本确保以指定的 “PUID ”和 “PGID ”创建 “siyuan ”用户和组。因此,当主机创建工作区文件夹时,请注意设置文件夹的用户和组所有权,使其与计划使用的 PUID
和 PGID
匹配。例如
chown -R 1001:1002 /siyuan/workspace
如果使用自定义的 PUID
和 PGID
值,入口点脚本将确保在容器内创建正确的用户和组,并相应调整挂载卷的所有权。无需在 docker run
或 docker-compose
中手动传递 -u
,因为环境变量会处理自定义。
隐藏端口
使用 NGINX 反向代理可以隐藏 6806 端口,请注意:
- 配置 WebSocket 反代
/ws
注意
- 请务必确认挂载卷的正确性,否则容器删除后数据会丢失
- 不要使用 URL 重写进行重定向,否则鉴权可能会有问题,建议配置反向代理
限制
- 不支持桌面端和移动端应用连接,仅支持在浏览器上使用
- 不支持导出 PDF、HTML 和 Word 格式
- 不支持导入 Markdown 文件
🟢Unraid 部署
Unraid 部署文档
注意:首先终端运行 chown -R 1000:1000 /mnt/user/appdata/siyuan
模板参考:
Web UI: 6806
Container Port: 6806
Container Path: /home/siyuan
Host path: /mnt/user/appdata/siyuan
PUID: 1000
PGID: 1000
Publish parameters: --accessAuthCode=******(访问授权码)
🟡内部预览版
官方会在有重大更新前发布内部预览版,请访问 https://github.com/siyuan-note/insider。
🏘️ 社区
🛠️ 开发指南
见:开发指南。
❓ 常见问题和解答
思源是如何存储数据的?
数据保存在工作空间文件夹下,在工作空间 data 文件夹下:
assets
用于保存所有插入的资源文件emojis
用于保存自定义图标表情图片snippets
用于保存代码片段storage
用于保存查询条件、布局和闪卡数据等templates
用于保存模板片段widgets
用于保存挂件plugins
用于保存插件public
用于保存公开的数据- 其余文件夹就是用户自己创建的笔记本文件夹,笔记本文件夹下
.sy
后缀的文件用于保存文档数据,数据格式为 JSON
支持通过第三方同步盘进行数据同步吗?
不支持通过第三方同步盘进行数据同步,否则可能会导致数据损坏。
虽然不支持第三方同步盘,但是支持对接第三方云端存储(会员特权)。
另外,也可以考虑手动导出导入 Data 实现数据同步:
- 桌面端:设置 - 导出 - 导出 Data / 导入 Data
- 移动端:右侧栏 - 关于 - 导出 Data / 导入 Data
结束语
SiYuan 是一款极具特色的笔记管理工具,凭借其开源特性、本地存储、安全性和强大的知识管理功能,深受用户喜爱。无论你是希望构建个人知识网络,还是需要一个简洁高效的笔记工具,SiYuan 都能成为你的得力助手。立即下载并体验 SiYuan,让这款强大的工具为你打造一个高效、系统化的知识管理体系,助力你的学习和创作之旅!