ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

从Notion到Obsidian:本地优先的Markdown笔记迁移实战

从Notion到Obsidian:本地优先的Markdown笔记迁移实战 如果你正在使用 Notion 做个人知识库可能也遇到过类似的场景写着写着突然白屏等待点开一个页面要转圈好几秒手机端和电脑端的同步状态莫名其妙对不上。时间一长这种卡顿和失控感会让人重新思考一个问题——笔记工具的第一优先级到底是什么我过去一年多时间的主力笔记工具是 Notion表格、文档、数据库、知识库全都放在里面。后来因为数据、效率、扩展性三方面的问题我决定把主力笔记迁移到 Obsidian。这篇文章不打算全盘否定 Notion也不打算把 Obsidian 吹成万能工具而是从数据归属、启动性能、插件生态三个角度讲清楚为什么我切换之后没有回头的打算同时把迁移过程中的操作步骤、实用脚本和踩坑点都整理出来方便同样想动手切换的读者直接参考。1. Notion 与 Obsidian 到底差在哪1.1 两个工具的底层逻辑先说基础概念。Notion 是一款云端优先的生产力工具核心单位是 Block块。你在 Notion 里输入一段文字、一行表格、一个按钮本质上都是在操作界面上的 Block。这些 Block 被保存在 Notion 的云端服务器中由浏览器或客户端渲染出来。Notion 的优势是页面结构灵活数据库、看板、时间线、日历视图都能揉在一个页面里非常适合团队协作和项目过程管理。Obsidian 则走了完全相反的方向。它是一个本地优先、基于 Markdown 纯文本文件的笔记应用。你在 Obsidian 里创建的每一个笔记本质上都是一个.md文件。笔记之间的双向链接构建出一张可以无限叠加的知识网络。Obsidian 的核心能力不在云端而在文件系统本身只要你本地磁盘上有这堆文件不管软件还存不存在数据都不会丢。所以两者最根本的差异不是“谁更好看”而是Notion 是云端 SaaS 产品数据存在别人服务器上界面是产品的一部分Markdown 只是编辑方式之一。Obsidian 是本地文件管理工具数据是普通文本文件界面是产品的辅助层Markdown 是数据本来面目。这两种设计思路决定了后面我在性能、数据所有权、可扩展性上的所有体感差异。1.2 你需要先明确自己的使用场景在切换之前我很建议先做一个判断你的笔记内容是偏“项目协作”还是偏“个人知识沉淀”如果你的笔记里大量涉及团队成员协作、共享看板、任务分派那 Notion 的设计确实更合适。Notion 的权限管理、评论、多人实时编辑在团队场景下比 Obsidian 省心得多因为 Obsidian 默认就不提供多人协作能力。如果你做的是个人知识管理、技术笔记、读书笔记、日常写作草稿或者你希望笔记能长期积累、能跨软件访问、能自由备份那么 Obsidian 的本地优先形态会更踏实。尤其对程序员来说Markdown 文件本身就是一种“生产力格式”可以和 Git、CI/CD、脚本、知识图谱无缝衔接。我并不认为 Obsidian 能完全替代 Notion它只是更适合个人知识管理这条路线。这也是这篇文章的前提讨论范围是个人笔记场景不是团队协作场景。2. 从 Notion 到 Obsidian 的体验变化2.1 安装与启动速度差异很多用户反馈“为什么 Notion 打开很卡”这个现象在不同网络环境下非常普遍。Notion 的客户端虽然也有桌面版本但本质上仍然是一个 Shell 包住 Web 页面大量逻辑在云端完成。启动时需要拉取最新工作区数据渲染页面时也要不断请求接口。网络一旦波动体验会立刻下滑。Obsidian 是本地应用启动时只需要加载本地文件索引和插件所以大多数情况下打开都是秒开。我自己的笔记本上Obsidian 启动时间大概在 1 秒以内Notion 则取决于网络状态快的时候两三秒慢的时候能转圈十秒以上。这个差距在频繁记录灵感时会非常明显。还有一点Obsidian 在断网状态下可以完整使用。地铁、高铁、飞机上只要本地文件还在该写写、该查查。我在离线状态下记过好几篇文章草稿完全无压力。而 Notion 一旦离线很多页面只能只读编辑能力大打折扣。2.2 数据体感从云端优先到本地优先从 Notion 切到 Obsidian最直接的变化是“数据在哪”这个问题的答案变了。Notion 里的页面、数据库、附件默认都保存在云端。你看到的每一行文字都需要通过 API 传输到客户端渲染。这也是 Notion 打开卡顿的一个重要原因页面越复杂接口返回的数据量越大渲染成本越高。Obsidian 则是纯本地文件读取。一篇笔记就是一个文本文件内容轻量、读取快没有服务器往返的延迟。在这个前提下Obsidian 能做到非常低的资源占用同时也给了你完全离线编辑的能力。2.3 两种工具的官方同步能力对比这是一个容易踩坑的点。很多人以为 Obsidian 和 Notion 一样登录账号后所有设备自动同步。其实不然Notion 自带云端同步能力多端登录同一账号数据自动保持一致省心但数据托管在第三方。Obsidian 官方也提供 Obsidian Sync 付费同步服务但默认情况下它不会自动云同步。它把同步方式交给你自己选择iCloud、坚果云、Syncthing、Git、NAS、移动硬盘随便用哪一种都行。从体验上来讲Notion 的同步更省事开箱即用从可控性上来讲Obsidian 的同步更自由你可以选择数据放在哪里、怎么放、保留几个版本。后续我会专门用一节来介绍 Obsidian 的同步与备份方案。3. 理由一数据归属与文件格式的可控性3.1 Notion 的数据导出其实没那么“无缝”Notion 支持导出数据导出格式包括 HTML、PDF、Markdown 和 CSV。但实际体验过的人都知道Notion 的导出并不是一份干净整齐的 Markdown 文件包。导出的内容可能包含大量 HTML 片段、嵌套的附件链接、丢失的嵌入式内容甚至页面之间的层级关系也会变化。把所有内容重新整理到另一个系统往往需要花费大量时间。从长期知识积累的角度讲这就是一种隐性的“数据锁定”。你在 Notion 里维护得越久页面结构越复杂未来迁移的沉没成本就越高。以前我总安慰自己“数据存在云端没什么问题”直到有一次想批量整理某个项目笔记发现导出后还需要人肉处理大量格式问题才意识到数据归属权比工具本身重要得多。3.2 Markdown 是一种更长久的数据格式Obsidian 的数据是纯 Markdown 文件这意味着你不需要 Obsidian 也能读取、编辑、迁移自己的笔记。VS Code、Typora、文本编辑器、GitHub 都能直接打开.md文件。如果某一天 Obsidian 不再更新了或者你想换别的笔记工具数据迁移几乎零成本因为 Markdown 是通用格式。更进一步Markdown 文件可以轻松放进 Git 仓库做版本管理。每一次修改、每一次删除都能追踪到历史记录。对于写技术文档、维护个人知识库来说这种版本回溯能力非常宝贵。下面是一个典型的 Obsidian 笔记库的目录结构你可以直观体会到“文件夹 文本文件”的简单性my-vault/ ├── 00-Inbox/ # 收集箱临时记录 ├── 01-Projects/ # 项目笔记 ├── 02-Area/ # 领域笔记 ├── 03-Resources/ # 资料库 │ └── 前端笔记.md ├── 04-Archive/ # 归档 ├── 99-Templates/ # 模板 └── .obsidian/ # Obsidian 配置文件.obsidian目录存放主题、快捷键、插件设置等配置。这些文件也是文本格式可以纳入 Git 管理。换新电脑时只要把整个库复制过去就能无缝恢复原来的编辑环境。3.3 图片与附件也能做到本地可控“Obsidian 存图片是不是很麻烦”这是很多人第一次接触 Obsidian 时经常问的问题。实际上这个问题很简单图片本身就是文件你把图片放到笔记库的任意目录里然后在 Markdown 中用相对路径引用即可。默认情况下Obsidian 支持将粘贴的图片自动保存到附件目录。你可以在“设置 - 文件与链接 - 附件默认存放路径”中指定统一的附件文件夹。比如我习惯把所有图片放到attachments/bin文件夹下这样笔记文件、图片文件结构清晰迁移备份都非常方便。Notion 的图片通常存在云端 CDN导出时有时候会得到一连串外部链接。如果你的笔记需要长期稳定保存外部链接是有失效风险的。而 Obsidian 的图片就是本地文件库在手图就在手不存在“链接突然挂掉”的问题。3.4 数据可控性带来的安全感我个人认为笔记工具面临的最大风险不是“软件不好用”而是“数据拿不出来”或“工具停运后一堆内容变成孤儿”。Obsidian 通过本地文件解决了这个核心焦虑。当然本地文件也意味着你需要自己负责备份。如果电脑硬盘损坏你辛辛苦苦积累的笔记可能全军覆没。所以切换到 Obsidian 后备份不应该是一个可选项而是一个必须项。第 7 节我会专门介绍同步和备份的工程化方案。4. 理由二启动速度与离线写笔记的流畅感4.1 Notion 为什么打开很卡“为什么 Notion 打开很卡”是一个非常常见的搜索问题。结合过往体验主要涉及这几个原因网络请求过多。Notion 的每次页面加载都要向服务器请求数据页面结构越复杂、数据库查询越多等待时间越长。客户端本质是 WebView。桌面端、移动端虽然包装成原生应用但渲染逻辑仍然依赖浏览器内核资源消耗偏高。页面规模膨胀。把个人知识库当成数据库用页面里塞几百个 Block、大量内嵌视图之后渲染压力会明显上升。服务端延迟。即使你的本地网络很好Notion 服务器如果响应慢客户端也只能一直等待。这些问题不是简单换个网络就能彻底解决的因为它们根植于“云端优先”的架构设计。4.2 本地优先的处理模式Obsidian 的底层查询和渲染都在本地完成。Markdown 文件本身只有几 KB 到几十 KB打开一个笔记的 CPU 开销远远小于打开一个包含复杂数据库的 Notion 页面。即使你的笔记库包含上千个 Markdown 文件Obsidian 也能通过索引快速搜索和跳转。从写作体验看本地优先还有两个额外好处键盘响应非常跟手输入延迟明显低于 Web 应用。快速截图、快速粘贴、快速打开其他笔记全程没有等待同步的过程。我个人写技术博文时很多初稿都是在 Obsidian 里完成的。长文档写作时流畅度甚至比一些在线文档工具更接近本地文本编辑器。4.3 离线能力是很容易被忽视的刚需如果你只是在办公室里用笔记工具离线能力可能不重要。但如果你有出差、通勤、临时参加技术分享、或者身处信号不好的环境离线编辑就是刚需。Obsidian 的离线能力是天然存在的因为文件就在本机。而 Notion 的离线模式虽然有所改进但整体体验和本地应用仍有差距。对追求稳定产出的创作者来说这种“随时能写”的确定感非常宝贵。5. 理由三插件生态与知识体系的自由度5.1 从“软件定义功能”到“插件定义功能”Notion 的功能边界基本由官方定义。你觉得一个页面该有什么视图、能做什么操作取决于 Notion 提供了哪些功能。官方没提供的你就只能等更新或者绕路实现。Obsidian 走的是另一个路线核心功能只做笔记、双链、图谱、搜索等最基础的模块剩余能力全部交给插件生态。社区里已经有上千款插件从数据库查询、模板引擎、表格增强、录音转文字、Zotero 文献联动到 AI 写作辅助都有对应的实现。这意味着 Obsidian 能随着你的需求增长而成长。你不需要一开始就把所有功能配齐而是遇到某个需求时再去插件市场搜索解决方案。整个系统的复杂度由你自己掌控不会因为某个不需要的功能拖累整体性能。5.2 几个让笔记“活”起来的核心插件下面是我目前使用频率较高的 Obsidian 插件先列出来供参考插件名称作用典型场景Dataview把 Markdown 笔记当作数据库查询按标签、字段自动生成任务列表、笔记索引Templater模板引擎支持自定义变量与脚本创建笔记时自动生成 frontmatter 和目录结构Excalidraw手绘风画图绘制架构图、流程图、思维导图Obsidian Git自动备份到 Git 仓库定时 commit全库历史版本留存Zotero Integration与 Zotero 文献管理联动学术笔记引用文献、生成参考条目Obsidian Web Clipper 插件浏览器网页剪藏把网页内容快速保存为 Markdown 笔记Obsidian 默认自带部分核心插件比如大纲、关系图谱、标签列表、快速切换、反向链接等。这些核心插件不建议全部关闭尤其是“关系图谱”和“反向链接”它们决定了 Obsidian 的网状知识管理能力。5.3 示例用 Dataview 模拟 Notion 数据库效果很多人舍不得 Notion是因为它的数据库视图很好用。其实 Obsidian 借助 Dataview 插件也能实现类似的动态查询能力。假设你的笔记库中有一个01-Projects文件夹每篇项目笔记的 YAML frontmatter 都包含status和due字段那么你可以在任意笔记中写这样一段 Dataview 查询TABLE file.ctime as 创建时间, status as 状态, due as 截止日期 FROM 01-Projects WHERE status 进行中 SORT due ASC刷新页面后Obsidian 会动态列出所有状态为“进行中”的项目笔记并按截止日期排序。这种查询方式虽然不如 Notion 可视化拖拽那么直观但对个人笔记来说足够灵活而且不依赖任何在线服务。5.4 插件生态的风险控制插件虽好但也不能盲目安装。有些社区插件长期不更新可能在 Obsidian 升级后失效有些插件之间还会互相冲突。我的建议是遵循“最小必要原则”只安装自己真正用得到的插件。新插件先在测试库中试用不要直接引入主力笔记库。留意插件说明中的版本兼容性要求。定期清理不再使用的插件。Obsidian 的插件只是你给 Markdown 文件增加的一层能力。就算所有插件都失效文件本身依然完好这也是本地优先架构的底气所在。6. 完整迁移实战从 Notion 到 Obsidian6.1 从 Notion 导出数据如果你决定从 Notion 迁移到 Obsidian第一步是在 Notion 中导出数据。操作路径是进入作为根页面的目标页面。点击右上角菜单在更多选项里找到“导出”。导出格式选择 Markdown / CSV。等待 Notion 打包导出。Notion 会生成一个 ZIP 文件里面包含多个 Markdown 文件和附件文件。值得注意的是Notion 导出的 Markdown 结构通常比较复杂包含很多 HTML 块尤其是页面嵌套、Callout、toggle 列表等这些内容不一定能 100% 还原成 Obsidian 的原生语法。如果内容量不大你可以手动整理如果内容量很大建议用脚本做一次批量清洗。6.2 简单迁移脚本思路下面给一个简单的 Python 脚本思路帮助你快速把导出的 CSV 文件转换成带 YAML frontmatter 的 Markdown 文件。注意真实迁移时需要根据 Notion 导出的具体格式调整字段名和内容清洗逻辑这里只演示核心思路。# 文件路径notion_to_obsidian.py import csv import os from pathlib import Path # 假设 CSV 列名title,created_time,tags,content INPUT_CSV notion_data.csv OUTPUT_DIR my-vault/01-Projects def clean_content(text: str) - str: 简单清洗内容 - 去掉 Notion 导出常见的 HTML 标签 - 将连续空行压缩为单空行 import re text re.sub(r[^], , text) text re.sub(r\n{3,}, \n\n, text) return text.strip() def main(): Path(OUTPUT_DIR).mkdir(parentsTrue, exist_okTrue) with open(INPUT_CSV, encodingutf-8-sig) as f: reader csv.DictReader(f) for row in reader: title row.get(title, 未命名笔记).strip() tags row.get(tags, ) content clean_content(row.get(content, )) # 将标签按逗号拆分生成 YAML 数组 tag_list [t.strip() for t in tags.split(,) if t.strip()] # 组装 Markdown 内容 frontmatter ---\n frontmatter ftitle: {title}\n frontmatter ftags: {tag_list}\n frontmatter created: 2024-01-01\n frontmatter status: 进行中\n frontmatter ---\n\n # Windows 文件名不能包含非法字符简单替换 safe_title title.replace(/, -).replace(\\, -)[:100] file_path Path(OUTPUT_DIR) / f{safe_title}.md with open(file_path, w, encodingutf-8) as out: out.write(frontmatter content \n) print(f已生成: {file_path}) if __name__ __main__: main()运行前请确认已经安装 Python 环境并且将notion_data.csv放在脚本同级目录。运行命令如下python notion_to_obsidian.py运行完成后生成的 Markdown 文件可以直接拖入 Obsidian 笔记库。6.3 配置 Obsidian 基础目录与说明导入 Obsidian 的方式很简单你既可以新建空库然后把文件复制进去也可以在 Obsidian 中直接点击“打开本地仓库”选择刚才生成的my-vault目录。打开之后建议先做三件事设置附件默认存放路径避免图片散落各处。关闭不需要的核心插件减少干扰。安装并启用 Templater 和 Dataview方便后续建立模板和动态查询。这样你的 Obsidian 就从“一个文件夹”升级为“一个可维护的知识库”了。7. 同步与备份多设备使用的完整方案7.1 为什么 Obsidian 默认不自动同步前面提到过Obsidian 的默认形态是本地文件没有自动云同步。这一点对很多人来说是最大的心理门槛。但反过来说把同步方案交给用户也意味着你可以选择不同的同步策略。同步的核心问题只有一个如何让多个设备上的文件夹保持内容一致同时保留历史版本。7.2 常见同步方案对比根据使用习惯和数据规模可以选择不同的同步组合方案优点缺点适合场景iCloud / 坚果云配置简单自动同步同步冲突偶尔发生不适合超大附件单人多设备、轻量笔记Syncthing点对点同步免费、隐私好需要一定网络配置能力多设备、需要实时同步Git GitHub/Gitee版本管理最完整可回溯需要手动 / 定时提交移动端体验一般程序员、技术笔记为主NAS 同步数据完全自控容量大需要一台长期运行的 NAS数据量大的本地资料库Obsidian Sync 官方付费同步官方支持端到端加密冲突处理较好付费不愿意折腾、希望开箱即用7.3 一个 Git 自动备份脚本示例我自己的方案是 Git 私有仓库 NAS 双备份。Git 负责版本管理NAS 负责冷备份。下面是一个简单的 Linux / macOS 定时同步脚本Windows 用户可以使用计划任务调用 Git Bash 执行#!/bin/bash # 文件路径backup_vault.sh VAULT_PATH$HOME/Documents/my-vault REPO_PATH$HOME/backup/my-vault-backup cd $VAULT_PATH || exit 1 # 如果仓库不存在则首次克隆或复制 if [ ! -d $REPO_PATH/.git ]; then git clone gitgitee.com:yourname/my-vault.git $REPO_PATH fi # 同步文件到仓库目录 rsync -a --delete $VAULT_PATH/ $REPO_PATH/ cd $REPO_PATH || exit 1 git add -A git commit -m backup: $(date %Y-%m-%d %H:%M:%S) git push origin main echo 备份完成$(date %Y-%m-%d %H:%M:%S)脚本思路很简单先把笔记库同步到仓库目录再提交到 Git 远程仓库。建议每天通过 cron 任务执行一次crontab -e # 每天凌晨 2 点执行备份 0 2 * * * /bin/bash $HOME/backup_vault.sh $HOME/backup_vault.log 217.4 关于隐私与安全的重要提醒使用 Git 同步笔记库时要注意隐私问题。如果笔记中包含密钥、密码、身份信息不要推到公共仓库也不要推到公司内网以外的仓库。最好使用私有仓库或者在同步前做加密处理。对于敏感笔记更稳妥的做法是本地加密后同步或者直接在本地保存只在 NAS 做冷备份。Obsidian 本身没有很强的加密能力它把数据安全的责任交还给了用户。8. 常见问题与排查思路8.1 高频问题排查表下面整理一些 Obsidian 使用过程中的高频问题和解决思路方便在迁移时提前参考。问题现象常见原因解决思路Obsidian 下载太慢官方下载节点网络不稳定尝试国内镜像站点、GitHub Releases 加速入口或错峰下载图片无法显示图片路径配置错误检查附件存放路径确保图片在笔记库内统一使用相对路径编辑器无法看到源码和渲染结果默认模式是阅读/实时预览使用“实时预览”模式或安装 split 视图相关插件代码折叠失效未开启语法折叠设置中开启“折叠代码块”检查当前主题是否支持折叠插件安装后无效插件版本与 Obsidian 版本不兼容更新 Obsidian 主程序或回退插件到稳定版本笔记库太大导致搜索卡顿库中包含大量非笔记文件在设置中排除大型附件文件夹或拆分为多个笔记库录音转文字插件无法使用需要本地模型或云接口确认插件配置了正确的 API / 模型路径或换用第三方转写工具8.2 下载慢的规避方式“Obsidian 下载太慢了”是很多人开箱遇到的第一个问题。Obsidian 的安装包托管在官方或 GitHub 上不同地区网络条件差异很大。如果你遇到下载过慢可以使用国内的镜像站点或开源软件镜像。找一个网络状况较好的时间段重新下载。如果已经进入 Obsidian后续插件和主题都可以在应用内下载走的是插件市场相对稳定。如果你使用的是 Windows 7 等较老系统还需要特别注意 Obsidian 对系统版本的要求这一点可以在官网查看按自己实际系统环境选择适配版本。8.3 编辑体验相关设置很多新用户会问Obsidian 能不能在编辑模式同时看到源码和渲染结果答案是可以的。Obsidian 默认提供三种模式编辑模式显示 Markdown 源码。阅读模式渲染最终效果。实时预览在编辑的同时渲染排版效果。如果你希望“左右分屏一行源码一行渲染”可以使用界面布局功能左边窗格打开源码右边窗格切换阅读模式。Obsidian 的编辑器本身是可定制的你完全可以根据自己的习惯调整。8.4 备份与恢复逻辑本地优先的数据结构决定了备份逻辑很简单把整个库文件夹复制一份备份就完成了。恢复也一样。但要注意恢复时不只是复制.md文件还要保留.obsidian配置目录否则你的主题和插件设置会丢失。如果没有备份.obsidian目录恢复后可能需要重新安装插件、重新配置主题。9. 最佳实践与工程建议9.1 用 PARA 思路组织笔记库结构我不建议把 Obsidian 笔记库堆成一团乱麻。比较经典的组织方案是 PARA 方法即 Projects、Areas、Resources、Archives。具体映射到 Obsidian 就是00-Inbox收集一切临时内容的收件箱。01-Projects有明确目标和截止时间的项目。02-Area需要长期维护的领域比如 Java、前端、数据库。03-Resources素材、参考、工具笔记。04-Archive不活跃但需要留档的内容。99-Templates各种笔记模板。这种结构最大的好处是新笔记刚开始统一从 Inbox 出发整理后再进入对应目录整个库不会因为时间增长而失控。9.2 命名规范与 frontmatter 设计新笔记的命名建议保持稳定。我常用的命名规则是“日期 描述”比如2025-06-12-spring-security-配置.md。这样做有两个好处排序清楚避免重名。同时在每篇笔记顶部维护 YAML frontmatter例如--- title: Spring Security 配置详解 date: 2025-06-12 tags: - Spring - Security status: 进行中 aliases: - SpringSecurity ---对于技术博客和项目笔记来说统一的 frontmatter 意味着后续可以配合 Dataview 做自动聚合也可以配合 Templater 一键生成标准化模板。9.3 双链使用原则Obsidian 的双向链接是核心能力但也不是越多越好。我的建议是链接是有语义关系的笔记不要为了链接而链接。在首页或 MOCMap of Content中维护主题索引让重要的笔记有入口。定期检查孤立笔记避免知识岛越来越多。9.4 数据安全边界本地优先意味着你要对数据安全负责。实际操作中我有几条原则不要在笔记里明文保存密码、密钥、Token。重要笔记至少保留三种备份本地副本、远程 Git、NAS 或移动硬盘。不要轻易运行来路不明的 Obsidian 插件或脚本。在执行批量替换、批量删除前先备份整个库。这些原则听起来简单但在长期使用中能避免很多不可逆的问题。10. 总结与下一步学习路线从 Notion 切换到 Obsidian对我来说是一次从“云端优先”到“本地优先”的工作方式调整。三个核心理由分别是数据归属权和文件格式可控性更有保障本地读写带来的启动速度和离线体验更符合写作场景插件生态让知识库能跟着需求持续演进。当然切换工具并不是终点。真正重要的是你的笔记系统是否适合你长期积累知识。如果你现在正在 Notion 和 Obsidian 之间犹豫我的建议是不要一次性把整个知识库搬过去而是先建一个小的 Obsidian 测试库专门用来记录一周的新笔记、写几篇技术文档体验一下本地文件、双链和插件生态再决定要不要正式迁移。下一步你可以继续研究 Templater 模板设计、Dataview 数据查询、Zotero 联动以及 Obsidian 与 Git / NAS 的备份策略。只要想清楚自己的知识管理目标Obsidian 会是一个非常值得长期投入的底座。
返回列表