Delivered

  • 统一管理服务商、模型和能力配置,适配聊天、图像与异步视频协议
  • 建设预扣结算、失败退款、持久化生成任务和任务中心,连接成本与执行状态
  • 从单次生成延伸到漫剧、穿搭视频等创作流程,补齐素材、预检、导出与部署维护

我怎样参与这个项目

这是自己持续迭代的个人 AI 网站。代码实现主要由 AI 完成,我负责提出需求、梳理使用流程、确定约束,并通过代码审查、测试和浏览器体验推动修改。

我希望展示的是把一个产品从需求推进到可使用结果的能力:模型能调用只是开始,余额怎么变化、失败怎么办、页面关掉后任务去哪了、发布后旧页面会怎样,都是需要回答的问题。

从模型列表到统一能力配置

后端统一管理服务商、模型、密钥和能力绑定,前端根据能力展示可选模型。聊天、图像生成、图像编辑和视频接口的请求与响应不同,视频的参考图数量、时长、比例也存在模型差异。

我的工作是把这些差异转成明确的参数和校验规则,避免让前端选项、后端校验和服务商实际要求各说各话。漫剧生成前的预检也沿用同一个思路:先检查当前项目能否执行,再产生付费调用。

积分:先控制成本,再交付结果

积分系统记录余额、交易和账本,用请求标识关联调用。聊天按 Token 计价时,调用前先预扣估算上限,同时约束最大输出;成功后根据 usage 结算,缺少 usage 时走固定费用回退,失败则按规则退款。

这里的关键取舍是:外部模型已经成功,不能因为事后余额不足,把结果再展示成失败。结算上限与回退规则必须提前定义,也要通过测试核对余额和交易变化。

长任务:生成不能只活在浏览器里

视频生成改为持久化任务:先创建本地任务,再由调度器领取并提交,拿到外部任务 ID 后轮询,最终落为成功或失败。提交与轮询使用不同的并发槽位和租约,任务中心负责查询与展示。

这样页面离开后,后端仍可继续追踪已受理任务。任务持久化也为排查提供了具体状态,而不只是一次 HTTP 超时。服务商已受理但本地未记录的窗口,仍需要结合对方幂等能力单独治理,不能只靠本地任务表承诺绝不重复。

创作流程与日常维护

产品逐步加入多轮流式聊天、漫剧与静态漫画工作台、穿搭视频、提示词优化、本地素材和导出流程。我的关注点是把功能连起来:输入素材如何使用、模型如何选择、生成前如何检查、失败后如何继续、结果如何下载。

维护中也修复过 Base64 混入请求审计、本地历史重复存图和发布后懒加载资源失效。这些问题让我把后端之外的浏览器存储、资源缓存和部署过程也纳入交付检查。

我在项目里积累的能力

  • 产品拆解:把“做一个 AI 网站”拆成可逐步验收的具体流程。
  • 成本与状态设计:对齐模型调用、交易、退款和异步任务的生命周期。
  • AI 协作交付:给出约束、检查差异、复现场景,把修复写进测试与开发规范。

这里不以代码量衡量个人贡献。更有价值的是能解释系统怎样工作、为什么这样取舍,以及失败时如何接手。

Lessons from this project

相关实践记录

大量代码由 AI 完成后,我要把哪些事做对结合批创、BI 和个人 AI 平台,梳理自己的贡献:定义业务动作、约束实现、追踪问题和验证交付。把 AI 视频生成从一次请求,改成可追踪的任务长耗时模型调用需要独立的任务生命周期:受理、排队、提交、轮询、终态、积分与素材清理。图片没多生成一张,Base64 却多存了一份把服务商原始响应直接写入请求审计,会让图片数据混入日志;审计与展示需要各自的数据边界。AI 已经回答成功,为什么结算时又余额不足聊天从固定费用切到 Token 计费后,预扣、输出上限和实际结算必须使用同一套成本边界。发布成功了,旧页面点菜单却加载失败前端懒加载资源带版本哈希,用户长时间打开的页面可能引用已被新版本替换的文件。