Skip to content

导入导出

数据完全属于你。随时可以把笔记导出为标准 Markdown,或从其他工具批量导入。

导出

单条笔记导出

笔记详情页顶部 → "导出" 按钮 → 保存为 .md 文件。

  • 文件名自动使用笔记标题(非法字符 / : 等会替换为 _
  • 内容是完全标准的 Markdown,兼容 Obsidian、Typora、VS Code、GitHub 等
  • 双向链接 [[笔记]] 保留原样(Obsidian 可识别)

批量导出

设置 → 导入导出 → "导出所有笔记"

  1. 选择目标目录
  2. 应用会生成目录结构镜像:
导出目录/
├── 学习/
│   ├── 编程/
│   │   ├── Rust 所有权.md
│   │   └── Rust 生命周期.md
│   └── 语言/
├── 工作/
└── 生活/
  1. 完成后提示导出了多少条笔记

导出选项

  • ☑️ 包含文件夹结构
  • ☑️ 包含标签(作为 frontmatter tags: 字段)
  • ☑️ 包含附件(图片等复制到 attachments/
  • ☑️ 包含创建/更新时间(frontmatter created: / updated:

导入

从本地 Markdown 文件夹导入

设置 → 导入导出 → "从 Markdown 文件夹导入"

  1. 选择本地目录(可以是 Obsidian vault、Typora 文件夹、Logseq graph)
  2. 应用递归扫描所有 .md 文件
  3. 预览待导入笔记列表 → 确认
  4. 开始导入,进度条实时显示

自动处理

  • 目录层级 → 对应文件夹层级
  • 文件名 → 笔记标题(去掉 .md 后缀)
  • 文件内容 → 笔记正文
  • frontmatter tags: → 应用到标签
  • frontmatter created: / updated: → 应用到时间戳
  • [[双链]] → 自动解析并建立关系

冲突处理

如果导入的笔记标题已存在:

  • 跳过:保留原笔记
  • 覆盖:用导入内容替换
  • 保留两份:新的加 (导入) 后缀

推荐:首次导入选"保留两份",确认无误后再批量处理。

从 PDF / Word 导入(v0.2.0+)

设置 → 导入导出 现在新增了两个直接入口:

  • 导入 PDF:选一个或多个 .pdf 文件 → 自动抽取文本内容 → 每个 PDF 变成一条新笔记(保留原文件到 sources/ 目录,笔记详情页可一键打开原 PDF)
  • 导入 Word:支持 .docx(原生解析)、.doc(走 COM / WPS Office 兜底)、.wps

.doc / .wps 兼容性:由于这些是闭源二进制格式,Knowledge Base 会按下面的顺序自动尝试:

  1. WPS Office(若已安装)—— 走 WPS 的 COM 接口
  2. Microsoft Word(若已安装)—— 走 Word 的 COM 接口,尝试多个 ProgId
  3. 失败时降级为占位笔记,保留原始文件路径,提示用户手动转换

若转换失败,设置 → 导入导出 → .doc 转换器诊断面板会显示当前环境检测到哪些转换器,方便排查。

兼容性

从 Obsidian 迁入

Obsidian 的 .md 文件夹可以直接导入,所有双链 [[]] 自动保留并在 Knowledge Base 中生效。

需要手动处理:

  • Obsidian 插件功能(如 Dataview):内容保留但不执行
  • 图片附件:路径需手动调整

从 Typora 迁入

Typora 的 .md 文件夹可以直接导入。

Typora 没有双链,导入后需要在 Knowledge Base 中手动用 [[]] 建立连接。

迁出到 Obsidian

Knowledge Base 导出的 Markdown 可以直接在 Obsidian 打开

  1. 将导出目录作为新的 Obsidian vault 打开
  2. 所有 [[双链]]、标签、目录结构立即生效
  3. 图片附件会在 attachments/ 子目录中

迁出到其他工具

目标是否支持说明
Obsidian✅ 完美直接把导出目录作为 vault 打开
Logseq✅ 基本兼容双链 [[]] 保留,需手动转换块级结构
Typora✅ 完美双链会显示为纯文本,不影响阅读
Notion⚠️ 部分导入 Markdown 时需用 Notion 的 Import
VS Code✅ 完美装 Markdown 插件即可浏览

定期备份

即便 Knowledge Base 数据在本地 SQLite 不会丢,也强烈建议定期导出:

  • 每月一次:导出到外置硬盘 / 云盘
  • 重大变更前:如系统更新 / 笔记大规模重构前

也可以直接备份 SQLite 数据库:

平台文件位置
Windows%APPDATA%\com.agilefr.kb\knowledge.db
macOS~/Library/Application Support/com.agilefr.kb/knowledge.db

孤儿图片清理

手动删除笔记里的图片后,磁盘上的原文件不会立即清掉——下次想腾点空间时,用这个功能扫出来一次性清理。

入口

设置 → 维护 → 扫描孤儿图片

使用流程

  1. 点击 扫描孤儿图片,应用遍历 kb_assets/images/ 下所有图片文件,和所有笔记内容里引用的图片名对比
  2. 扫描结果:
    • 没有孤儿:绿色提示 "没有孤儿图片,磁盘干净"
    • 发现孤儿:黄色提示 "发现 N 张孤儿图片,共 X.XX MB",可选 查看(缩略图网格)或 立即清理
  3. 清理前 Popconfirm 二次确认:"将删除 N 个文件,不可撤销"
  4. 清理后自动重新扫描一次,确认剩余数量

关于 500 张截断

单次扫描最多列出和清理前 500 张孤儿图片(防止一次操作过重)。若磁盘积累更多:多次点击"清理"循环处理即可,每轮都会自动重扫。

什么情况会产生孤儿

场景是否产生孤儿
删除整篇笔记(进回收站)❌ 不产生,笔记目录保留直到永久删除
永久删除(回收站一键清空)❌ 不产生,笔记图片目录自动清理
在笔记里手动删除图片后保存✅ 产生
粘贴图片后撤销(Ctrl+Z)✅ 产生(文件已落盘)
笔记保存失败后回退可能产生

建议周期

不是高频操作。每几个月跑一次即可,或在感觉磁盘占用明显异常时跑一次。

你的知识,你的电脑,你说了算