seaislee1209 and Claude Opus 4.8
44e90233ff
feat(models): 期1 模特库地基 — Model 顶级实体 + 模特库页 + 审核范围扩展
...
后端:
- 新增 Model(模特)团队级实体:形象图+三视图+声线(声线尾期),官方模板标签,软删
- Asset.Category 枚举一次加全(model_portrait/tri_view/voice/model_tryon/platform_kit/free_create/storyboard),逐期接线
- 送审范围 person → REVIEW_CATEGORIES{person,tri_view,storyboard}(review.py + adminpanel 队列),图片趴不送审;当前行为不变(forward-compat)
- /api/models/ ModelLibraryViewSet:本团队∪官方模板、官方/我的 tab、真人上传、软删(官方不可删)、跨团队资产引用防越权
- backfill_models 命令把历史成套模特(kind=model + 项目流命名配对)归集成 Model,dry-run 默认
前端:
- 左菜单新增「模特库」顶级入口(person 图标)+ 路由 /models
- 模特库页:全部/官方模板/我的模特 tab + 真人上传 + 模特卡(形象图+三视图缩略+官方标签),仅用 design token
测试:assets 10/10 绿;tsc+build 全绿;无头走查 0 console error(全部5/官方3/我的2,官方标签达标)
基线既有 7 失败(ai/projects provider mock 漂移)零新增
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-20 22:53:46 +08:00
zyc and Claude Opus 4.8
8ba76e5bb7
perf(core): 资产预览改 TOS 公读直链 + 通知只取首页,减刷新开销与缓存失效
...
- 资产 preview_url 从「逐图签发预签名 URL」改为虚拟主机式公读直链
(https://{bucket}.{host}/{key} )。桶公读已验证免签可访问;直链稳定可被浏览器/CDN
缓存,而签名链每次都变、1h 过期反而打不到缓存。boto3 也移出序列化热路径。
- allNotifications 不再逐页翻全部(原 O(N) 随消息增长拖慢每次刷新),只取首页 100 条
(侧边栏徽标 unread_count + 团队动态仅展示最近 6 条已足够);「共 N」改用后端真实 count。
- perf-probe:page_size 由 API 级硬闸确定性守住后,浏览器端「资产翻页」降为提示
(翻 1~2 页是资产真超 200 的合法分页,仅 ≥3 页才疑似 page_size 失效)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-17 16:58:48 +08:00
zyc and Claude Opus 4.8
9bdd0683f8
fix(core): 商品详情页三视图改走 image_edit 参考真实主图 + 该商品 AI 素材归属
...
- 商品详情页「AI 生成三视图」原走独立生图老链路(纯文生图),只凭商品名脑补,
出来通用图不像真品。改:前端传 reference_product;后端 run_standalone_image_task
据此取商品主图走 image_edit(复用 build_product_triview_prompt_refs 锁包装),
取不到主图优雅回落文生图。图片创作页(自由创作)不带标记,不受影响。
- 商品详情页素材区改为只显示「该商品」AI 素材(asset.product 归属)而非全团队。
- 首登水合带重试,失败不再静默(否则页面卡在全 0,要刷新才好)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-17 15:54:04 +08:00
seaislee1209 and Claude 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
zyc and Claude Opus 4.8
3fac38c5ef
feat(core): notification inbox infinite scroll + command palette fix (+ pending WIP)
...
消息中心:全量渲染 → 真·后端分页滚动加载
- backend(ops/views): NotificationPagination(10/页,page_size 可覆盖)+
响应回 type_counts(按收件人绝对计数,不受分页/搜索影响)
- frontend(messages): 自管分页,滚到底加载下一批;tab/搜索走服务端并重置到第1页;
代号作废在途旧请求防切换卡空白;乐观标已读;「已加载 X / Y」分母用当前筛选总数
- api/App/types: listNotifications 支持 page/page_size/search;allNotifications 携带 type_counts
命令面板(侧边栏搜索):修复点开后 UI 错位
- app-shell: 遮罩 className 漏了基类 shell-command-bg(只有 .show)致无定位塌到左下;
补回基类 + header 类名对齐 .shell-command-h
- messages-page.css: 工作台收进视口高度,收件箱在面板内滚动
本次提交一并带入此前若干未提交 WIP(account/ai-tools/library/pipeline/products/settings +
accounts/ai/assets/billing/projects 后端),按用户要求整体推 dev。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-10 09:37:41 +08:00
seaislee1209 and Claude Opus 4.8
8bcf7615df
feat(core/backend): serve TOS presigned preview_url for asset files
...
AssetFile.preview_url was stored blank on upload, so all thumbnails fell back to placeholders.
Make preview_url a SerializerMethodField that signs a TOS GET URL from object_key on read
(falls back to stored value, or "" when TOS unconfigured / no key). Verified: presigned URL
for an existing object returns HTTP 200 image/png.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-05 14:39:06 +08:00
zyc
cfdcd84a30
feat: add AirShelf core implementation
2026-06-05 10:21:40 +08:00