群晖 NoteStation 批量迁移到思源笔记完整教程:从 nsx 导出到 Markdown 导入

一、背景

我有一台群晖NAS,在 NoteStation 中积累了大量笔记。近期希望将笔记迁移到思源笔记(SiYuan Note),利用 AI 辅助知识管理。

目前已知的开源方案是 Note-Station-to-markdown,可以将 NoteStation 的 nsx 导出文件转换为 Markdown 格式。但实测发现,思源笔记默认不支持目录导入,且转换后的图片附件路径需要重新整理。

本文记录完整的迁移解决方案,包含插件安装和附件目录结构整理。

二、导出 nsx 文件

登录群晖 DSM 的 Web 管理界面,打开 NoteStation 程序,直接导出为 nsx 文件。

注意事项: 必须通过 DSM Web 端进行导出。Windows 客户端导出功能存在缺陷,会导致部分笔记丢失。

三、环境准备:Python 安装

转换脚本依赖 Python 3.10,版本过高会导致兼容性问题。

下载地址:

https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe

安装时记得勾选 "Add Python 3.10 to PATH",不然命令行执行还得指定完整路径。

四、运行转换脚本

克隆或下载转换脚本:

复制代码
git clone https://github.com/Maboroshy/Note-Station-to-markdown.git

备用下载链接(Github 不可用时):转化脚本

解压后在当前目录打开终端,执行:

bash 复制代码
py .\nsx2md.py 20260710_235436_25265_obear.nsx

参数说明:

复制代码
- `py`:Python 可执行程序(PATH 已配置时的简写形式)
- `nsx2md.py`:转换脚本入口
- `20260710_235436_25265_obear.nsx`:从 NoteStation 导出的 nsx 文件

跑完之后,当前目录下会生成多个以笔记本名称命名的文件夹,以及一个 assets 目录。

将所有笔记本文件夹移动至同一临时目录,供后续步骤使用。

五、安装思源笔记导入插件

思源笔记默认仅支持导入 xx.zip 和 xxx.sy.zip 格式,不支持目录导入。

需要从集市(插件市场)安装 "导入工具" 插件:

打开插件详情页,点击左侧"安装"按钮进行安装。

安装完成后,在集市中启用该插件。

六、整理笔记与附件目录结构

思源笔记的工作空间结构如下:

复制代码
conf:工作空间配置
corrupted:损坏的数据文件
data:数据文件
history:文件历史
repo:数据仓库
temp:运行时临时文件
.lock:内核进程启动后锁定工作空间

笔记文件存储在 D:/SiYuan/data,assets 子目录存放图片和附件。

转换后的笔记中,图片路径为 assets/xxxxxxx.png。

尝试直接将 md 笔记和 assets 目录复制到 D:/SiYuan/data/assets 后,发现所有图片均无法显示。原因是思源笔记的图片引用路径需要与笔记文件保持相对关系。

解决方案:使用脚本工具整理目录结构,确保每个笔记的图片存放在该笔记同级的 assets 目录中。

我让 Hermes AI 助手帮忙处理目录整理,任务描述如下:

复制代码
任务:整理笔记
数据说明:
assets:图片和附件目录。其他同级目录为笔记文件夹。

任务要求:
1. 遍历每个笔记文件夹,按笔记名称建文件夹,把笔记移进去
2. 每个笔记里的图片 ![](assets/xxx.png),把图片拷到笔记所在目录的assets下

处理完之后,每个笔记目录下包含独立的 assets 子目录。

七、导入思源笔记

在思源笔记中新建一个笔记本,右键 → 导入 → Markdown 文件夹。

选择整理好的目录进行导入。导入完成后,笔记以文档-子文档的形式嵌套排列。

全部笔记导入成功,文本和图片均可正常显示。

八、总结

整个迁移流程分为五个步骤:

  1. 通过 DSM Web 端导出 nsx 文件
  2. 安装 Python 3.10 运行环境
  3. 执行转换脚本生成 Markdown 文件
  4. 安装思源笔记"导入工具"插件
  5. 整理附件目录结构并导入思源笔记

关键注意事项:

  • 导出必须使用 DSM Web 端,避免笔记丢失
  • Python 版本锁定 3.10,过高版本存在兼容问题
  • 图片附件目录需要单独整理,否则导入后无法显示
  • 思源笔记默认不支持目录导入,必须安装插件
相关推荐
水云桐程序员5 小时前
从零开发软件的步骤,软件开发从零到完成应该怎么做?
笔记·学习·软件构建·个人开发
David猪大卫5 小时前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
叼烟扛炮6 小时前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
叼烟扛炮12 小时前
Linux 学习笔记(五十八):IO 多路复用封神——epoll 底层原理揭秘
linux·运维·服务器·网络·笔记·学习·php
陈布衣14 小时前
MySQL(1)_MySQL 5.7.21 Linux 安装笔记
linux·笔记·mysql
缘来是你远去是我17 小时前
本地个人笔记exe
笔记
FakeOccupational18 小时前
【电路笔记 STM32】RTC配置:晶振选择+闹钟Configuration+中断设置
笔记·stm32·实时音视频
迪康coolmu18 小时前
企业U盘管控落地实战:基于迪康端点安全一体化管理系统的移动存储安全实践
运维·人工智能·经验分享·笔记·安全·电脑
Z21-X20 小时前
云原生运维学习笔记:容器技术的演进、底层原理与 Docker 全生命周期管理
运维·笔记·学习·云原生
Rabitebla1 天前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio