lhk229 9336deb5b8 记录完美像素跨会话续命层的存废条件
本分支相对 master 新增约 16758 行,测试占 45%,而像素规整算法本体只改了
100 行。体量几乎全部来自「这条链路没有 durable job」这一个架构选择。

按存在理由把客户端机制分三层并写进文档:A 层服务端正确性与是否有 job 无关,
保留;C 层 POST 后一次对账保护的是「结果未知却谎报失败」,属于主链路,保留;
B 层跨会话续命(本机账本、刷新恢复与孤儿对账、75 秒窗口与锚点、marker 与账本
寿命对齐、exact retry、inline 占位到期与归属登记)只因为没有 job 而存在。

现在不删 B 层——它刚写完刚测过刚修完六个缺陷,删除本身有风险,收益在未来。
但迁移到 enqueue_editor_generation_job 时必须整层清除、不得与队列并存,否则
两套收口机制会产生「谁是终态权威」的二义性。写为阶段 4 的验收条件。

一并记录支撑结论的实测:requiresLiveSession 全仓仅一处置位、claim/release/has
五个调用点全在完美像素路径,故整层删除边界清晰;以及七条复查发现里 F1-F6 六条
全部落在 B 层。

另记一条待办:图集拆分的 catch 只 alert「拆分图集失败」,不区分确定失败与网关
合成的未知结果,服务端已落库却报失败属于谎报,落在主链路一侧。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 11:31:38 +00:00
2026-07-23 18:06:29 +08:00
2026-07-23 18:06:29 +08:00
2026-06-13 16:22:18 +08:00
2026-07-17 22:07:52 +08:00
2026-04-26 18:06:23 +08:00
2026-07-07 14:04:08 +08:00
2026-07-23 18:06:29 +08:00
2026-07-16 18:33:06 +08:00
2026-07-20 16:08:24 +08:00
2026-05-08 17:58:33 +08:00
2026-07-08 17:35:45 +08:00
2026-07-17 22:07:52 +08:00
1
2026-05-14 14:21:17 +08:00
2026-07-27 18:28:26 +08:00
2026-07-23 18:06:29 +08:00

AI Native Visual RPG

一个以“AI 叙事 + 本地规则 + 像素演出”为核心的视觉 RPG 原型。

当前已经具备这些主要能力:

  • 世界与角色选择
  • AI 剧情推进与流式对话
  • 战斗演出、NPC 战斗、切磋
  • NPC 交易、送礼、求助、招募
  • 宝藏交互
  • 同伴跟随与战斗
  • 游戏主流程内嵌的角色资产工坊、自定义世界实体编辑与角色形象编辑
  • 自动存档与继续游戏

运行

前置条件:

  • Node.js
  • Rust / Cargo
  • SpacetimeDB CLI

安装依赖:

npm install

准备环境变量:

  • 复制 .env.example.env.local
  • 填入 LLM_API_KEY / ARK_API_KEY
  • 按需设置 VITE_LLM_MODEL
  • 如需启用阿里云短信验证码登录,填写 ALIYUN_SMS_ACCESS_KEY_IDALIYUN_SMS_ACCESS_KEY_SECRET,并确认 SMS_AUTH_PROVIDER="aliyun"
  • 本地联调短信登录时,建议将 VITE_AUTH_ALLOW_DEV_GUEST 设为 false,避免开发模式自动进入游客账号而跳过登录页
  • 如需打印完整 prompt/output,可把 VITE_LLM_DEBUG_LOG 设为 true

启动开发环境:

npm run dev

补充说明:

  • npm run dev 会启动 SpacetimeDB standalone、独立 bgfilter-worker、Rust api-server、主站 Vite 与后台 Vite,适合完整联调;内部 worker ready 后才启动 API。
  • 主站默认地址是 http://127.0.0.1:3000,后台可从 http://127.0.0.1:3000/admin/ 进入,也可直连 http://127.0.0.1:3102
  • 五个模块可独立启动:npm run dev:spacetimenpm run dev:api-servernpm run dev:bgfilter-workernpm run dev:webnpm run dev:admin-web;其中 dev:api-server 会安全带起同 runner 的 BgFilter worker 依赖。
  • 如需自动刷新后端模块,使用 npm run dev -- --watch;其中 spacetime-module 改动后只会重新发布模块,不会重启 standalone,Rust 源码改动会把 api-serverbgfilter-worker 作为一个组合单元重启。主站和后台前端源码变化交给 Vite 自身 HMR,不由外层 watcher 重启。非 watch 模式下可在 npm run dev 终端输入 rs api-serverrs bgfilter-workerrs webrs admin-webrs spacetimers all,其中 rs spacetime 也是只重新发布模块。

构建生产包:

npm run build

常用检查

类型检查:

npm run lint

编码检查:

npm run check:encoding

内容引用校验:

npm run check:data

编辑器 override 校验:

npm run check:overrides

关键内容 smoke 检查:

npm run check:smoke

一键内容检查:

npm run check:content

主要结构

主运行时:

主流程内嵌编辑能力:

核心数据:

文档入口

docs/ 已在 2026-05-15 完成压缩整理,旧 PRD、设计、审计、阶段计划和技术流水账不再作为实现依据。当前只读取:

S
Description
叙世
Readme 821 MiB
Languages
Rust 54.7%
TypeScript 25.9%
JavaScript 9.9%
Java 3.6%
Go 3%
Other 2.7%