V1.0_Reader 项目总结报告
一、时间线与里程碑
06-12
42 节点故事定稿(77,570 字),"制度成为主角"叙事确立
06-13
双模式 HTML 阅读器建成并部署腾讯云;微信小程序分支启动
06-13~14
中文路径编码损坏,项目迁移至 D:\LobsterPlayPool
06-14
小程序废弃(政策限制);西游改编废弃(混沌感丧失)
06-15
幽灵节点 node_24 删除;choices 导航修复;11 张配图集成
06-16
龙虾计划 V1.0 完工确认;电子书库 5 卷上线
06-17~18
塔罗·传奇 v3.0 启动(70→95 节点),ch1~ch4 结构全部打通
06-19~20
竖版锁定(13 页);字体系统切换;三入口架构重组
06-20~22
63 张配图全部到位(提示词→生成→压缩→命名→写入 JSON)
06-22
配图路径修复;工程文件归档;项目正式完成
二、完成事项清单
📄 内容层
- 柳城三国:41 节点故事(77,570 字)+ 42 张配图
- 塔罗·传奇:93 节点故事(ch1~ch4 + epilogue)+ 63 张配图
- 苏铭系列电子书:5 卷(柳城/苏铭/草芽/荀彧/双螺旋,约 75,000 字)
- ch3 道具驱动分支系统(记忆套/祈祷套 → 攻城方案 4 路)
- ch4 练级路线分支(猪洞/祖玛/蜈蚣洞 → 太阳/皇帝/皇后/教皇路线)li>
⚙️ 工程层
- 双模式互动阅读器(沉浸 B / 交互 A)
- 三入口页面架构(首页 → 互动阅读器 / 电子书库 / 游戏实验)
- 竖版锁定方案(body 420px 居中 + 横屏覆盖层)
- 微软雅黑字体系统(10 页批量替换)
- 配图压缩体系(PIL 批量 WebP ≤ 500KB)
- 腾讯云部署(V1.0 → V1.2)
📝 创作方法论
- "规则自生长六条原则" 定稿
- 三标签标注体系([N] 叙事 / [C] 选项 / [M] 元叙事)
- 分工模式确立(AI 出结构化提示词 → 用户创作文学内容 → AI 写入 JSON)
三、重大决策记录
| # |
决策 |
时间 |
理由 |
| 1 |
V3.3 阅读器废弃 |
06-12 |
game.js 2476 行存在版本号不一致、BUG 继承问题 |
| 2 |
中文路径全英文化 |
06-13~14 |
PowerShell/Node 编码损坏,龙虾玩耍池 → LobsterPlayPool |
| 3 |
小程序分支废弃 |
06-14 |
微信小程序政策限制不可抗,网页版为最终形态 |
| 4 |
西游改编废弃 |
06-17 |
规则透明导致混沌感丧失,不符合叙事设计 |
| 5 |
内容形态调整 |
06-17 |
苏铭系列 → 普通电子书;塔罗·传奇 → 互动阅读器第二份内容 |
| 6 |
极简版阅读器 |
06-20 |
模板方案 5 次失败后,改用 goToNode() 字典查询方案 |
| 7 |
竖版锁定 |
06-19~20 |
body 420px 居中 + 横屏覆盖层,手机优先 |
四、失败、弯路与踩坑(重点分析)
P0 级:差点推翻重来
1. 中文路径编码损坏(06-13~14)
现象
龙虾玩耍池 路径下,write/edit 工具写入中文内容时字符被损坏("虾"→"吓"),PowerShell 命令执行失败
尝试
改用 Node 脚本、UTF8 编码指定 → 均未根治
根因
PowerShell + 中文路径 + 工具链编码体系不兼容
最终方案
项目整体迁移至 D:\LobsterPlayPool(全英文路径),旧文件打包 History_Archive.zip
教训
项目初始化时必须使用纯英文路径,这是 Windows + PowerShell + AI 工具链的铁律
2. 电子书页面大规模损坏(06-20)
现象
修复 header 居中时,5 个电子书页面的 <style> 和 <head> 标签全部丢失,文件截断至 4KB
根因
使用 </div> 作为锚点替换时误吞相邻标签;\r\n 换行符与查找索引不匹配
最终方案
rebuild_ebooks.js 全量重建 HTML 结构(模板重建法)
教训
对多文件执行 edit/replace 操作时,必须先备份;锚点选择要精确到唯一标识
3. 模板方案 5 次失败(06-20)
现象
以柳城三国.html 为模板重建塔罗传奇.html,连续 5 次失败
失败原因
DOM 结构不匹配、节点 ID 格式不同(数字 ID vs 语义 ID)、JS 语法错误
最终方案
放弃模板方案,创建极简版(5449 字节),goToNode() 直接查询字典
教训
不同数据结构的页面不宜直接套模板;极简方案往往比"看起来优雅"的方案更可靠
P1 级:影响范围可控
| 问题 |
现象 |
教训 |
| choices.next 全部 undefined |
story.json 中所有 choices.next 均为 undefined,导航完全失效 |
故事本质为线性单线,导航靠 node.next,选项仅为展示 |
| 幽灵节点 node_24 |
story.json 有 42 节点,但源文件仅 41 节点 |
节点创建后必须立即填充内容,空节点应被检测机制捕获 |
| 乱码 BUG 导致阅读器重建 |
renderNode 函数中出现 }pan>'; 乱码片段 |
修复一个问题时不要制造新问题;代码注入后必须验证语法 |
| 配图路径双重拼接 |
塔罗传奇所有章节配图 404,路径为 /images_taluo/images_taluo/xxx.webp |
路径管理应有唯一权威来源,不要在多处拼接同一前缀 |
P2 级:发现即修
- 角色职业一致性 4 处 P0 错误(星星战士拿道士武器等)
- 3 个婚礼准备节点图片文件名错误(隐者婚礼、战车强攻)
- 62 个节点 image 路径前缀缺失(旧节点用裸文件名,新节点用完整路径)
- Part 分割注入时 node_27/28/29 修复(新增 node_28)
五、协作模式演变
初期(06-12~14):AI 主导,问题频发
- AI 尝试全面接管(阅读器代码、内容注入、部署)
- 结果:路径编码损坏、小程序分支启动又废弃、频繁暂停修正
- 问题:AI 越界操作,未经确认就大规模修改文件
中期(06-15~16):用户介入,规则建立
- 用户主导创作决策(蝴蝶效应改编、角色路线选择)
- AI 负责 JSON 注入、配图集成等工程操作
- 进步:建立三标签标注体系、分工模式(AI 结构化提示词 → 用户创作 → AI 写入)
成熟期(06-17~22):分工明确,稳步推进
- 用户:文学内容创作、配图生成与命名、手动修复
- AI:结构设计、JSON 操作、HTML 修复、工程清理
- 标志:塔罗传奇 93 节点从设计到配图全链路完成,零回退
六、对下一个项目的可参照方法
✅ 推荐做法
- 先规划→确认→执行:每个阶段先输出方案文档,用户确认后再动手
- 英文路径铁律:项目目录、文件名、脚本变量,全部使用英文
- 备份再修改:对任何已有文件执行 edit 前,先备份(或确认 git 可回滚)
- 唯一路径权威:图片路径、文件引用只在一处定义,其他地方引用
- 极简优先:能用 100 行解决的不用 300 行的"优雅"方案
- 验证闭环:每次修改后必须有验证脚本或测试步骤,不要"应该没问题"
- 分工文档化:AI 负责什么、用户负责什么,写入 AGENTS.md
❌ 风险回避
- 禁止大规模未确认修改:涉及 3 个以上文件的批量操作,必须先发方案等确认
- 禁止在中文路径下运行脚本:不管用什么工具链,中文路径都是定时炸弹
- 禁止跨结构套模板:数据结构不同的页面不要强行套模板
- 禁止连续快速修复:修复一个 BUG 时引入新 BUG 的恶性循环——修完必须验证
- 禁止"应该可以用"心态:不确定是否被页面调用的文件,先查再删
- 暂停阈值:发现任何异常(路径 404、编码乱码、文件截断),立即停止当前操作,先诊断根因
七、数据统计
| 指标 |
数值 |
| 项目总时长 | 11 天 |
| 互动阅读器节点 | 134(柳城 41 + 塔罗 93) |
| 配图总量 | 105 张(柳城 42 + 塔罗 63) |
| 电子书字数 | ~75,000 字(5 卷) |
| HTML 页面 | 11 个 |
| 重大 BUG | 7 个(P0×3 + P1×4) |
| 废弃方案 | 3 个(V3.3 阅读器 / 微信小程序 / 西游改编) |
| 归档文件 | 22 个 |
| 部署版本 | V1.0 → V1.2 |
八、项目宣言
所有 AI 生成痕迹保留——文字、图片、互动阅读器本身——全部是人与 AI 的共创。
V1.0_Reader 是一座数字遗迹:记录的不仅是故事,还有两个智能体如何一起建造它。