智能语音书稿创作系统|需求文档 V2.0(优化版)

文档版本:V2.0

一、项目概述

开发一套手机App + Cloudflare云端服务组成的语音创作系统。创作者通过手机App以语音对话方式和AI Agent沟通,完成书籍创作。整套创作流程划分为固定执行阶段,严格顺序推进;未解锁阶段内容自动隐藏,实现渐进式创作。所有创作数据本地优先存储,定时增量同步至Cloudflare云端持久化保存。
摒弃按天数、时长限制创作的模式,采用流程阶段状态机驱动,创作速度、耗时由创作者自主掌控。

二、整体架构组成

1. 客户端:安卓手机App(Flutter 3.x开发,可打包APK,无需应用商店上架) 2. 云端服务:Cloudflare Worker(通讯网关) + Cloudflare D1(SQLite数据库) 3. 代码统一托管于私有GitHub仓库 4. App <—HTTPS接口—> Cloudflare Worker <—> D1数据库

技术栈

组件 技术方案 | |------|----------| 移动端框架 Flutter 3.x + Dart | 本地存储 SQLite (sqflite) 或 Hive | 语音识别(STT) 讯飞语音SDK | 语音合成(TTS) 小米TTS(免费) | 云端计算 Cloudflare Workers | 云端数据库 Cloudflare D1 (SQLite) | 实时同步 Cloudflare KV (可选,用于实时通知) |

三、客户端App功能需求

3.1 App页面结构

#### 页面1:书单首页(菜单主页) 1. 展示全部自建书稿项目列表; 2. 每个书稿卡片展示:书名、当前所处创作阶段、最近更新时间、简易进度条; 3. 功能按钮:【新建书稿】、【打开已有书稿】; 4. 支持按创建时间、更新时间排序; 5. 支持搜索书稿名称; 6. 长按书稿卡片可删除、重命名。 #### 页面2:书稿创作核心页面(核心页面) 1. 顶部:可视化创作流程时间轴 流程固定顺序(不可逆主线): - 阶段0|书稿初始化 - 阶段1|深度语音访谈采集素材 - 阶段2|全书框架与大纲规划 - 阶段3|章节正文分批创作 - 阶段4|全文校对、修订、定稿 三种视觉状态: - 🟢绿色:已完成阶段,可点击回看历史内容 - 🔵蓝色:当前激活阶段,唯一可编辑、对话创作 - ⚫灰色锁定:未解锁阶段,内容完全隐藏,无法查看、无法点击进入 2. 中部区域 - 语音对话窗口:与AI Agent聊天记录;支持文字展示、语音朗读 - 当前阶段素材库:自动汇总本阶段所有语音口述内容、AI整理资料 - 对话气泡支持:文字消息 + 语音消息(可点击播放) 3. 底部功能 - 麦克风录音按键(语音输入核心) - 【完成本阶段验收】按钮 ⚠️规则:创作者手动点击验收,系统才解锁下一阶段;禁止AI自动推进流程。 - 【导出本阶段】按钮(导出当前阶段素材/对话记录) #### 页面3:系统设置页面 1. 大模型配置项:LLM接口地址、API Key、模型名称(自由切换Moonshot/DeepSeek/Kimi等) - API Key本地加密存储,不明文展示 - 支持测试连接功能 2. 语音功能配置: - 语音识别引擎选择(讯飞/Google) - 语音合成引擎选择 - 录音质量设置(标准/高清) - AI语音朗读(TTS)开关 - 语音播放速度调节 3. 云端同步配置: - 自动云端同步间隔设置(可选:30s / 60s / 180s / 手动) - 仅WiFi下同步开关 4. 数据管理: - 手动同步按钮 - 本地缓存清理 - 数据导出(支持JSON/PDF/Word格式) - 数据导入(从备份恢复) 5. 界面设置: - 主题切换(深色/浅色/跟随系统) - 字体大小调节

3.2 核心交互规则(语音创作)

1. 创作者操作:点击麦克风,语音口述想法;App完成语音转文字; 2. AI Agent行为:根据当前阶段规则主动提出递进式问题,引导创作者输出思路,而非大段输出文本; 3. 完整对话记录自动归类至【当前阶段素材】; 4. 支持文字输入兜底,兼顾无语音场景; 5. 支持语音回放:可点击播放AI的语音回复。

3.3 数据存储与同步机制

1. 本地优先策略 - 所有对话、素材、书稿状态优先保存在手机本地SQLite数据库; - 断网状态下可完整创作,不会丢失数据; - 本地数据采用AES-256加密存储。 2. 增量定时同步 - App前台运行时,按照设定时间间隔,仅上传新增数据(增量上传,不重复上传完整书稿); - 网络异常自动重试,最多重试3次; - 同步队列:离线期间的操作排队等待同步。 3. 启动同步 - 打开任意书稿项目时,App主动请求云端,拉取最新书稿状态; - 本地与云端数据合并,支持多端进度互通; - 冲突解决策略:以时间戳最新的修改为准,冲突时保留双方版本供用户选择。 4. 数据备份 - 支持手动导出书稿为JSON文件; - 支持导出为PDF/Word格式(带格式排版); - 支持从备份文件恢复书稿。

四、云端 Cloudflare 服务需求

4.1 Cloudflare Worker(API网关)

1. 数据同步接口 - 接收App上传的增量书稿数据,写入D1数据库; - 支持批量写入优化性能; - 返回同步成功确认及最新版本号。 2. LLM代理接口 - 接收App大模型对话请求,中转转发至目标LLM接口; - 保护API密钥,不在客户端裸露密钥; - 支持多模型切换(通过配置区分); - 请求超时设置:30s(适配一问一答模式)。 3. 数据拉取接口 - 提供接口,供App拉取云端书稿完整进度、历史素材; - 支持按时间戳拉取增量数据; - 返回数据压缩(gzip)减少传输量。 4. 安全鉴权 - 基础简易访问鉴权(Bearer Token),防止外部恶意调用接口; - Token本地生成,绑定设备ID; - 请求频率限制(防刷)。

4.2 Cloudflare D1(持久化数据库)

存储所有书稿结构化数据: books表(书稿主表) 字段 类型 说明 |------|------|------| id TEXT PRIMARY KEY 书稿唯一ID title TEXT 书稿名称 description TEXT 创作定位/简介 current_stage INTEGER 当前流程阶段(0-4) created_at TEXT 创建时间 updated_at TEXT 更新时间 sync_version INTEGER 同步版本号 stages表(阶段数据表) 字段 类型 说明 |------|------|------| id TEXT PRIMARY KEY 阶段ID book_id TEXT 关联书稿ID stage_number INTEGER 阶段编号(0-4) is_completed BOOLEAN 是否完成 completed_at TEXT 完成时间 outline TEXT 大纲内容(JSON) messages表(对话记录表) 字段 类型 说明 |------|------|------| id TEXT PRIMARY KEY 消息ID book_id TEXT 关联书稿ID stage_number INTEGER 所属阶段 role TEXT 角色(user/assistant) content TEXT 消息内容 audio_url TEXT 语音文件URL(可选) created_at TEXT 创建时间

五、AI Agent 业务约束规则(状态机Skill)

1. 严格阶段识别:严格识别当前书稿所处流程阶段,禁止跨阶段开展工作; 2. 阶段隔离:处于某一阶段时,只执行本阶段对应的工作任务;未解锁阶段相关内容禁止主动生成; 3. 访谈阶段核心:阶段1(访谈阶段)核心模式:主动提问、引导创作者口述,持续挖掘原始想法、观点、素材; 4. 素材整理:自动持续整理对话信息,结构化汇总素材; 5. 人工验收:只有创作者手动完成阶段验收,Agent才可进入下一阶段任务; 6. 无时间限制:完全移除任何按天数、每日工作时长相关限制条件。

阶段详细规则

#### 阶段0|书稿初始化 - 引导用户填写:书名、创作定位、目标读者、核心主题 - 确认后自动进入阶段1 #### 阶段1|深度语音访谈采集素材 - AI主动提问,引导用户口述想法 - 问题递进:从宏观到微观,从主题到细节 - 自动整理对话要点,生成素材摘要 - 素材按主题分类存储 #### 阶段2|全书框架与大纲规划 - 基于阶段1素材,AI生成全书框架建议 - 与用户讨论确认章节结构 - 输出:完整目录大纲 #### 阶段3|章节正文分批创作 - 按章节顺序逐一创作 - 每章完成后确认,再进入下一章 - 支持章节内容回看、修改 #### 阶段4|全文校对、修订、定稿 - AI检查全文一致性、逻辑性 - 标记疑似问题供用户确认 - 最终导出定稿

六、导出功能需求

1. PDF导出:带目录、页码、章节标题的排版PDF 2. Word导出:标准.docx格式,可编辑 3. 纯文本导出:.txt格式,用于其他平台 4. JSON导出:完整数据备份,可恢复导入

七、部署与代码管理规范

1. Flutter App客户端源码、Cloudflare Worker源码统一存放于私有GitHub仓库; 2. Worker使用Wrangler工具发布部署至Cloudflare; 3. App源码编译生成安卓APK,直接安装到手机,无需上架应用商店; 4. 使用GitHub Actions实现CI/CD自动构建APK。

八、非功能性约束与已知限制

1. 后台限制:手机系统休眠、后台挂起时,定时同步会被系统限制;采用「前台定时同步 + 打开书稿强制拉取云端数据 + 本地缓存队列」三重策略规避丢数据风险; 2. Worker限制:Cloudflare Worker单次请求最大运行时长300s;适配一问一答语音对话模式,无冲突; 3. 平台优先:优先适配安卓设备;iOS如需安装,需要TestFlight方案,不作为首要目标。 4. 性能要求:语音识别响应时间 < 2s;AI回复时间 < 5s(取决于LLM);本地数据查询 < 100ms。 5. 兼容性:支持Android 8.0 (API 26) 及以上版本。

九、开发阶段规划(无时间限制)

阶段1:基础框架

- Flutter项目搭建,基础UI框架 - 本地SQLite数据库设计 - 书稿CRUD功能 - 阶段状态机基础实现

阶段2:语音交互

- 语音识别(STT)集成 - 小米TTS集成 - 对话记录存储与展示

阶段3:AI Agent

- LLM接口对接 - 阶段规则实现 - 对话上下文管理

阶段4:云端同步

- Cloudflare Worker开发 - D1数据库设计 - 增量同步实现

阶段5:导出与优化

- PDF/Word导出功能 - 性能优化 - Bug修复
开发节奏由开发者自主掌控,按阶段推进,不设时间限制。