Skip to content

export 命令

导出知识库 — 将笔记导出为 Markdown 文件或静态 HTML 网站

核心特性

  • 🔹 Markdown 导出: 将知识库笔记导出为独立的 .md 文件
  • 🔹 静态站点生成: 生成包含 index.htmlstyle.css 的完整静态网站
  • 🔹 灵活过滤: 按分类、标签筛选要导出的笔记
  • 🔹 数量限制: 通过 --limit 控制导出笔记数量
  • 🔹 JSON 输出: 支持结构化输出,便于自动化处理

系统架构

chainlesschain export

    ├── markdown ──▶ bootstrap() ──▶ 获取数据库
    │                  │
    │                  ▼
    │              exportToMarkdown(db, outputDir, filters)
    │                  │
    │                  ▼
    │              .md 文件 × N  →  输出目录

    └── site ─────▶ bootstrap() ──▶ 获取数据库


                   exportToSite(db, outputDir, options)


                   index.html + style.css + N 个页面  →  输出目录

子命令

export markdown

将笔记导出为 Markdown 文件。

bash
chainlesschain export markdown -o <dir> [options]
选项说明默认值
-o, --output <dir>输出目录(必填)
--category <category>按分类过滤
--tag <tag>按标签过滤
-n, --limit <n>最大导出数量全部
--jsonJSON 格式输出

export site

将笔记导出为静态 HTML 网站。

bash
chainlesschain export site -o <dir> [options]
选项说明默认值
-o, --output <dir>输出目录(必填)
--title <title>站点标题ChainlessChain Knowledge Base
--category <category>按分类过滤
--tag <tag>按标签过滤
--jsonJSON 格式输出

关键文件

  • packages/cli/src/commands/export.js — 命令注册与子命令定义
  • packages/cli/src/lib/knowledge-exporter.js — 导出核心逻辑:exportToMarkdown()exportToSite()
  • packages/cli/src/runtime/bootstrap.js — 运行时初始化(7 阶段),提供数据库连接

安全考虑

  • 导出的笔记为明文格式,注意不要导出包含敏感信息的笔记到不安全的目录
  • 知识库数据库(SQLCipher)在导出过程中会被解密读取
  • 静态站点生成的 HTML 包含 <meta charset="UTF-8">,确保中文内容正确显示
  • 导出前会通过 bootstrap() 初始化运行时,操作完成后调用 shutdown() 释放资源

使用示例

场景 1:导出所有笔记为 Markdown

bash
chainlesschain export markdown -o ./my-notes

输出示例:

Exported 42 notes to ./my-notes
  ./my-notes/blockchain-basics.md
  ./my-notes/ai-learning-notes.md
  ... and 40 more

场景 2:按标签过滤导出

bash
chainlesschain export markdown -o ./tech-notes --tag "技术" -n 20

场景 3:生成静态知识库网站

bash
chainlesschain export site -o ./public --title "我的知识库"

输出示例:

Generated static site with 42 pages
  Output: ./public
  Files: index.html, style.css, 42 note pages

场景 4:按分类导出并获取 JSON 结果

bash
chainlesschain export markdown -o ./export --category "学习笔记" --json

输出示例:

json
{
  "count": 15,
  "output": "/home/user/export",
  "files": [
    { "path": "/home/user/export/note-1.md" },
    ...
  ]
}

故障排查

问题解决方案
Database not available确保已运行 chainlesschain setup 初始化数据库
No notes to export知识库为空,先使用 importnote add 添加内容
输出目录权限错误检查目标目录的写入权限
中文文件名乱码确保操作系统文件系统支持 UTF-8 编码
导出过程中断检查磁盘空间是否充足

相关文档

基于 MIT 许可发布