seaislee1209 and Claude Opus 4.8
ec573151d2
fix(auth): 登录页修按钮丢失 + 黑块等高 + 品牌文案重梳(去流程罗列)
...
用户反馈登录页:① 登录按钮不见了 ② 左黑块比右栏矮一截 ③ 左侧铺一堆生成流程/
失败不扣费,杂、不像品牌门面。
- 按钮丢失:.auth-submit-zone(按钮+SSO+切换)原是 .auth-form 的兄弟节点,登录态被当成
flex 第三列挤出、被 overflow 裁掉 → 移进 .auth-form 表单内,按钮恢复。
- 黑块矮:.auth-brand 基础规则带 height:100%,而登录/注册 wrap 是 height:auto,百分比高
解析不出 → 黑块退回内容高、退出 stretch。删掉 height:100%,靠 align-self:stretch 拉等高。
- 文案:删 VALUE_POINTS 四条功能罗列 + 流程箭头 p,登录/注册统一干净品牌短句
(「让每件商品都有自己的带货短剧」/「开通团队,拍出第一条带货短剧」),守 design.md 克制调性。
实测:黑块=表单=600px 等高;登录按钮+SSO 显示正常。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 19:14:26 +08:00
seaislee1209 and Claude Opus 4.8
352f99d479
fix(qa): 修页面还原对比 harness(Mac死路径 + file://token崩)+ 全量28页跑通
...
当年只对了 account/team 两页就卡住,真因两个:
- compare-all.mjs designRoot 写死成原开发者 Mac 路径 → 本机找不到 HTML 稿,改 repoRoot 自适配
- compare-page.mjs preparePage 对 file:// 设计稿也注入 token(file:// origin=null)→ 崩,
限定 token 只对 http 目标注入(登录后页面如 dashboard 当年对不了的根因)
全量 28 页 pixelmatch:22 优秀(<2%)+ 3 良好(2-5%);3 个大 diff 均为有意偏离
(login/register 认证去邮箱)或真实数据(dashboard 修正后 6.38%),非回归。
+ _shot-extract-flow.mjs:提取新流程无头走查脚本。
报告:docs/todo/页面还原-截图对比收尾-2026-06-19.md
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 18:52:21 +08:00
seaislee1209 and Claude Opus 4.8
69163a8f7f
fix(pipeline): 提取闸门按「是否走过正式提取步」显隐,而非 script_entities 存在性
...
脚本生成期有时也会吐 entities(就是那个不稳的旧来源),若按 script_entities 存在性判断,
闸门会被误隐藏、用户看不到三按钮。改为提取步落库时打 metadata.entities_extracted 标记,
前端据此显隐:没走过正式提取 → 盖蒙版露三按钮;走过 → 露卡片。「重新提取」按钮在有实体或
有资产时显示(老项目也能重提)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 18:04:45 +08:00
seaislee1209 and Claude Opus 4.8
de29449a76
feat(pipeline): 兜底弹窗拦截 — 生成故事板/视频前查参考图齐不齐,缺了拦住
...
原兜底是静默退化文生图/文生视频 → 出来的跟用户建的角色/商品无关,白花钱、易纠纷。
因参考图是自动关联(没给手选),改为生成前拦截:
- missingRefsFor:对待生成镜的 entity_refs,查每个角色/场景是否有「按名字采用」的基础资产
(商品永远有主图、不算缺);没提取过实体则不拦(交给提取闸门)。
- guardGen 包住 4 个生成触发点:故事板整张 / 全部视频 / 单段视频 ×2;单段只查对应镜。
- 缺了弹窗:列出缺的角色/场景 + 「去补齐参考图」(跳资产趴)/「仍要生成」(随他便,带警告)。
- 弹窗 CSS 守 design token(深色遮罩 + --r-md + --heat/--accent-black)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 17:57:52 +08:00
seaislee1209 and Claude Opus 4.8
c6d1d2f6fe
feat(pipeline): 资产页实体提取闸门 — 蒙版+3按钮替掉自动生成(不掏口袋)
...
进资产趴原会自动 genPersonWithTri/genBaseAsset 出图、直接扣用户费,"被掏口袋"感。
改为用户点了才提取/生成:
- 删掉进资产趴的自动生成 effect(及 autoGenRef)。
- STAGE 2 盖半透明蒙版 + 三按钮:① 只提取关键词(不出图) / ② 提取+生成角色和场景
(立绘+场景图) / ③ 提取+全套(立绘+三视图+场景图);running 态转 loading,完成自动揭开。
- runExtract 调 /extract-entities 提实体落库,②③ 再按返回实体循环 genBaseAsset/genPersonWithTri。
- 提取后露「重新提取角色/场景」按钮(改了脚本可重提)。
- 闸门据 metadata.script_entities 是否落库自动显隐;已有资产的老项目不打扰。
- api.extractEntities + 类型 script_entities;蒙版 CSS 守 design token(--heat/--r-md/--accent-crimson)。
角色卡仍只露可改的 visual_prompt(质量模板后端 build_person_frontal_prompt 包,用户看不到)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 17:50:31 +08:00
seaislee1209 and Claude 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
seaislee1209 and Claude Opus 4.8
901d6920f1
docs(todo): 管线「提示词从哪来」溯源页(说人话+竖向流程+点击溯源+播放)
...
按用户对齐:竖向流程图,提示词拆 3 块(@图指定谁/画面描述/质量词),每块标来源色
(AI编/你填/代码模板/生成的图)+ 真实示例;重点砸在 3 个最模糊点(第2步人物描述哪来、
第3/4步参考图怎么引)各一个高亮答案;质量词如实标"现在基本没有,只代码模板写死几句"。
点积木高亮溯源 + ▶播放流动,纯静态无依赖,iPad 浏览器可开。11 块交互实测通、0 报错。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 16:09:06 +08:00
seaislee1209 and Claude Opus 4.8
8af2df709c
docs(todo): 后端生成管线全景结构图(HTML 白板)— 每步 AI/代码/数据 标清
...
3 个侦察 agent 实测代码录制:脚本→资产→故事板→视频 全链。可视化页面标明每步触发/读取/
提示词拼装/AI还是纯代码/参考图引用/落点。关键澄清:角色场景=AI一次产出非程序提取;
AI 只在 5 处真调(①脚本text ②③图 ④故事板图 ⑤Seedance视频),其余纯代码。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 15:02:14 +08:00
seaislee1209 and Claude Opus 4.8
e9626d943f
fix(core): 管线参考图 #1 — 商品参考图走主图兜底(原先无商品基础资产组就丢)
...
诊断:实测 _storyboard_reference_images,资产齐全的项目 3/3 全中,链路本身对;
断点在上游资产没配齐/标签错。其中商品最明确:系统非要"商品基础资产组"才认,
但商品天生有真实主图 → 匹配不到商品组时直接用 _product_cover_url(project.product) 当参考。
实测:项目 37197c57 镜0 从 2/3 → 3/3(商品参考图补上);有商品组的项目不重复加。
回归:apps.ai+projects 测试仍 7 个预存 image-provider 失败,零新增。未碰脚本 agent。
附完整诊断 docs/todo/管线参考图链路诊断-2026-06-19.md(根因 #1商品兜底 / #2实体没全生成 / #3标签对齐)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 14:04:28 +08:00
seaislee1209 and Claude Opus 4.8
fb04bf05ae
docs(todo): Wave 5 总验收 — 完成报告(Wave 0-4 落地 + 2组migration/拆分移交)
...
42 后端测试 35过+7预存失败(零新增回归);tsc/build 0;14路由 boot 0报错。
两件移交:2组 migration 低峰 apply + pipeline 巨页拆分待确认。附 apply 操作指引。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 13:15:27 +08:00
seaislee1209 and Claude Opus 4.8
1c5606abcb
feat(core): Wave 4 P2 — 账户页 mono 字号分级 + 商品卡缺三视图徽标
...
- account-page.css:25 处纯 mono 装饰字号对照 V1 account.html 收回 9-11.5px 分级
(原统一 12px);分页器等无 V1 锚点的保持现状不瞎改
- products.tsx:商品卡补「缺三视图」徽标(复用现成 .tri-missing-badge,真实字段判定
!cover_asset && 无图,判不准则不显示不造假);stat 生成选择 modal 超 P2 范围跳过
验证: tsc 0 · build 0 · 14 路由回归 boot 0 报错 · 登录 702ms 无邮箱
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 13:13:02 +08:00
seaislee1209 and Claude Opus 4.8
09e67a5893
feat(core): Wave 4 pipeline 视觉签名(纯视觉/rule 3 合规)
...
- 脚本助手头补 model mono 签名「· {模型名}」(品牌签名,用 S2 的 .mono-11 工具类)
- 阶段4 视频卡 meta 补三段「{N}s · {分辨率} · ~¥0.45」(分辨率取 timeline.resolution)
- 阶段4 queue-bar 补 Seedance 预估「约 15 秒」
- 阶段5 时间轴 zoom 范围 100-300 → 50-200(对齐 V1)
未碰脚本 agent/生成/轮询任何业务逻辑,只改文案/范围。tsc 0 · build 0。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 13:08:25 +08:00
seaislee1209 and Claude Opus 4.8
946e0169cd
docs(todo): Wave 3 收尾(11页) + Wave 3.5 邀请制全栈完成 + 2组migration待apply标注
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 12:46:59 +08:00
seaislee1209 and Claude Opus 4.8
b82c4d3234
feat(core): Wave 3.5 团队邀请入口 — 生成邀请码弹窗 + 复制码/邀请链接
...
team.tsx 加「邀请成员」按钮 → gen-invite 弹窗:角色(成员/团管)+ 月限额 → api.createInvitation
生成邀请码,cred-card 展示码 + 邀请链接(/register?invite=)+ 一键复制;复用 batch1 的 cred-card 类,无新 CSS。
验证: tsc 0 · build 0 · 走查 邀请按钮/弹窗打开/角色select/生成按钮/ESC关 全过 · 0 console error
⚠️ 生成码 + 凭码注册的 e2e 需先把 Invitation 迁移 apply 到远程 MySQL(逻辑已被后端 5/5 测试证)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 12:45:16 +08:00
seaislee1209 and Claude Opus 4.8
c0a8582f3b
feat(core): Wave 3.5 前端 — 注册页/登录双态 + 邀请制 API 接线(认证定调:无邮箱)
...
scaffolding: types.ts 加 Invitation 类型;api.ts 加 listInvitations/createInvitation/revokeInvitation +
register() 加 invite_code;route-config AuthMode "login"|"register" + /register 返回 register 态;
App.tsx onModeChange 按 mode 切 /login↔/register URL
auth-screen.tsx(sub-agent):登录+注册双态(按 initialMode 渲染),去掉 /register→/login 强制改写;
注册表单 = 团队名/用户名/密码/确认密码/邀请码(去邮箱!)+ 左价值点 + 协议勾选 + 一致性校验,
有码提示「加入团队」无码「开新团队」;登录补第三方(微信/飞书+OR线)+ 切换行 + lead/mono;登录保持秒进
styles.css:仅加 .auth-* 注册态/第三方/切换行 CSS(restraint token)
验证: tsc 0 · build 0 · 走查 登录(无邮箱/第三方×2/切换/秒进698ms)+ 注册(5字段/0邮箱/0「邮箱」文案)
+ 切换态(URL→/register)全过 · 0 console error
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 12:41:36 +08:00
seaislee1209 and Claude Opus 4.8
ba855cc219
feat(core): Wave 3.5 邀请制后端 — Invitation 模型 + 端点 + register 改造(只生成迁移不apply)
...
- Invitation 模型:team/code(TEAM-XXXX-XXXX唯一)/role/email/月额度/created_by/expires_at(7天)/
used_by/used_at/status(pending/used/revoked/expired);迁移 accounts/0003(未 apply 远程库,rule 3)
- RegisterSerializer 加 invite_code:有效码→幂等 get_or_create 成员+标used+跳过额度发放;
无码→开新团队当 owner+试用额度(原逻辑);邀请 role 不许 OWNER 降级 ADMIN;不存在/已用/过期→400
- 端点 /api/auth/team/invitations/(GET列/POST生成)+ <id>/revoke/;权限复用 can_manage_team(超管/团管)
验证: django check 0;apps.accounts 测试 5/5 OK —— 含「凭码加入同团队/角色额度对/不重复发额度/
未知码400/普通成员生成403」。认证定调:username 为主标识、不用邮箱注册。
⚠️ Invitation 迁移需用户低峰 apply 到远程 MySQL,前端生成码 e2e 才能跑(逻辑已被测试证)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 12:31:14 +08:00
seaislee1209 and Claude Opus 4.8
9643f9ba5e
feat(core): Wave 3 messages — 详情多动作 actions[](按type推断)+ 静音同类 + 查看日志壳
...
消息中心(sub-agent):inferActions 按 notification_type+priority 推断动作集(task→进入项目/查看日志、
team→查看团队/调整权限、billing→前往充值、system→已了解);固定 归档+静音同类(前端本地 Set 过滤);
查看日志就地展开黑底 mono .msg-log(消费 metadata.log,后端无该字段时显占位「暂无日志」,不造假)
验证: tsc 0 · build 0
⚠️ 需后端补 metadata.log 字段(失败/异常任务原始日志)前端即生效。移交监督。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 12:26:05 +08:00
seaislee1209 and Claude Opus 4.8
05215206f1
docs(todo): Wave 3 进度 — 10 页 P0/P1 还原落地(sub-agent 并行,4 批)
...
团队/账户/资产库/AI工具/商品/项目/工作台/外壳/设置/商品创建抽屉 全部 tsc+build+无头走查+截图通过。
剩余:消息(下一拍)、登录(并入 Wave3.5)、pipeline视觉(并入 Wave4)。真实数据缺口降级不造假、移交监督。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 05:30:29 +08:00
seaislee1209 and Claude Opus 4.8
378b0a350c
feat(core): Wave 3 batch4 — 外壳账户菜单 + 设置dirty引擎 + 商品创建抽屉多图
...
全局外壳(sub-agent):侧栏 .user 点击弹账户菜单(头像+店名+用户名[非邮箱,认证定调]+
个人设置/消息/团队/消费/退出),复用现成 .shell-account-menu CSS,点外部/ESC 收起
设置页(sub-agent):dirty-state 引擎(baseline+draft diff 13字段,顶栏「保存所有变更」
无改动 disabled、改动激活+N项计数、统一保存、beforeunload、nav dirty-dot);修一处类型错(|| {} → 可选链)
商品创建抽屉(sub-agent):主图多图≤5+.pf-grid缩略网格+单张删、submit主图/卖点必填校验+收编bulletDraft、
上传区拖拽变橙、卖点字重对齐;内联 style 抽进 css
验证: tsc 0 · build 0 · 走查 账户菜单5项+ESC、设置保存按钮无改动disabled、抽屉multiple+pf-grid 全过 · 0 console error
⚠️ 外壳:顶栏头像菜单接线需改 App.tsx/pipeline.tsx(超出单文件范围),侧栏入口已全可用。移交监督。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 05:29:23 +08:00
seaislee1209 and Claude Opus 4.8
da8c6a70a7
feat(core): Wave 3 batch3 — 商品库视图切换/多选/素材三态 + 项目进度条/批量 + 工作台真实KPI
...
商品库+详情(sub-agent):网格/列表视图切换、分类筛选改多选(Set+计数徽标)、素材卡三态pill
(接真实 review_status 循环切换)、采用版本联动素材卡状态+prepend、素材区视图/状态筛选/重置
项目列表(sub-agent):网格卡补 .prog 5段进度条+N/5、失败 pill 修返回 err(原 fail 无定义退化无色)、
批量栏+card-check多选+批量删、镜数/时长用真实字段(缺则降级不造假)、去重复删除入口
工作台(sub-agent):KPI delta 接真实本月新建数(全量未加载则不显)、删无真实源的假delta、
余额用真实冻结/总资金占比、日期改 mono、最近项目镜数用真实 video_segment_count
验证: tsc 0 · build 0 · 走查 视图切换/列表态/分类chip/进度条/批量勾选/KPI 全过 · 0 console error
⚠️ 真实数据缺(未造假,降级处理):非person素材无review_status初值;dashboard无月度预算/上月对比字段。移交监督。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 05:19:32 +08:00
seaislee1209 and Claude Opus 4.8
38f56cb037
feat(core): Wave 3 batch2 — 资产库详情/上传/批量 + AI工具模特库/gen-card/pl-modal
...
资产库(P0,sub-agent):多选+吸底 bulk-bar、资产详情弹窗(立绘+三视图+标签/属性+商品媒体画廊)、
上传 Drawer→居中 Modal(类型分段+按类型字段+拖拽预览)、缺三视图徽标(复用现成类)
AI图片工具(P0,sub-agent):接入现成 ActorLibrary 模特库弹窗、gen-card 三件套(再生成/就地反馈/
已采用绿角标,采用反馈去全局弹窗改就地)、平台套图恢复多选+分组、商品库 pl-modal 选择器(restraint重写)
验证: tsc 0 · build 0 · 走查 资产详情/上传弹窗开关ESC + 模特库/pl-modal 打开 全过 · 0 console error
⚠️ 真实数据缺(未造假):资产「移动到」改分类需 api.updateAsset 支持 category 字段;
详情三视图版本历史 V1 是 mock 无真实源;平台无 platform 字段→前端组织分批。均移交监督。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 05:08:21 +08:00
seaislee1209 and Claude Opus 4.8
0083918207
feat(core): Wave 3 batch1 — 团队页5弹窗 + 账户页充值/筛选/列重排还原
...
团队页(P0,sub-agent):创建账户(role-choice双卡+随机生成+每日/月/总额三档)、
分享凭据(cred-card+单项/一键复制)、编辑成员/重置密码(警示框)/月限额(5预设pill+实时剩余),
全用 TeamModal 外壳 + team-page.css restraint token 重写(不复用 styles.css 旧暖米类)
账户页(P0,sub-agent):充值扫码弹窗(QR占位+金额+赠送+双按钮)、三表 filter-bar、
项目/成员表列重排(role-pill/progress-mini/status-tag),CSS 在 account-page.css
验证: tsc 0 · build 0 · 走查 团队2弹窗(role-choice双卡/三额度/预设)+账户充值弹窗 开关ESC 全过
· 3 筛选条在 · 0 console error
⚠️ 真实数据缺(未造假,已降级):Project 无 owner 字段→账户项目表去「成员+角色」列;
TeamMember 无完成数/最近活跃→去这两列。需后端补字段才能完整还原(移交监督)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 04:51:29 +08:00
seaislee1209 and Claude Opus 4.8
8e6c6f0881
docs(todo): Wave 2 收口 — part2(poll-reviews挪Celery/写action瘦身)按 rule 3 暂缓移交监督
...
读码判定两项均落在 rule 3「严禁碰 生成/轮询业务逻辑」内,且对已验证功能(管线写契约 /
借火山AK审核子系统)动刀、loop 内无法 e2e 验收 → 按 rule 14 主动暂缓,附落地方案供用户监督执行。
Wave 2 实质收益(复合索引 + 消息中心 N+1)已在 part1 (99a442e ) 落地、零回归。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 04:28:37 +08:00
seaislee1209 and Claude Opus 4.8
99a442e883
perf(core): Wave 2 part1 — 复合索引(只生成不apply) + 消息中心 N+1 治理
...
索引(只 makemigrations 看 SQL,远程 MySQL apply 留用户低峰 / rule 3):
- Asset (team,category,-created_at)+(team,asset_type)、CreditLedger (team,-created_at)+
(team,ledger_type,created_at)、Project (team,-updated_at)、AITask (team,-created_at)、
Product (team,-created_at);迁移 assets0005/billing0002/projects0004/ai0008/products0002
消息中心 N+1(ops/views.py):
- type_counts 原 6 次 count(每请求)→ 一次 aggregate(Count(filter=...)) 条件聚合
- ensure_team_notifications 项目花费原逐项目 aggregate(N+1)→ 一次 values('project').annotate(Sum)
验证: apps.ops 测试 3/3 OK;全量 6fail+1err 均为预存 image provider 路由失败(stash 跑 baseline
复现)= 零新增回归;索引迁移在 sqlite 测试库成功 apply
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 04:18:30 +08:00
seaislee1209 and Claude Opus 4.8
42c3c046ea
feat(core): Wave 1 part2 — 双主题清污染/mono分级/富分页器/hero字重
...
S1 双主题: styles.css Dashboard 区(.recent-row/.shortcut/.tip)迁入 design-restraint.css,
暖米旧 token→restraint(--orange→--heat 等);修 .queue-chip svg --ink-3→--black-alpha-56。
实测 .shortcut .ic 橙 = rgb(250,93,25)=--heat(原泄漏成暖橙 #E55B26)
S2 mono: design-restraint.css 加 .mono-10/11/12(10.5/11/11.5px)工具类(逐页应用并入 Wave 4)
S7 分页器: pager.tsx 加可选 onPageSizeChange(条数循环)/跳页输入/sticky,旧调用方零破坏;
CSS 加 .size-cycle/.jump/.sticky(接线 products/library + 服务端分页放 Wave 3)
S8 hero 字重: 核 V1 实测 account/team hero 数字均 font-weight:700 → account 3 处 + team 2 处
改 700(据实还原 V1 标准答案;记录与 design.md §2.5 的内部不一致)
S6 批量栏共享挪 Wave 3(与 projects/library 重建一起做)
验证: tsc 0 · build 0 · computed-style 橙=heat/字重=700 · pixelmatch account 1.23%/team 2.13%
· 14 路由回归 boot 0 报错 · 登录 639ms
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 04:07:34 +08:00
seaislee1209 and Claude Opus 4.8
74e3c818c5
feat(core): Wave 1 part1 — 浮层进场动画/ESC + Toast 归正 + 账户表横线
...
S4 浮层: overlays.tsx 新增共享 useOverlayTransition(挂载→下一帧上 .show 触发
scale(.96→1)/translateX 进场过渡;关闭先撤 .show 播退场再卸载)+ 统一 ESC 关闭,
应用 TeamModal/ConfirmModal/SuccessModal/Drawer;EmptyPanel 补 .ic-empty 灰 icon
S3 Toast: ToastLike 改用设计系统 .toast(右下/单橙 ic-t/shadow-floating/滑入),
不再随 success/error 变绿红边;auth login-toast → .toast
S9 表格: account-page.css 删 tbody td border-bottom(对照 V1 account.html 确认应无行线)
验证: tsc 0 · 交互走查 toast出现+ESC关弹窗 · 14 路由回归 boot 0 报错 · 登录 643ms
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 03:51:30 +08:00
seaislee1209 and Claude Opus 4.8
8a0ae6a19d
perf(core): Wave 0 性能根因 — 连接复用/视频轮询脏检查/图懒加载/隐藏tab停轮询
...
- settings/base.py: MySQL 加 CONN_MAX_AGE=300 + 健康检查 + connect_timeout=5
(development/production 共用,production 经 from .base import * 继承);development 去重
- App.tsx pollVideosQuiet: 收尾 setProjectDetail 改 JSON 脏检查,在途段未变化时
跳过 setState,整棵管线不再每 5 秒空重渲染(纯前端,不碰生成业务)
- ai-tools.tsx: 任务历史网格+列表两处 img 补 loading=lazy/decoding=async
- pipeline.tsx: 审核(8s)+在途资产(4s)纯读轮询加 document.hidden 守卫
(视频5s轮询驱动生成,保守不加;详见进度文档)
验证: tsc 0 · django check 0 · 14 路由 headless boot 0 报错 · 登录 726ms 无假延迟无邮箱
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 03:36:07 +08:00
seaislee1209 and Claude Opus 4.8
afa8e07154
docs(claude): CLAUDE.md 对齐现状 — core/ 为开发目录、电商AI平台/ 为视觉标准答案
...
- 根 CLAUDE.md:删死目录(app//v2/);设计铁律从"改HTML/restraint.css"改为"改core/前端React+design-restraint.css";路径速查补 core/ 真实路径;新增认证定调(用户名+密码+邀请制,不用邮箱)
- design/CLAUDE.md:空模板参数表填为 AirShelf 真实值(React19/Vite7/自研路由/纯CSS/design-restraint.css/lucide/1440x900)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 03:10:19 +08:00
seaislee1209 and Claude Opus 4.8
856a93b8a9
docs(audit): UI 还原 + 性能审计报告;修登录假动画延迟
...
- 新增 UI 还原对比报告 / 性能审计报告(2026-06-19,14 块页面 + 6 块性能,逐项 file:line)
- auth-screen: 删除登录成功后 ~1.5s 人为进度动画延迟,凭证验过即进
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-19 02:07:44 +08:00
seaislee1209 and Claude Opus 4.8
5cfee715a2
feat(core): 脚本交互再打磨 — 点字展开思考 / 一句话主题对话流 / 删除秒删持久队列 / 生成可停止
...
- 思考过程:点整行(不只小箭头)即可展开/收起
- 一句话主题改对话式:确定=确认风格/类型 → 模型主动问主题 → 输入再生成;设定卡「返回」回三选项
- 删除分镜:本地秒删 + localStorage 持久重试队列(扛刷新、网络不好自动重试到删成、绝不回滚)
- 生成中发送键变停止键:AbortController 掐断流(后端检测断连自动释放预扣额度)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 23:32:15 +08:00
zyc and Claude Opus 4.8
4399da2090
feat(ai): 图像主力从 tokenssr 切到 yunqi(支持 images/edits 图生图)
...
TOKENSSR 余额将尽,切换图像默认 provider 到 yunqi。yunqi 的图生图
端点需 Azure 风格 ?api-version=2025-04-01-preview,不带会 404。
- provider 加 api_version 字段,OpenAICompatible 生图/改图端点自动附加
?api-version=(配了才加,tokenssr 等零影响)
- build_provider 解析 api_version:DB(ModelProvider.metadata)优先 → .env 回退
- 迁移 0007:启用 yunqi:gpt-image-2 为唯一 active 图像模型,禁用其余
- 摘除死代码 YunqiProvider 导出(旧类写死"不支持图生图"会误导)
端到端验证:图生图(三视图,36s)+文生图(14s)均正常出图。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 18:15:34 +08:00
seaislee1209 and Claude 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
zyc and Claude Opus 4.8
9fce7e8fff
feat(core): 平台套图/模特上身图生成设置加可编辑提示词输入框
...
生成结合提示词出图,默认按商品名预填模板,可自由编辑
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 14:15:06 +08:00
zyc and Claude Opus 4.8
8e18d1c3c6
fix(core): 新建/删除项目后管线永久卡 loading — 旧详情请求晚到冲掉新项目
...
根因:action() 操作后 refreshProjectDetail() 闭包持旧 activeProjectId,
新建项目导航到 B 后,先发的旧项目详情 200 晚到把 projectDetail 冲回旧项目,
projectDetail.id≠activeProjectId → pipelineProject 变 null → 永久卡 loading(接口全 200 也卡)。
- refreshProjectDetail / 视频轮询 回写前用 activeProjectIdRef 校验 id 一致才 set,丢弃晚到旧响应
- 删除当前激活项目时清空 activeProjectId/projectDetail,杜绝拿已删 id 拉详情的 404 循环
- 详情拉取失败自动退避重试 3 次,404/403 即落错误态;仍失败给「重试/返回项目列表」,不再无限 loading
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 12:00:44 +08:00
seaislee1209 and Claude Opus 4.8
4c21d85ba1
feat(core): 脚本 agent 真流式思考动画 + 场景图16:9 + 资产卡/审核标修复 + 模型收敛
...
- 进度区改竖线时间轴:推理模型 reasoning_content 逐字转发(volcano),状态字=模型实时最新一句+秒数+折叠展开思考全文(替代旧 ProgressStream/ThinkingStream)
- 场景基础资产出图改 16:9(run_base_asset_task size + 提取提示词横屏)
- 已出图立绘主卡不再被在途轮询任务误盖转圈
- 审核态随项目详情持久下发(BaseAssetGroup.adopted_asset_review),刷新不丢徽章
- 设定卡加「← 返回」回三选项;模型选择器固定按 created_at 排序(默认豆包2.0Pro)
- 新增 reasoning 转发回归测试
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 11:25:13 +08:00
zyc and Claude Opus 4.8
675b4db0aa
fix(core): 故事板单帧网络超时自动重试 + 在途锁放宽防重复扣费
...
中转站(tokenssr)偶发 Read timeout 会掐掉单帧,4 镜出 3 张卡住不收尾。
出图调用加瞬时错误有界重试(超时/502/连接重置才重试,审核拦截等确定性失败立即抛)。
配套把 poll 在途锁窗口 3min→12min(可配 STORYBOARD_INFLIGHT_STALE_MINUTES),
覆盖 worker 最坏重试时长,避免重试期间任务被判僵尸 → 同镜重复起线程 + 重复扣费。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 11:02:17 +08:00
zyc and Claude Opus 4.8
326c34ecd1
fix(core): 资产详情大图随数据显示,缩略图已出大图不再卡转圈
...
- 三视图/立绘大图改为跟数据(url)走,出图完成即显示,不再被在途轮询的
busy 标志挡住——根治「小缩略图已出、大图一直转圈」
- 一并带上工作区其余改动(script_agent / services / tests / ai-tools / actor-library / App)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 10:57:02 +08:00
zyc and Claude Opus 4.8
fe38d3a512
fix(k8s): worker 内存 limit 768Mi→2Gi 防 OOMKilled 反复掐生成
...
出图任务在 worker 内把成品图/视频整张下载进内存再上传 TOS,叠
concurrency=4 峰值大,768Mi 会 OOMKilled(Exit 137)→ worker 反复
重启 → 生成入口 ping 不到 worker 报 503。request 同步 256Mi→512Mi。
纯 K8s 配额,不动镜像/代码。节点 16Gi 仅 16% 预留,余量充足。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 09:41:53 +08:00
zyc and Claude Opus 4.8
bd719041a5
fix(core): 新建项目选商品卡封面锁 1.4:1 高度,竖图/截图不再拉伸卡片
...
object-fit:cover 裁切 + overflow 隐藏,对齐商品库网格做法
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 09:22:23 +08:00
seaislee1209 and Claude Opus 4.8
c3306bcac3
fix(core): 交叉验证修复 — 单镜改稿按 DB 真实镜数(防截镜误扣)+ 模型框点外关闭选择器
...
critical:regenerate_segment_via_agent 改用 _draft_from_version 从 DB ScriptSegment 行重建基准稿(原读 stale content,用户增删镜后 normalize 会按 stale total_duration 截掉真实镜还照扣费)。低危:模型框容器补 chat-model-pick class,点外关闭选择器生效。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 22:17:47 +08:00
seaislee1209 and Claude Opus 4.8
03e7949307
feat(core): 模型选择框换 restraint chip 下拉 + worker 并发出图(修 -P solo 串行)
...
UI:脚本助手模型框从『原生 select + inline style』换成复用设计系统的 chip 下拉(向上展开,新增共享 .align-up 变体),去 inline、合规范。并发:本地 worker 从 -P solo(单任务串行=一次只生成一张)改 -P threads -c 4;生产 k8s worker --concurrency 2→4。基础资产/故事板/视频出图可并行。loading 动画基础设施(卡内+全局 spinner)已验证存在。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 22:17:47 +08:00
seaislee1209 and Claude Opus 4.8
edaa314261
feat(core): 故事板/视频提示词改用户钦定 @图N 模板拼装
...
故事板:撤『分镜表』回『一镜=一张导演故事板』;refs 版出【设定】@图N是角色/商品/场景 + 导演故事板指令 + 【分镜脚本】(本段约X秒) + 该镜脚本;_storyboard_reference_images 按 角色→商品→场景 排序,@图N 与 image_edit 传图顺序锁死。视频:_video_reference_images 收齐 角色/场景/商品 基础资产 + 本镜故事板帧(四类带类型,角色→场景→商品→分镜图);build_video_segment_prompt 出【设定】@图N…【分镜】根据@图N分镜图…【脚本】该镜脚本;submit_video_segment 传图顺序与 @图N 对齐。新增 _segment_script_text 复用。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 22:17:47 +08:00
seaislee1209 and Claude Opus 4.8
016c859004
feat(core): 人物正面氛围图按统一模板后端拼装(全身/纯色背景)
...
新增 build_person_frontal_prompt:电商真人模特,氛围正面全身照,<脚本提取/用户描述>,自然妆容,柔和影棚光,真实质感,单人,纯色背景。管线人物立绘(generate_base_asset kind=person)与模特库 seed(model_library)都改走它,不再把原始描述裸丢生图、不再半身/简洁背景。三视图 THREE_VIEW_PROMPT 保持不变。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 22:17:47 +08:00
seaislee1209 and Claude 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
zyc and Claude Opus 4.8
0695c36f4c
fix(ai): 平台套图改走商品主图参考 image_edit · 模特上身图锁商品+模特双图
...
- 平台套图(cover)以前纯文生图,不参考真实商品主图 → 出图与商品对不上;
现以商品主图为参考图1走 image_edit,锁包装一致性,有模特则参考图2=模特
- 新增 build_platform_cover_prompt_refs;model_url 解析对 cover 模式同样生效
- 补回归测试:cover 传商品主图、model 传商品主图+模特图、无主图回落文生图
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-17 21:58:39 +08:00
zyc and Claude Opus 4.8
7c6d4477da
feat(core): 列表数据在途显示骨架屏(加载态),不再先显示空状态
...
渐进渲染后,列表在接口返回前会短暂显示「0 SKU / 显示 0」的空状态,易被误读为「没数据」。
新增 SkeletonGrid/SkeletonRows(components/loading),区分「加载中(请求在途且无数据)」与
「加载完确实为空」:
- 全局态页(商品库/视频项目/工作台最近项目):App 传 loading={!dataLoaded},未加载完显示骨架。
- 自取页(资产库/商品详情AI素材/图片生成任务/账单流水):各自 loading 标志,首次拉取时显示骨架/加载行。
- 团队成员有 owner 兜底行(非空)不改。
闸:9 页全绿、功能正常;实测 /products 加载期显示骨架→数据到后渲染真实卡片。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-17 21:37:07 +08:00
seaislee1209 and Claude Opus 4.8
6e73fb53dd
fix(core/backend): review_* 列容忍漏带字段插入,根治上传 1364(防复发)
...
review_status/review_remote_id 加 db_default='';review_error(TEXT,MySQL 不许默认值)改可空。根因:旧代码插入 Asset 不带 review_* 列 → NOT NULL 无默认 → MySQL 1364。迁移已应用到 dev 共享库,补提交迁移文件保持库/代码一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 21:02:13 +08:00
zyc and Claude Opus 4.8
4cef215853
perf(core): 首屏渐进渲染——身份就绪即显示,全局数据后台填充不阻塞
...
原 boot 在 me() 后 await loadDataWithRetry() 才 setBooting(false),整屏「加载中…」要等齐
全部全局接口(products/projects/billing/models/未读)中最慢的那个才消失。
改为:me() 校验身份成功即 setBooting(false) 渲染外壳;商品/项目/余额/未读 后台并行填充,
页面骨架先出来、数据到了再补。数据加载失败只记录,不阻塞渲染、不踢登录(token 已验证)。
各页本就处理空初始态;深链(pipeline/商品详情)按 route 独立取详情,不依赖全局列表。
实测:外壳 ~1.3s(me 返回即出)显示,products/projects ~1.7-1.9s 在其后填充——
任何全局接口变慢不再卡住首屏。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-17 20:40:10 +08:00
zyc and Claude Opus 4.8
c9fb7139ac
refactor(core): 抽出共享 ProductCreateDrawer · 商品/项目新建复用同一流程
...
- 新增 components/product-create-drawer.tsx,products/projects 改用同一右侧 Drawer 组件(products -188 / projects -116)
- ai-tools 配套调整;附 perf-report 产物
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-17 20:13:40 +08:00
zyc and Claude Opus 4.8
b714976d38
feat(core): 消息中心对齐设计稿 · 处理记录(真实数据)+ 字号/搜索框/页脚 + 归档接活
...
- ops/views.py: 通知 metadata 写入真实 timeline(项目/资产/计费/欢迎,真时间戳),create_once 给旧通知补齐 timeline
- messages.tsx/css: 新增「处理记录」区块(读 metadata.timeline)+ 补回 .msg-timeline/.msg-step/.msg-log 样式;搜索框结构回设计稿 .msg-search;mono 字号对齐 10.5/10px;空态图标色 token 化
- 归档按钮接活:api.archiveNotification + App 装配 onArchive + 详情页脚归档(后端落 archived_at + 本地乐观移除/扣计数)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-17 20:13:32 +08:00