Azmat@qq.com
|
849b14a0f6
|
完善视频提炼和视频复刻完善提交测试
|
2026-08-28 10:15:15 +08:00 |
|
Azmat@qq.com
|
51620bf25b
|
完成视频复刻和优化
|
2026-08-27 11:54:47 +08:00 |
|
Azmat@qq.com
|
c25060c6c6
|
优化住流程和添加复刻视频页面
|
2026-08-26 18:44:03 +08:00 |
|
Azmat@qq.com
|
0ee498d807
|
测试极速成片
|
2026-08-26 15:18:18 +08:00 |
|
Azmat@qq.com
|
245525ec53
|
解决极速成片问题
|
2026-08-26 09:19:53 +08:00 |
|
Azmat@qq.com
|
2f70d3e8a0
|
完成极速成片
|
2026-08-25 18:46:20 +08:00 |
|
Azmat@qq.com
|
df6784b90c
|
优化脚本
|
2026-08-25 16:40:22 +08:00 |
|
Azmat@qq.com
|
e2ec2d14af
|
完成极速成品和脚本优化
|
2026-08-25 11:13:07 +08:00 |
|
Azmat@qq.com
|
2f5b7304b0
|
添加视频复刻和优化脚本旁白
|
2026-08-24 10:48:01 +08:00 |
|
Azmat@qq.com
|
c2d3a786a3
|
优化脚本
|
2026-08-21 10:28:35 +08:00 |
|
Azmat@qq.com
|
dfe94a923e
|
完善二期清单
|
2026-08-18 14:11:05 +08:00 |
|
Azmat@qq.com
|
d1ecb52125
|
大量修改二期功能清单内容
|
2026-08-17 18:26:42 +08:00 |
|
hh
|
e81d7170ed
|
fix: 统一AI生成失败提示
|
2026-07-15 13:12:35 +08:00 |
|
hh
|
fc0f0ca370
|
feat: 解耦角色与模特并完善模特库
|
2026-07-13 11:02:30 +08:00 |
|
hh
|
564215dc53
|
fix: 完善商品—模特库-视频项目-自由创作等删除先进垃圾桶及可恢复等流程
|
2026-07-10 15:06:07 +08:00 |
|
 zycandClaude Opus 4.8
|
22268d608b
|
fix: 测试清单一轮bug修复(商品库/视频项目/设置/消费/平台套图)
- 商品库编辑删图假成功+悬停无删除图标;商品三视图错显角色三视图
- 视频项目演员删除入口;角色三视图防呆;故事板审核失败原因透出
- 设置:管理团队死按钮/通知未接入项屏蔽/邮箱验证链路
- 消费:账单流水切换类型重置分页+独立总页数
- 资产库上传按钮隐藏;月限额两处对齐
- 平台套图:提示词框放大/选模型胶囊内嵌/未读任务角标/工作台记录持久化
- 新建商品独立添加卖点按钮;商品库超1920自适应
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-30 19:46:35 +08:00 |
|
 zycandClaude Opus 4.8
|
4d2b9343b3
|
feat: 角色重跑参考当前立绘+提示词,保持人物一致 (row42)
原「重跑」立绘是纯文生图,每次重抽成另一个随机人。改为:角色已有当前立绘时,
重跑传该立绘作参考图 → 后端走 image_edit(参考立绘+提示词),保持同一人物相貌/发型/身份一致。
- generate_base_asset 新增 reference_asset_id;person 有参考图则 image_edit + build_person_portrait_prompt_refs
- run_base_asset_task image_edit size 按 kind 区分(person 立绘竖 1024x1536,商品三视图横)
- 全链路透传 reference_asset_id:pipeline.regenPortrait(传 viewPortraitAsset)→ genBaseAsset →
onGenerateBaseAsset → api.generateBaseAsset → generate-base-asset 端点
场景重跑不受影响(仍文生图);需部署生效(后端)。
构建: tsc=0/build=0; py_compile OK; projects+assets 测试无新增回归(基线 4 fail 2 err)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-30 13:20:47 +08:00 |
|
 zycandClaude Opus 4.8
|
76d59d06fe
|
fix: 视频项目第二步复用商品库已生成的三视图,不再「缺三视图」(ZWQ#5 续2)
商品库三视图走 standalone Asset、视频项目走项目级 BaseAssetGroup,两套存储不互通 →
商品库生成/采用的商品三视图,进视频项目第二步基础资产读不到、显示「缺三视图」。
修:项目详情 retrieve 时惰性单向同步(幂等,沿用 settle_video_completion 同款自愈模式)——
若商品已有 standalone 三视图(metadata.view=three_view + product_id)但项目商品组尚无采用资产,
就 seed 进项目商品 BaseAssetGroup(candidate+adopted)。已在项目内生成过的不覆盖。
依赖上一commit给商品库三视图打的 view=three_view 标记。
projects 测试:基线已有 4 失败 2 错误(环境 provider 未配),本改动无新增回归。需部署生效。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-30 11:47:07 +08:00 |
|
 zycandClaude Opus 4.8
|
b0b3ac2348
|
fix(test-round): 测试清单一批 bug 修复 + 团队月限额持久化
后端:
- accounts: 团队级月限额持久化(Team.monthly_credit_limit 三态 + PATCH/GET
/api/auth/team/settings/,刷新不丢,PMC#12);头像上传 500→502 可读错误;
设备下线真失效(删并重建 token,旧 token 401)
- assets: 审核类目加 model_portrait,消除三视图"无需审核"误报
- ai/projects/products: 模特已有三视图复用、产品三视图同步回商品库
(metadata.view=three_view)、真人模特三视图回写
前端:
- 商品图删除判断改用真实图片数;团队成员弹窗禁点外部关闭
- 图片预览骨架铺满占位;平台套图左侧栏折叠改导航同款;收件箱长文换行对齐
- 团队月限额改真落库(乐观更新+失败回滚)
测试:新增 TeamSettingsTests(5 条),accounts 全套 36 tests 通过;前端 build 0 error
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-29 18:50:22 +08:00 |
|
 zycandClaude Opus 4.8
|
00e606a6a6
|
fix: 清单4 未完成项二轮(视频项目收口/选用角色/场景空镜/场景刷新 + 4:5 尺寸)
ZWQ#15 视频进度卡 3/4(真因补全):
- current_stage 没推到 VIDEO 时 settle 守卫直接返回 → 永不收口。
submit/poll/adopt 幂等补推 current_stage→VIDEO;进详情(retrieve)检测全段已出片即自愈收口。
存量卡死项目一打开就自动变「已完成」。+2 测试
ZWQ#7 演员库选用角色未自动「已过审/已采用」:
- 真实流程是 attach(选用),非详情弹窗按钮。attach 时显式置 adopt=adopted +
人物立绘自动送审(on_commit)。+1 测试
ZWQ#13 场景出真人致视频被拒(加强):
- 场景空镜约束改为显式压过脚本描述里的人物词(「即使上文提到人也只画环境」)。
ZWQ#17 场景生成中刷新跳新窗口:
- 正在生成的场景草稿不再落盘 → 生成中刷新页面不会与新实体卡并存成两个窗口。
附:平台套图 4:5 尺寸 1664x2080→1728x2160(≥Seedream 5.0 最小面积 3686400px,否则 ARK 退 400)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-27 17:03:17 +08:00 |
|
 zycandClaude Opus 4.8
|
8f32ad69d3
|
fix: 电商测试清单一轮 bug 修复(视频项目角色/场景 + 图片工作台 + 视频收口)
视频项目(ZWQ):
- 演员工作台保存后「我的演员」仍 0 个:保存时加入资产库(in_library=True)
- 资产详情「应用当前角色」自动送审(不再要手动点灰盾)
- 「我的演员」卡 + 待生成 seed 卡补删除入口(垃圾桶,两步确认)
- 新增场景未生成就刷新会丢:sceneDrafts 按项目持久化 localStorage
- 场景 AI 生成强制叠加「无真人」约束,避免出真人致视频被火山拒
- 进入项目默认落到当前阶段(不再恒显第 1 阶段)
- 视频已出但进度卡 3/4:submit/poll/adopt 幂等补推 current_stage→VIDEO,
否则 settle_video_completion 因阶段守卫直接返回、永不收口 completed
图片工作台(PMC):
- 生图走 action 全局单飞锁致并发重跑/多平台套图被拒成「失败/少出图」:
action 加 concurrent 选项,生图不占单飞锁
- 切模块再切回状态丢/数量少:每批各自落盘 pendingIds(onSubmitted 回传),
切回时全部批次各自续轮询
附:含一处早前未提交的图片创作改动(选火山+传参考图强制切 gpt-image-2 + gen 气泡溢出 CSS)。
新增/通过测试:AttachOfficialModel、商品图删除、视频卡阶段收口、参考图强切模型。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-27 15:11:29 +08:00 |
|
zyc
|
ce7eaefe1d
|
生图模型可选(火山/gpt-image)+ 模特上身图提示词强化 + 多会话等改动
本轮(生图模型选择 + 火山接入):
- 工作室新增「生图模型」选择器(模特上身图/平台套图头部 chip + 图片创作底部 Pill),
默认火山 Seedream,可切 gpt-image-2;选择写入 localStorage,下次进页面读回
- 后端 resolve_image_model 解析所选模型;enqueue_standalone_images 接 image_model
- worker 按模型能力分流:有 image_edit(gpt-image)走多图编辑;无(火山)走
image_generation(image=参考图);新增 _ratio_to_volcano_size 让火山按比例出图
→ 内衣等敏感品类用火山可绕开 gpt-image 的 sexual 内容审核
模特上身图提示词:
- 穿戴/非穿戴分流、按 index 变化动作场景镜头、负面词尾接、多图参考序号自适应
- _product_reference_urls:商品参考真实上传图优先、排除 AI 生成图、可多张
其他(并入此前各会话未提交改动):
- 图片创作多会话(ImageConversation + migration 0019)、任务中心按类型过滤
- accounts/projects/assets/team/auth 等零散调整、相关测试
- 测试脚本(tryon_*.py)、测试清单(core/bug/*.xlsx)
|
2026-06-27 14:00:28 +08:00 |
|
 zycandClaude Opus 4.8
|
8222a46202
|
fix(pipeline): 视频为末步时收口项目完成态 + 列表 5→4 步同步
V1 雪藏「拼接导出」第 5 阶段后,完成态(COMPLETED)只在 export.py 拼接成片时
才置,导致视频全部出片的项目永远卡在 videoing,列表末格一直闪烁。
- 后端:新增 settle_video_completion(幂等)+ VIDEO_IS_FINAL_STAGE 开关。
全部片段出片→项目 completed、video 阶段标成功;某段被重跑→退回 videoing。
挂 retrieve(自愈历史卡住项目)/poll-video-segment/submit-video-segment/
adopt-video-version 四入口;收口直接查库,不吃 prefetch 旧缓存致误判。
V2 恢复导出把 VIDEO_IS_FINAL_STAGE 置 False,完成判定交回 export.py。
- 前端:项目列表/网格进度从 5 步同步成 4 步(PROJ_STAGE_TOTAL=4),
export 阶段并入第 4;已完成项目末格走 done(绿)不再用闪烁的 cur。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-24 17:32:12 +08:00 |
|
 zycandClaude Opus 4.8
|
658aaa222f
|
feat(storyboard): 故事板改分镜制(单场独立重跑/历史)+ 视频过审闸 + 审核前端如实化
三块改动在 services/views/pipeline/App/api 等文件按行交织、且过审闸后端依赖故事板新
模型,无法拆成各自独立可编译的提交,故合并为一次:
· 故事板分镜制:新增 StoryboardShot/StoryboardShotVersion(对标 VideoSegment/Version)
+ 数据迁移(采用版每帧转一 shot+已采用版本)。每镜一个 shot,各自历史版本,可单场
重跑、逐场切换/采用,新增「开始生成故事板/单场重跑/采用某版」端点。重跑非阻塞(后台
静默轮询出图,不锁其它场按钮);历史「查看」与「采用」分离(切版本不丢在制重跑)。
视频取分镜图/删分镜清理/过审闸全部改读 storyboard_shots。
· 视频生成前过审闸:点生成校验含真人脸的人物立绘/故事板分镜是否过审,未过审弹窗列出
哪一镜/哪个,可一键送审,挡住不生成(collect_video_review_blockers + precheck 端点)。
· 审核前端如实化:不再 `|| "processing"` 伪造审核中;送审失败经 onNotify 如实提示;
审核轮询扩到视频阶段,送审后能看着盾变绿。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-24 17:11:55 +08:00 |
|
 zycandClaude Opus 4.8
|
d2aa26248d
|
fix(video): 视频片段数对齐采用版分镜数,修「删分镜后视频步骤仍显示旧数量」
项目创建固定铺 4 段视频片段,而 _sync_video_segments_to_script 仅在
增删分镜且该脚本 is_adopted 时才收口。用户通常「采用前」就增删分镜,
那些编辑被 is_adopted 闸跳过;adopt_script 自身又不收口 → 视频步骤
一直停在 4 段,与故事板/采用版分镜对不上。
- adopt_script:采用时按这版分镜数收口视频片段
- poll/skip-storyboard:进入视频阶段前再收口一次(安全网)
- retrieve:视频阶段详情加载时自愈历史脏项目(只裁从未生成过的尾段)
- 已生成/生成中的段绝不动;新增 3 个回归测试
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-24 14:33:23 +08:00 |
|
 seaislee1209andClaude Opus 4.8
|
4074c13733
|
fix(video): 提交报错接住返 JSON 不再白屏 + 分镜图 processing 也走素材库 asset://
- submit-video-segment 视图接住 submit_video_segment 的异常 → 返回干净 JSON(真实火山报错文案),
不再让它变成 500 整页 HTML 报错栈 → 前端把 101KB HTML 怼进 toast 撑爆白屏
- 前端 request():非 JSON 错误体只显示状态行,绝不把整页 HTML 塞进 toast(白屏兜底)
- _seedance_ref_url:只要分镜图/人物已进素材库(有 remote_id)就走 asset://,不再卡 active —— 故事板
刚重生成时分镜图还是 processing,卡 active 会回落原始直链 → 火山以「疑似真人」拒。实测 processing
的素材 asset:// 照样可引用,根治「重生成故事板后重跑视频被人脸拒」
真机验证:场4 完整提交(人物/分镜图 asset:// + 场景/商品直链)ACCEPTED 出片;后端测试通过,tsc/build 过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-23 16:57:37 +08:00 |
|
 seaislee1209andClaude Opus 4.8
|
c8cb6d3d51
|
fix(extract): 实体提取改异步(worker+轮询),根治 502 + 刷新丢 loading + 重复扣费
问题:进资产页点"提取人物/场景"——同步死等豆包思考模型(数十秒)→ 撞网关超时
502;"提取中"loading 是纯前端内存态,刷新即丢;且无幂等,刷新后重点会重复扣费。
改动(对齐全站异步三件套:出图/三视图/故事板同款):
- 后端 submit_extract_entities:Web 只建 RESERVED 任务 + 预留额度秒回(不再 502);
已有在途提取则复用,绝不二次预扣(防刷新后重点 / 并发重复扣费)。
- 后端 run_extract_entities_task(Celery worker):流式调豆包 + 解析 + 落库 + 扣费;
失败退费并把可读错误记进 task.error_message。
- 新增 AITask.Type.entity_extraction(迁移 0011)+ extract-status 端点(轮询进度/成败)。
- 前端 runExtract 改提交+轮询;进资产页自动认领在途提取,刷新后 loading 自己回来。
验收:完整 Django 套件 149/149 全绿(含新增 4 测:异步落库+计费一次 / content空
回退 reasoning / 在途防重复扣费 / 状态端点成败透出);tsc + vite build 全绿;
makemigrations --check 无遗漏。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-22 23:15:11 +08:00 |
|
seaislee1209
|
612ab6864d
|
feat(pipeline): 基础资产页 A三视图手动 + B进故事板拦截 + C采用/未采用 + D删除
- A 三视图改手动:删"打开角色详情自动出三视图"逻辑、角色生成只出立绘(不再链式自动三视图);
详情弹窗保留「AI 生成三视图」按钮作手动入口(提示文案去掉"自动")
- B 进下一步拦截:「确认资产,进入故事板」按钮挂 guardGen —— 被引用角色/场景缺"已采用"参考图就弹窗拦
- C 采用/未采用:角色/场景卡加 toggle 徽章(已采用绿/未采用灰);默认按"实体名是否在脚本里"派生,
用户可点击覆盖并持久化(metadata.adopt);后端 set-base-asset-adopt 端点;下游 _storyboard_reference_images
只取已采用组(商品组永远保留、顺带排除未采用/三视图组的兜底误抓)
- D 删除:角色/场景卡 hover 显删除按钮(二次确认),商品主卡不给删;后端 delete-base-asset(连带三视图组)
- 顺手:提取闸门按钮去掉"不自动花钱"文案
验收:projects/assets/ai 全套(基线既有 7 失败零新增,新增 set-adopt/delete 3 测过);tsc+build 绿;
无头核对(采用 toggle/hover 删除/待审核盾齐活、0 console error)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-22 19:23:02 +08:00 |
|
seaislee1209
|
a39d2b8603
|
feat(video): 视频页「导出全部」— 把项目所有视频片段打包成 zip 下载
- 后端 ProjectViewSet 加 export-clips action:逐段从 TOS 拉取已采用视频片段、内存 zip 打包返回下载
(单段失败跳过不毁整包;空项目 400);文件名走 RFC5987 UTF-8 编码兼容中文
- 前端视频阶段 queue-bar 在「上传视频」旁加「导出全部」按钮(下载图标 + 导出中/失败态),
api.exportProjectClips 取 blob → 触发浏览器下载;仅有已完成片段时可点
- 单测 ExportClipsTests:打包全部片段 + 空项目 400
验收:后端单测绿(基线 4 失败零新增);tsc+build 绿;真打包 补水面膜 项目得 950KB zip;无头 0 报错
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-21 20:38:31 +08:00 |
|
 seaislee1209andClaude Opus 4.8
|
827fa7fa54
|
feat(ai): 实体提取解耦 — 定稿剧本后独立提取角色/场景 + 商品参考图永远带上
根因:实体跟脚本生成耦合,模型不稳(尤其改稿 revise)常丢实体 → 角色提不出、
参考图全空 → 故事板/视频退化纯文生图(用户 demo 全错的真因)。
- 新 skill ecommerce-entity-extract(按 skill-creator 法写):只提角色+场景,
角色铁律=穿整套衣服/空手/不带与商品同类物/不暴露;商品不提。4 项目实测稳定产出。
- extract_entities_for_project + /extract-entities 端点:读定稿剧本→提实体→
落库覆盖 metadata + 回填每镜 entity_refs(提取为唯一权威来源,脚本生成完全不动)。
- 商品参考图永远带上:_storyboard_reference_images(视频继承)改为无条件带
商品三视图→主图兜底,不再依赖 entity_refs 里有没有商品实体。
- 创建商品后端强制要主图(堵兜底洞:无图商品会让下游参考图彻底落空)。
实测:杂鱼煲(原实体0)→6实体,每镜参考图齐(角色+商品+场景),不再文生图。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-19 17:37:18 +08:00 |
|
 seaislee1209andClaude Opus 4.8
|
a71be19500
|
feat(core): 脚本 agent 体感打磨 — skill松绑/对白去重/模型自写收尾/品牌遮罩/删除提速
- skill:旁白/对白每镜交给模型按内容判断(去掉「默认旁白·对白按门槛」);visual 加厚撑满15秒
- 脚本 agent:输出协议加收尾交付语 + _closing_summary → summary 事件(替写死的「已生成」)
- 前端:有对白的镜不再重复显旁白;summary 当 AI 气泡;进度时间轴 @keyframes 嵌套失效→移顶层(动画真跑起来)
- 生成遮罩改品牌生成卡(icon-box转圈+标题+动态点+橙扫光条);AI全生确定后不再闪三菜单
- 删除分镜:不再误显改写罩子(拆 rewriteShot);放开「至少保留一个分镜」可删空;删除提速(后端 bulk_update + 前端 liteRefresh)
- 去掉脚本助手标题旁冗余的模型名
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-18 14:54:33 +08:00 |
|
 seaislee1209andClaude Opus 4.8
|
1ecb186ddf
|
refactor(core): 脚本收口——只留 agent 出稿,删旧散文路 + 单镜重跑改走 agent
删 /generate-script/ 端点 + generate_project_script + build_script_prompt + 旧单镜 build_segment_rerun_prompt;前端删静默兜底(agent 失败明确报错,不再掉回旧路)+ onGenerateScript prop/api。rerun-script-segment 改用 agent 单镜逻辑(regenerate_segment_via_agent:读全脚本上下文/保留其余镜/落新版本)。根因:旧路不产 script_entities/entity_refs,下游故事板/视频参考图断线→图飘。测试:删 3 个旧 generate 用例 + 重写 rerun 为 agent 版,ai+projects 23 测试除 4 个既有 base-asset 失败外全绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-17 22:16:01 +08:00 |
|
 zycandClaude Opus 4.8
|
a0ed8666df
|
perf(core): 项目列表改轻量序列化 + 计数走真实 count,根治刷新 2-3s
/api/projects/ 列表此前与详情共用重序列化器(嵌套 阶段/片段/故事板/时间线 + 每资产算 url),
20 个项目把全套关联拉出 → 实测 ~2-3s,正是每次刷新慢的主因。
- 新增 ProjectListSerializer(轻:名/状态/阶段/product/封面/脚本数/镜数);
ProjectViewSet.get_serializer_class 列表用轻的、详情用全量;
get_queryset 列表走轻查询(select_related product + annotate 计数,不做那串 12 个重 prefetch)。
实测 /api/projects/ 2-3s → 0.48s。
- 新增 /api/projects/summary/(total + by_status,只跑 COUNT,不拉项目对象)。
- 计数显示(侧栏徽标 / 仪表盘 总项目·SKU·N 个)改用分页响应的真实 count(productTotal/projectTotal),
不再用「已加载 20 条」的长度;projects 列表页脚本状态/镜数改读 *_count 字段。
闸:9 页全绿、无瀑布、API 全过;projects 端点提速 ~5x。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-17 19:27:10 +08:00 |
|
 zycandClaude Opus 4.8
|
c62abed536
|
fix(core): 删脚本分镜联动删故事板帧 + 演员库自取 person + 分镜编辑行抽组件
- views.py: delete-script-segment 同步删对应 StoryboardFrame(原 SET_NULL 留孤儿帧致故事板仍显示已删的场),并重排剩余帧 sort_order
- actor-library.tsx: 演员库改自取 person 资产(全局 assets 已懒加载不再全量预载,否则演员库全空),保存后 reload 即时入列
- pipeline.tsx: 抽出 EditableShotField 组件、PromptBox 参数化
- 附 perf-report 产物
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-17 19:18:15 +08:00 |
|
 zycandClaude Opus 4.8
|
200871847a
|
fix(core): 商品详情卖点可编辑+去假数据 / 出图后不再整页重载 / 图片长效缓存
- 商品详情页核心卖点:编辑态原是纯静态文本、且 save 不提交 selling_points,
既改不了也存不了;改为可改/删/回车增,save 带 selling_points 一起 PATCH。
- 去掉详情页 name/cat/target/卖点 的「设计稿假数据」fallback —— 商品没卖点
时不再凭空显示护肤品卖点,空值显示「未填写」。
- 出图成功后 submitAndPollAsset 不再整页全量 loadData(十几个 setState 触发
全页大重渲染),只刷当前项目详情 + 轻量刷余额。
- TOS 上传对象加 Cache-Control: immutable 长效强缓存,重渲染不再重拉图。
- products 序列化器内嵌商品图/封面 preview_url(并修回错位的 read_only_fields)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-17 18:01:29 +08:00 |
|
 zycandClaude Opus 4.8
|
0d1fce1cc1
|
fix(core): 基础资产「生成中」占位卡刷新后从后端认领恢复(出图本在 worker 跑,只是前端 loading 丢了)
问题:立绘/商品图出图是异步(worker),但 loading 占位只活在前端内存 genBusy + 当前页轮询 Promise,
刷新即丢 → 占位卡退回「待生成」,虽 worker 仍在跑、跑完手动刷新才见。
修复:
- 后端 GET /api/projects/{id}/pending-assets/ 返回在途出图任务(id/kind/label/status,读 request_payload)
- 前端进基础资产趴轮询该端点,据 (kind,label) 用 pendingHas 把对应占位卡置「生成中」;
在途数减少=有任务完成 → onRefreshProject 把占位卡换成真卡。离开该趴停止轮询。
tsc + py_compile + 21 测试通过。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-17 15:36:30 +08:00 |
|
 zycandClaude Opus 4.8
|
296888f0bf
|
feat(core): 基础资产 Agent 化 — 商品三视图(image_edit 参考主图)+ 人物立绘/三视图异步生成 + 演员库/详情
- 商品三视图:有真实商品主图时走 image_edit,以主图为参考锁包装一致(品牌字/配色/外形/Logo)
- 人物:据「某一版立绘」异步生成配套三视图(image_edit,worker 内跑),立绘/三视图各存版本可切换
- 基础资产出图改异步(run_base_asset_task / generate_triview_task),Web 层不被慢出图占住
- 前端:演员库浏览/新增、人物详情(立绘+三视图+版本切换/下载/查看大图)、按 busyKey 的单卡并发 loading(genBusy,替代全局 genBusyKey,各按钮互不阻塞)
- dev:本地连云端 MySQL 复用连接(CONN_MAX_AGE/health check/connect_timeout),仅 development 生效
- 含 projects 测试补充
tsc + py_compile + 26 后端测试通过。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-17 15:10:22 +08:00 |
|
 zycandClaude Opus 4.8
|
608c8aeb7f
|
refactor(core): 基础资产改对逻辑+对齐设计稿(一组多版本候选 + 详情弹窗 asset-detail-grid)
逻辑(后端):用 BaseAssetGroup 本来的设计,不再每次生成新建组
- generate_base_asset 复用同实体的组(商品=唯一商品组;人物/场景按 label):追加 candidate + 采用最新
- 版本 = candidate_assets,采用/当前 = adopted_asset;采用/切换走真 adopt-base-asset(下游只认 adopted)
- 人物三视图绑定到「某一版立绘 asset」:metadata.triview_of=<立绘 asset id>,同立绘多次=同组追加候选
- generate-triview 端点改取 portrait_asset_id;attach-base-asset 坏参数 404 加固
设计(前端):
- 人物/场景卡对齐设计稿(.prompt-box 可编辑 + 重跑/替换 + 转圈态,区头 N 个 + 克制「+ 新增」)
- 详情弹窗整套换成设计稿 asset-detail-grid:左大立绘(3:4)+版本缩略条;右三视图 section(16:9 + 重跑/下载 + 单张大图 + 暂无 tip + v1/v2 版本条)+ 提示词 section;脚部 下载立绘 + 使用该资产;场景无三视图
- 商品三视图内联面板版本=candidate_assets、采用走真 adopt
- 修:.thumb/.v-thumb/.h-thumb 非 .placeholder 导致缩略图不显图 → 接 --mock-media-url
本地 playwright 截图实测:基础资产卡 + 详情弹窗均按设计稿渲染。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-17 14:01:15 +08:00 |
|
 zycandClaude Opus 4.8
|
a9b7f077b9
|
feat(core): 基础资产页按流程文档补完 step4(人物/场景详情+演员库+三视图绑定立绘)
人物/场景:
- 卡片可点开详情弹窗:立绘大图(hover 右下角 下载/查看大图)+ 立绘版本切换 +
提示词重跑(覆盖卡片立绘,归入同角色)+ 应用到当前项目;场景详情不显示三视图
- 进入基础资产自动生成脚本提取的待生成人物/场景(带 loading),每项目一次
- 「替换」→ 演员库 replace 回填;人物区头部「演员库」入口
三视图:与「某一版立绘」1:1 绑定(metadata.triview_of=立绘组id)
- 生成/重跑立绘 → 链式据该立绘 image_edit 出配套三视图(锁角色一致性)
- 详情切换立绘版本 → 三视图跟着切;可据当前立绘再出多版,下方版本小图可切
- 后端 generate_person_triview + 端点 generate-triview,复用 model_library 三视图 SOP
商品三视图弹窗:记录版本、切换查看、重跑生成、采用此版本
演员库(新建 components/actor-library.tsx 覆盖层):
- 平台预设演员 / 我的演员两 tab + 添加演员工作台(AI 生成 / 本地上传保存)
- 替换基础资产卡:新增后端 attach-base-asset(把现有资产挂为候选并采用)
合并 dev 进来的火山真人审核绿/红盾到新的实体卡。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-17 12:00:56 +08:00 |
|
 seaislee1209andClaude Opus 4.8
|
b30eaed838
|
feat(core): 火山人像素材库审核(绿/红盾)接入 + 端到端验证
- assets_client.py:照搬 AirDrama,volcengine SDK + AK/SK 签名(凭证走 settings.ASSETS_API)。
- review.py:真人资产送审/轮询编排。一团队一组(AssetReviewGroup,OneToOne),全 best-effort 不破坏主流程。
- 模型:AssetReviewGroup + Asset.review_status/review_remote_id/review_error(迁移 assets/0003)。
- 集成:真人基础资产生成后 transaction.on_commit 静默送审(services.generate_base_asset kind==person)。
- 端点 poll-reviews + 序列化暴露 review_status;前端基础资产趴每8s轮询、人物卡渲染 审核✓(绿)/审核✗·重生(红)/审核中,审核终态后停轮询。
- e2e 已验:送审→建组→processing→active(真拿到火山绿盾)。
对抗式交叉验证(2审查员,0 critical)修复:
- get_or_create_team_group 并发竞态:DB 唯一约束去重 + select_for_update 串行化远程建组,杜绝重复建组/丢送审。
- create_asset 返回空 Id 不再标 processing(否则卡死黄);processing 超 15 分钟兜底判 failed,未知 Status 记日志,防永久 processing + 无限轮询。
凭证暂借 AirDrama,.env 改 ASSETS_API_* 两行即可换;ASSETS_API_ENABLED=false 可一键关停。回归 18/18 过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-17 10:51:23 +08:00 |
|
 seaislee1209andClaude Opus 4.8
|
3d38c173e6
|
feat(core): 角色对白(剧情向按需)+ 聊天精准改一镜 + 模型下拉移位 + 全流程e2e + 交叉验证修复
新能力(均已端到端验证):
- 角色对白 dialogue:[{speaker,line}](speaker=null 即旁白)。默认口播,用户在聊天提要求才出多角色对白(剧情向);narration 保留扁平拼接兼容下游字幕/配音。skill 同步:默认不强制对白。
- 聊天精准改一镜:聊天说「第N镜改XX」→ agent 读全脚本上下文、只重写那一镜(target_index + 后端 _merge_single_segment 强制保其余镜原样),保衔接。
- 前端:分镜卡渲染对白/镜型/露出;模型下拉从顶部移到输入框下方小按钮(对齐 ChatGPT/Lovart)。
全流程 e2e 真跑通:商品→脚本→基础资产(gpt-image-2)→故事板(@图N 多图合成锁脸锁商品)→视频(Seedance 6.4分钟出片,带音效+人声)。
对抗式交叉验证(3 审查员)修复:
- 改稿用基准稿时长 effective_duration(prompt head + normalize + merge),避免请求默认 60 把 90s/6镜稿尾镜截掉/单镜改空转。
- target_index 越界服务端早返回报错、不计费;模型未产出目标镜时抛错释放额度(不静默空转)。
- 前端「第N镜」正则收窄为 镜|场(去掉会误判「第3个卖点」的 个|段)。
- 回归:测试 setUp 停用 seed 中转站文本模型,保证命中可 mock 的 provider(18/18 过)。
CLAUDE.md 加「AI 生成 Agent 化架构」一节供后续维护。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-17 05:09:51 +08:00 |
|
 seaislee1209andClaude Opus 4.8
|
6464001f84
|
feat(core): AI 生成 Agent 化 — 多模型流式脚本 agent + 可插拔 Provider + gpt-image-2 参考图 + 模特库
- 后端·可插拔 Provider 层:通用 OpenAICompatibleProvider(tokenssr 等中转站,base_url+api_key,零改代码换站)+ ModelProvider.api_key
- 后端·脚本 agent:结构化 ScriptDraft 契约 + 加载电商 skill + 出稿/改稿一体对话 agent(3模式/多模型)+ 流式 SSE 端点(DRF SSE renderer)
- 后端·图像:gpt-image-2 参考图出图 + 故事板 @图1@图2@图3 多锚点合成(锁脸锁商品);Seedance 打开 generate_audio
- 后端·模特库:gpt-image-2 生成器(9:16氛围图→16:9白底三视图)+ seed_demo_models 管理命令
- DB·迁移:tokenssr 中转站 + 多模型 seed(豆包/GPT-5.5/Gemini + gpt-image-2);ScriptSegment 结构化字段
- 前端·脚本趴:接真 SSE(工具卡 + 思考流)+ 模型下拉 + 3模式 + 改稿;agentScriptStream
- skills/ecommerce-video-script 电商脚本技能(运行时依赖)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-17 03:12:03 +08:00 |
|
 zycandClaude Opus 4.8
|
366e077c05
|
feat(脚本): 按流程文档重写脚本阶段(自动提取人物/场景 + 标签胶囊改写 + 基础资产按标签 seed)
后端:
- 出稿后新增轻量提取调用,从脚本抽取人物/场景标签及每个标签的建议生图提示词,
写入 project.metadata(cast/scenes/cast_prompts/scene_prompts)
- 提取调用接入计费闭环(reserve→charge/release,记为 script_optimization);
best-effort:无模型/预扣失败/调用失败/解析失败都吞掉返回空,绝不阻断出稿
- generate_base_asset 增加 label,落 group.metadata,把生成结果归回脚本标签卡
前端:
- 设定卡风格补齐到 5 个(真实测评/痛点种草/小红书种草/开箱测评/对比展示)
- 标签改为待确认胶囊流:增删不立即落库,排进队列在输入框上方显示可撤销胶囊,
点发送才整体重写;待删划线、待加虚线
- 基础资产人物/场景按提取标签逐个 seed 卡,显示 AI 提示词、可改后生成
测试:新增提取+计费+release+label 共 4 个用例,全套 24 个通过(sqlite test 设置)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-16 17:59:41 +08:00 |
|
 zycandClaude Opus 4.8
|
9be2042520
|
fix(core): 测试清单 行24/28-39/46 — 流水线脚本&资产/消息页 + 单镜重跑后端接口
前端流水线(pipeline.tsx):脚本助手三选项指引(AI全生/一句话/自带脚本)+来源风格推荐;
风格/人物设定卡并持久化到 project.metadata;Enter发送/Shift+Enter换行;长文折叠10行;
生成进度流提示;分镜人物/场景标签可编辑并持久化+点击添加分镜;单镜重跑/删除即时反馈;
脚本助手记录按项目 localStorage 持久化;Stage2 基础资产补替换/重跑/可编辑提示词;
三视图采用弹窗+缺三视图气泡。
消息页(messages):复用全站 .search-inline 搜索框、去掉小标题背景方块。
视频项目(projects):列表按创建时间倒序,新建置顶。
性能:action 改后台 hydrate,消除创建/确认后白等(行29/37)。
后端(projects/ai):新增单镜 AI 重跑接口 POST /projects/{id}/rerun-script-segment/
(regenerate_script_segment 服务,复用 AITask+计费 reserve/charge/release;+2 单测)。
前端 build 通过;后端 check 0/无新迁移/apps.projects 14 测试通过。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-16 16:51:32 +08:00 |
|
 zycandClaude Opus 4.8
|
a8852345db
|
修复线上视频导出卡死(OOM)+ 导出健壮性加固
根因:后端容器内存 limit 仅 768Mi,ffmpeg 编码 1080P 竖屏时内存峰值超限被
K8s OOMKill,导出后台线程随 Pod 重启而死,任务永远停在 35%(本地无 limit 29s 出片)。
- k8s/core/api-deployment.yaml: 后端内存 limit 768Mi→2Gi、requests 256→512Mi,
给 ffmpeg 足够编码空间(根治)
- export.py: ffmpeg subprocess 加 900s 超时(卡死不再永久 RUNNING)+ -threads 2 降内存峰值
- views.py: submit-export 清理超 5 分钟未结束的僵尸任务,前端不再无限转圈
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-15 13:58:18 +08:00 |
|
 zycandClaude Fable 5
|
216a711291
|
后端生成闸+多项修复;前端全站更新;QA 审计与报告
后端:
- 新增 celery_health 生成前置闸——无 worker 在线时图片/视频生成入口
一律 503,防"提交到 ARK 后无人轮询、结果悬空+额度冻结"的数据丢失
- 拼接导出:帧率跟随源众数、字幕逐句重映射、原声/BGM 混音修复
- 资金核算审计脚本 + genesis 账目回填 + 滞留预留清理命令
- 接入 yunqi provider 与豆包 TTS 模型(catalog/migrations/bootstrap 命令)
前端:全站页面更新(pipeline/library/products/projects/team/account 等),
新增共享 pager 分页组件
QA:刷新 function-audit 全量输出,新增 full-qa 报告
文档:BP 产品介绍资料、design/CLAUDE.md
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-15 10:06:15 +08:00 |
|
 zycandClaude Opus 4.8
|
92826dec14
|
feat(core/backend): pipeline continuity + threaded ffmpeg burn-in export + upload/save-timeline
Video pipeline (script→assets→storyboard→video→stitch):
- robust split_script_into_segments (4 non-empty scenes), scene-aware storyboard/video prompts
- link VideoSegment→ScriptSegment + storyboard-frame reference image (graceful text fallback)
- idempotent poll_video_segment (no double-charge on repeated polling)
- threaded export (no Celery worker needed) + poll-export endpoint
- run_export_job rewritten to filter_complex: per-clip trim, xfade transitions,
subtitle burn-in (Pillow PNG overlay; this ffmpeg lacks libass), BGM mix
- upload-video-segment / upload-bgm / save-timeline endpoints
- serializers embed asset preview URLs (beat assets pagination); Pillow added to requirements
Also includes prior uncommitted backend work: account preferences/sessions,
billing trend, product/asset endpoints, accounts 0002 migration.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-09 14:46:16 +08:00 |
|
zyc
|
cfdcd84a30
|
feat: add AirShelf core implementation
|
2026-06-05 10:21:40 +08:00 |
|