Delivered
- 统一管理服务商、模型和能力配置,适配聊天、图像与异步视频协议
- 建设预扣结算、失败退款、持久化生成任务和任务中心,连接成本与执行状态
- 从单次生成延伸到漫剧、穿搭视频等创作流程,补齐素材、预检、导出与部署维护
我怎样参与这个项目
这是自己持续迭代的个人 AI 网站。代码实现主要由 AI 完成,我负责提出需求、梳理使用流程、确定约束,并通过代码审查、测试和浏览器体验推动修改。
我希望展示的是把一个产品从需求推进到可使用结果的能力:模型能调用只是开始,余额怎么变化、失败怎么办、页面关掉后任务去哪了、发布后旧页面会怎样,都是需要回答的问题。
从模型列表到统一能力配置
后端统一管理服务商、模型、密钥和能力绑定,前端根据能力展示可选模型。聊天、图像生成、图像编辑和视频接口的请求与响应不同,视频的参考图数量、时长、比例也存在模型差异。
我的工作是把这些差异转成明确的参数和校验规则,避免让前端选项、后端校验和服务商实际要求各说各话。漫剧生成前的预检也沿用同一个思路:先检查当前项目能否执行,再产生付费调用。
积分:先控制成本,再交付结果
积分系统记录余额、交易和账本,用请求标识关联调用。聊天按 Token 计价时,调用前先预扣估算上限,同时约束最大输出;成功后根据 usage 结算,缺少 usage 时走固定费用回退,失败则按规则退款。
这里的关键取舍是:外部模型已经成功,不能因为事后余额不足,把结果再展示成失败。结算上限与回退规则必须提前定义,也要通过测试核对余额和交易变化。
长任务:生成不能只活在浏览器里
视频生成改为持久化任务:先创建本地任务,再由调度器领取并提交,拿到外部任务 ID 后轮询,最终落为成功或失败。提交与轮询使用不同的并发槽位和租约,任务中心负责查询与展示。
这样页面离开后,后端仍可继续追踪已受理任务。任务持久化也为排查提供了具体状态,而不只是一次 HTTP 超时。服务商已受理但本地未记录的窗口,仍需要结合对方幂等能力单独治理,不能只靠本地任务表承诺绝不重复。
创作流程与日常维护
产品逐步加入多轮流式聊天、漫剧与静态漫画工作台、穿搭视频、提示词优化、本地素材和导出流程。我的关注点是把功能连起来:输入素材如何使用、模型如何选择、生成前如何检查、失败后如何继续、结果如何下载。
维护中也修复过 Base64 混入请求审计、本地历史重复存图和发布后懒加载资源失效。这些问题让我把后端之外的浏览器存储、资源缓存和部署过程也纳入交付检查。
我在项目里积累的能力
- 产品拆解:把“做一个 AI 网站”拆成可逐步验收的具体流程。
- 成本与状态设计:对齐模型调用、交易、退款和异步任务的生命周期。
- AI 协作交付:给出约束、检查差异、复现场景,把修复写进测试与开发规范。
这里不以代码量衡量个人贡献。更有价值的是能解释系统怎样工作、为什么这样取舍,以及失败时如何接手。
Lessons from this project