user guide import export - WangYajun369/ai-writing-platform GitHub Wiki

导入导出

适用版本1.7.0 | 最后核对:2026-09-05

TimeWrite 支持多格式导出、TXT 导入与加密备份恢复。v1.7.0 起,导入备份前会先做只读预检并弹出预览对话框,确认后才真正写入。

技术实现见 导入导出规范;命令清单见 IPC 命令速查


导出为 TXT / Markdown / HTML

格式 说明
TXT 纯文本,通用阅读;卷以 ==== 卷名 ==== 分隔
Markdown 保留标题、加粗等基本格式;卷以 # 卷名 呈现
HTML 保留完整富文本格式(含 base64 内嵌图片);卷以 <h3> 呈现

操作步骤:

  1. 在书库或编辑器中打开目标作品,点击导出
  2. 选择导出格式(TXT / Markdown / HTML)
  3. 选择保存位置
  4. 导出过程中显示进度条,可随时取消(取消后不留半成品文件)

导出采用「临时文件 + rename」原子写出:要么得到完整文件,要么不产生任何文件。


导入 TXT

  1. 在书库或编辑器中点击导入,选择 .txt 文件
  2. 系统按行级规则识别章节分隔,自动创建卷与章节
  3. 结果以计数反馈:新建 / 跳过 / 重命名了多少章

章节识别规则

  • 第X章 / 第X节(含 第一章第 一 章 等中文数字写法)
  • Chapter N 等英文写法
  • 序章 / 楔子 / 尾声 / 后记 / 番外 等特殊章节名
  • 需有「后续非空行」才判定为标题,避免把正文里的引用行误判成章节
  • 开篇引言(第一个章节标题之前的内容)保留为独立的「前言」章

去重规则(v1.7.0)

按「书名 + 正文指纹」判重:

情况 行为
同名且全文一致 跳过(chaptersSkipped
同名但内容不同 自动追加编号,如「作品名(导入 2)」(chaptersRenamed
无同名 正常新建(chaptersCreated

规模限制

单文件 ≤ 20 MB、≤ 2,000 章,超限时提示 E_TXT_TOO_LARGE 并建议拆分后分批导入。分章与字数统计在同一事务内原子提交。


数据备份与恢复

备份方式 说明
全量备份 导出所有作品、章节、世界观卡片,AES-256-GCM 加密
单作品备份 仅导出指定作品的完整数据

导入前的预览对话框(v1.7.0)

选择 .tw 备份文件后,系统先做只读预检(不写入任何数据),弹窗展示:

区块 内容
文件概况 备份类型、来源版本、包含的作品与表数量、文件大小
幂等提示 若此前导入过同一文件,提示「曾于 xx 导入」
校验问题 结构/引用/指纹异常会阻断导入并说明原因
逐表对账 每张表标记为一致 / 缺失 / 备份更新 / 目标更新
导入策略 单选:智能合并 · 仅补齐缺失 · 覆盖式导入

确认后才会真正执行,落库前自动建立回退点(24 小时内可在需要时回滚)。

v2 备份载荷与指纹校验

备份文件内含 schemaVersion / appVersion / payloadHash(规范化 JSON 的 SHA-256)。导入时校验指纹与声明一致 —— 被篡改的文件会被拒绝,零写入

若备份来自更高主版本(v3+),提示 E_BACKUP_VERSION 并附「前往更新」按钮跳 GitHub Releases。

常见错误提示

提示码 含义与建议
E_IO_BUSY 已有导入/导出在进行,完成后再试
E_BACKUP_VERSION 备份版本过高,需先升级应用
E_BACKUP_KEY 备份由其他机器导出,密钥不匹配
E_BACKUP_TOO_LARGE 数据超过 200 MB,建议改用单作品备份
E_EXPORT_CANCELED 你已取消导出,未生成文件

数据完整性

  • 导出保留 HTML 格式的全部富文本信息与卷结构
  • 导入保留原始段落结构并自动生成章节标题
  • 导入 / 导出 / 回滚三者命令级互斥,避免并发写入冲突
  • 备份与格式导出均原子写出,不会留下损坏的半成品文件

未来计划:EPUB、PDF 导出。