user guide import export - WangYajun369/ai-writing-platform GitHub Wiki
导入导出
适用版本:
1.7.0| 最后核对:2026-09-05
TimeWrite 支持多格式导出、TXT 导入与加密备份恢复。v1.7.0 起,导入备份前会先做只读预检并弹出预览对话框,确认后才真正写入。
导出为 TXT / Markdown / HTML
| 格式 | 说明 |
|---|---|
| TXT | 纯文本,通用阅读;卷以 ==== 卷名 ==== 分隔 |
| Markdown | 保留标题、加粗等基本格式;卷以 # 卷名 呈现 |
| HTML | 保留完整富文本格式(含 base64 内嵌图片);卷以 <h3> 呈现 |
操作步骤:
- 在书库或编辑器中打开目标作品,点击导出
- 选择导出格式(TXT / Markdown / HTML)
- 选择保存位置
- 导出过程中显示进度条,可随时取消(取消后不留半成品文件)
导出采用「临时文件 + rename」原子写出:要么得到完整文件,要么不产生任何文件。
导入 TXT
- 在书库或编辑器中点击导入,选择
.txt文件 - 系统按行级规则识别章节分隔,自动创建卷与章节
- 结果以计数反馈:新建 / 跳过 / 重命名了多少章
章节识别规则
第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 导出。