Commit Graph

1919 Commits

Author SHA1 Message Date
lhk229 2971352cfc 修复抠图失败审计元数据
区分抠图传输失败与上游 HTTP 状态

补齐 BgFilter 与阿里云抠图失败 latencyMs

同步阿里云抠图配置与角色动作背景色文档口径
2026-07-09 08:32:44 +00:00
lhk229 1aeb905e80 同步画板抠图背景色文档口径
更新候选色数量为 12 个

同步角色动作多色背景与阿里云优先抠帧说明
2026-07-09 07:39:20 +00:00
lhk229 1847fde8b7 修复抠图外部失败审计分类
保留 BgFilter 上游真实 HTTP 状态与超时标记

保留阿里云抠图上游状态、超时与错误摘要

补充审计分类单测覆盖 429 与 timeout 场景
2026-07-09 07:26:10 +00:00
lhk229 14a5cde9dd Increase BGfilter TIMEOUT to fit 2048x2048 Graphs 2026-07-09 06:30:45 +00:00
lhk229 a2b64290a1 删除抠图上海自有 OSS 死分支并清理审查发现的死代码
代码审查发现 4 项问题,本次一并处理:

- 抠图输入"上海地域自有 OSS 上传"分支整体删除:我们没有上海地域
  OSS,region marker 判定永远为假,该分支任何环境都不会触发,且其
  matting-input/ 中间对象无清理会造成存储泄漏(若将来启用)。抠图
  输入统一走 VIAPI 官方临时桶(1 天自动过期,天然无泄漏)。
- platform-matting:segment_image_to_transparent_png 去掉恒为 None
  的 accessible_url 参数,简化提交分支;修正"生产建议用上海自有
  OSS"的误导注释。
- editor_green_screen:删除不可达的 #00FF00 绿幕特判分支(legacy
  绿幕色产生点已删、调色板无此色)。
- segment_smoke example:默认参数里的个人路径改为用法提示 + 退出。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 04:32:11 +00:00
lhk229 b8c2efaf24 抠图背景色只作内部 screenColorHex 元数据,不再暴露进用户可见 fields
apply_editor_screen_background_decision_to_generation_inputs 之前会往
generationInputs.fields 追加「抠图背景色」条目,把内部自动决策/兜底细节
暴露给用户,违反「用户可见输入快照不记录抠图背景色/抠图模型」的产品契约(P2)。

- 去掉 fields 注入,只保留顶层内部可追踪元数据 screenColorHex(不进用户快照)。
- 删除因此变成死代码的 format_editor_screen_background_decision_input 及其 import。
- 重写两个单测:断言 fields 不被注入/不被修改,只写 screenColorHex。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 03:52:43 +00:00
lhk229 578313050e 同步角色动作视频背景色新契约到权威文档与决策日志
角色动作抽帧的正式契约已改(screenColor=auto 视觉决策 + 硬过滤 +
源图合成到选定背景色 + 抽帧优先阿里云、失败降级本地键色),但权威
文档仍写着 legacy #00FF00 + 本地 editor_green_screen(P1 文档失同步)。

- 后端数据契约文档、前端图片画布 MVP 文档:更新角色动作抽帧描述到
  新契约;顺带把 BgFilter 默认超时 45000ms 修正为 120000ms(与代码
  一致,CPU 推理必须留足)。
- decision-log 追加 2026-07-09 决策条目记录本次契约变更。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 03:44:50 +00:00
lhk229 31117ffdb9 BgFilter/阿里云兜底抠图失败接入外部 API 失败审计
架构要求外部供应商调用失败必须进 OTLP + tracking_event
external_api_call_failure,但 BgFilter 和阿里云通用抠图失败原来只
warn! 后静默兜底,生产故障在审计链路里不可见(P1)。

- external_api_audit:新增 ExternalApiAuditContext 与统一入口
  record_matting_external_api_failure(复用 record_external_api_failure,
  自动填 status_class/retryable);is_retryable_external_api_failure 去掉
  cfg(test) 门供生产复用,内部 StatusCode 换字面量避开测试专用导入。
- 三处失败点接入:BgFilter 请求失败、生图链路阿里云兜底失败、
  动作视频逐帧阿里云兜底失败(带 frame_index)。
- user/profile/request_id 从各入口 caller / owner+project+request_context
  透传进兜底函数,沿用现有 external_api_audit 上下文映射。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 03:38:00 +00:00
lhk229 ef8ac94395 BgFilter 请求超时保持 120s(合并 web/master 时误取 45s)
BgFilter 目前跑 CPU 推理,单次抠图耗时较长,超时必须 120s(见文档)。
合并 web/master 的「收紧超时保护」时该常量被误解成 45s,改回 120s。
web/master 新增的熔断器配置(失败阈值/冷却)保留不变。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 03:13:55 +00:00
lhk229 c78f199f4e 修复 shared-contracts 测试构建:补 screen_color 字段初始化
EditorCharacterAnimationGenerateRequest 新增 screen_color 后,
shared-contracts 的 camelCase 契约测试初始化漏补该字段,导致
`cargo test -p shared-contracts --no-run` 编译失败(P0,阻塞 PR 合入)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 03:09:57 +00:00
lhk229 2939d2c0be Merge remote-tracking branch 'web/master' into feat/video-BGfilter
# Conflicts:
#	server-rs/crates/api-server/src/config.rs
2026-07-09 03:01:40 +00:00
kdletters 2cf3953bad 收紧外部生成任务租约和超时保护
缩短 worker lease 并新增普通和长任务执行预算配置

让 worker 超过执行预算后写失败并释放槽位

降低 BgFilter 默认超时并加入连续失败熔断兜底

补充资产计费 future 取消时的退款补偿保护

同步生产 env 示例、部署脚本和运维文档
2026-07-09 01:32:23 +08:00
lhk229 ed748092bd Merge remote-tracking branch 'origin/master' into feat/video-BGfilter 2026-07-08 14:42:56 +00:00
lhk229 1c1db17215 背景色决策 max_tokens 768 → 1024
给 gpt-5-mini low 推理档再留余量(实测推理 320~384 token),
降低复杂图触顶后走空响应兜底的概率。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 14:39:44 +00:00
lhk229 13411eb595 背景色视觉决策改用 gpt-5-mini(Responses + low 推理档)
- 视觉模型 gpt-4o-mini → gpt-5-mini。
- gpt-5-mini 是推理模型:视觉决策走 Responses 协议并设 reasoning_effort=low,
  否则默认档会把 token 预算全烧在推理上、返回空答案;纯文本路径仍走 ChatCompletions。
- max_tokens 96 → 768,给 low 档推理(实测 320~384 token)留足余量。

已真机验证:/responses 端点网关可用,暖肤色主体正确选中冷色背景。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 14:25:17 +00:00
kdletters f1ca3e79c1 轻量化外部生成队列进程
worker 和 controller 改为订阅 external_generation_job 队列变更来唤醒 claim 与扩缩容评估
非 HTTP 角色关闭 API 读模型订阅并将 SpacetimeDB 连接池收敛为 1
更新 worker/controller 环境模板和运维记忆,明确 poll interval 只作兜底
2026-07-08 22:16:51 +08:00
lhk229 d163247d62 Merge remote-tracking branch 'origin/master' into feat/video-BGfilter 2026-07-08 13:40:52 +00:00
lhk229 923993ea6c 背景色决策升级:视觉选色 + 皮肤硬过滤 + 源图合成 + 结构化记录
修复动作视频背景色的三类真实事故并加确定性防线:

1. 视觉背景色决策:让 LLM 看参考图选背景色(gpt-4o-mini 视觉模型,
   路由到 VectorEngine 视觉客户端),修复原纯文本盲选导致的"蓝撞蓝"。

2. 背景色候选硬过滤器(新增 editor_screen_background_filter):
   按参考图前景配色算 Lab 危险质量 + 皮肤专属三判据(ΔE 距离、
   色调投影、RGB 分离)剔除撞色候选,LLM 只在安全集合里审美选。
   露肤角色自动收敛到冷区。新增"灰竹绿"候选补齐安全弧绿色段。

3. 源图合成到背景色:透明源图先填成选定实色再发给 Ark,视频背景
   确定性等于抠图键色,不再赌模型服从提示词(修复背景变白)。

4. screenColorHex 结构化记录:四条链路统一把实际背景色写进
   generation_inputs,并修复生图链路"抠图背景色"字段从未生效的旧逻辑。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 13:37:44 +00:00
kdletters 542fb09365 接入微信 Native 充值与订单过期处理
调整网页端充值渠道,微信内浏览器在开放平台接入前走 Native 支付。

拆分 Native 支付二维码弹窗,展示金额和充值内容并取消无效 code_url 跳转。

修复微信 Native 下单 time_expire 秒级 RFC3339 格式,避免小数秒参数错误。

新增充值订单 5 分钟过期调度,过期前查询微信真实订单状态。

补充微信授权绑定、路由加载恢复和后台表时间显示等配套逻辑。

更新 SpacetimeDB schema、绑定和相关文档测试。
2026-07-08 21:35:02 +08:00
kdletters 2721fec51c Merge remote-tracking branch 'origin/codex/gray-release' 2026-07-08 20:44:29 +08:00
kdletters 1462ec2920 优化灰度规则判定与后台表单
按需读取灰度用户标签

新建 Gate Target 时重置表单规则

补充灰度语义和踩坑文档
2026-07-08 12:22:48 +08:00
lhk229 77d33af651 清理前端抠绿与 qwenSprite 死代码
- 删除无调用方的前端像素抠绿链(chromaKey.ts 及
  characterAssetWorkflowModel 中的视频采帧/抠绿函数)
- 删除已被 server-rs 提示词实现取代的 qwenSprite 共享骨架

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 04:10:14 +00:00
lhk229 c53d6ffef0 移除一次性的抠图尺寸探针示例
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 04:03:10 +00:00
lhk229 ba8662f844 动作视频背景色多色自动决策并接入阿里云抠帧
- 动画生成请求新增 screenColor,继承生图入口的 auto 决策行为,
  提示词从写死绿幕改为纯色背景条款(LLM 决策 11 色)
- 后端抽帧抠图改为逐帧阿里云优先(并发 3 保序),单帧失败降级
  本地键色算法(使用决策出的背景色)
- 清理 legacy 纯绿幕常量与提示词

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 03:50:44 +00:00
lhk229 d0412705c4 新增阿里云通用抠图链路,图片抠图升级三档降级
- 新增 platform-matting crate:手搓 SegmentCommonImage ACS3 签名调用、
  VIAPI 临时桶上传、分辨率守卫(缩图送抠 + alpha 回贴原图)
- api-server 接入 GENARRATIVE_ALIYUN_MATTING_* 配置与 MattingClient
- 画布生成图片抠图链改为 BgFilter → 阿里云 → 本地键色三档降级

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 03:50:32 +00:00
kdletters 25cac367c6 接入功能灰度与画布 Agent 灰度
新增 SpacetimeDB 灰度配置表与后端判定链路

新增后台灰度发布页面和两段式 Gate Key 选择器

将画布 Agent 入口接入灰度配置与运行时能力下发

修复灰度配置刷新读取空本地缓存的问题

补充灰度规则和后台下拉维护约定文档
2026-07-08 11:26:41 +08:00
kdletters 4e3c26d5d8 修复 release 发布与冷备份恢复
冷备份增加工作目录空间预检并确保失败后恢复依赖服务

API deploy 增加 Pingora 产物硬校验并区分 current 切换前后维护模式处理

Jenkins release 默认构建和部署 Pingora 影子网关并在全量流水线透传参数

补充备份与 API deploy 回归检查和生产运维护栏

更新生产运维文档与项目记忆的事故处理口径
2026-07-08 11:04:48 +08:00
kdletters 754d364227 修复画布生成刷新后完成同步
任务列表识别当前画布项目的未确认完成任务并发出完成通知。

编辑器收到任务完成通知后重新加载项目快照并刷新素材库。

补充刷新后任务已完成和轮询完成的回归测试。
2026-07-07 19:45:16 +08:00
kdletters 00db7d39ea 统一生成器对话框范围行为
移除生成器对话框打开后的安全范围自动拉动视口。

取消快速编辑、裁扩和角色动画面板的画布范围夹取。

保留创建生成器时聚焦新占位的行为并更新回归测试。
2026-07-07 19:36:20 +08:00
kdletters 862653c987 修复精选提示词展示
精选卡片优先展示用户可见的生成输入

过滤系统内置和素材提取提示词

补充精选提示词外露回归测试
2026-07-07 18:47:23 +08:00
kdletters 5888219c95 移除精选预览弹窗点赞操作
精选素材预览弹窗只保留点赞数展示

补充弹窗不展示点赞按钮的回归测试
2026-07-07 18:37:58 +08:00
kdletters 446c6945ad 恢复精选瀑布流布局
将创作主页精选列表从网格恢复为多栏瀑布流

新增样式契约测试防止瀑布流再次退化为网格
2026-07-07 18:34:07 +08:00
kdletters 9b49085869 修复画布生成器偶发无法打开
同步生成器 active/inactive ref 与 state

激活已有生成器时清理选参考图和菜单临时状态

窗口失焦时释放 Shift 与空格按住态

补充生成器状态与快捷键回归测试

记录图片画布生成器排障经验
2026-07-07 16:22:09 +08:00
kdletters b743152c6a 补齐zustand依赖锁文件
在 package-lock.json 中补齐 zustand 依赖声明

记录 zustand 5.0.14 的 npm lock 条目
2026-07-07 15:10:45 +08:00
lhk229 308d440816 新抠图算法(轻量版)上线 (#73)
新抠图算法(轻量版)上线,生图背景色同步改为多颜色+自动决策

---------

Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/73
Reviewed-by: kdletters <kdletters@qq.com>
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-07-07 14:57:10 +08:00
k88936 0c14e51419 Editor agent paste image (#72)
![shotmd-1783397773.webp](/attachments/659f35ce-87c1-449d-8342-8afc09934da8)

---------

Co-authored-by: kdletters <kdletters@qq.com>
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/72
Reviewed-by: kdletters <kdletters@qq.com>
Co-authored-by: kvtodev <kvtodev@outlook.com>
Co-committed-by: kvtodev <kvtodev@outlook.com>
2026-07-07 14:56:28 +08:00
kdletters 5477abd7ba 修正精选活动图居中显示
恢复精选预览容器 23rem 高度上限

为活动卡预览添加独立样式并使用 contain 居中显示图片

补充活动卡预览 class 与比例测试
2026-07-07 14:19:46 +08:00
kdletters 2a98b60830 改为运行时控制画板 Agent 入口
新增前端运行时配置接口下发画板 Agent 开关

将画板 Agent 入口改为读取后端运行时配置

把开关变量改为 GENARRATIVE_ENABLE_IMAGE_EDITOR_AGENT_SIDEBAR

补充前后端测试和生产环境变量文档
2026-07-07 14:04:08 +08:00
kdletters 1d43783685 Merge pull request '隐藏画板素材信息中Object ID' (#71) from hide-obj-id into master
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/71
Reviewed-by: kdletters <kdletters@qq.com>
2026-07-07 13:54:09 +08:00
kdletters 9e92b3e673 Merge branch 'master' into hide-obj-id 2026-07-07 13:53:44 +08:00
kdletters 4622b35a32 修复精选活动图裁切
移除精选预览容器最大高度限制

让活动图按记录宽高自然拉伸卡片高度

通过浏览器验证 900x1200 活动图比例不再被压到 23rem
2026-07-06 22:59:25 +08:00
kdletters 2d631becc7 显示精选审核提交失败原因
统一素材精选审核提交资格判断

在素材菜单显示不可提交和后端拒绝原因

将编辑器业务拒绝映射为 400 并保留中文原因

补充精选审核原因展示测试和文档口径
2026-07-06 21:35:10 +08:00
kdletters be7f0375e5 记录精选活动卡图片宽高
后台上传活动卡图片时读取并保存原始宽高

隐藏活动卡 Object Key 输入,重复上传替换图片引用

公开精选按活动图宽高设置卡片比例

同步 SpacetimeDB schema、bindings 和后端数据契约文档
2026-07-06 21:00:21 +08:00
k88936 29db6365e1 隐藏画板素材信息中Object ID 2026-07-06 19:23:02 +08:00
kdletters ab61390121 修复画布 Agent 默认被任务列表隐藏
打开画布时 Agent 开关启用则保持 Agent 默认展开。

恢复任务自动打开任务列表时不再抢占 Agent 默认态。

用户手动打开任务列表时仍按右侧面板互斥关闭 Agent。

补充恢复任务场景下 Agent 默认显示的回归测试。
2026-07-06 19:15:03 +08:00
kdletters fcd353f12f 同步精选分类与活动卡文档
更新精选审核公开口径,说明未设置分类进入全部。

更新创作主页文档,移除素材包分类并说明全部 Tab。

更新后端表目录,记录活动卡 imageObjectKey 和 OSS 上传方式。
2026-07-06 18:59:40 +08:00
kdletters 51c47c952b 调整前台精选分类展示
前台精选分类新增全部并作为默认 Tab。

移除素材包 Tab 和素材包组合逻辑,未设置分类素材保留在全部中。

活动卡支持从 imageObjectKey 兜底图片地址。

精选卡片改为网格布局并让图片素材铺满预览区域。

更新前台精选模型和创作主页测试。
2026-07-06 18:58:58 +08:00
kdletters 68e9087552 完善后台精选活动卡上传
后台精选活动卡支持选择图片并通过 OSS 直传凭证上传。

保存活动卡时同步 imageSrc 和 imageObjectKey。

移除后台素材包分类选项,清空分类时不再自动隐藏精选素材。

补充后台活动卡上传和分类交互测试。
2026-07-06 18:57:20 +08:00
kdletters b5aa68fc6a 调整精选后端公开契约
新增精选活动卡图片 objectKey 存储字段和迁移兼容。

新增后台活动卡图片 OSS 直传凭证接口。

移除素材包精选分类约束,允许未设置分类素材进入全部精选。

同步 admin 和前台读取活动卡 objectKey 的类型契约。
2026-07-06 18:56:49 +08:00
kdletters b8e6e9f3ef 控制画布 Agent 入口默认关闭
新增 VITE_ENABLE_IMAGE_EDITOR_AGENT_SIDEBAR 控制画布 Agent 入口显示。

默认 .env 关闭、本地 .env.local 开启,并补充示例和类型声明。

禁用时隐藏 dock 按钮和收起态 Agent 面板,开启时保留右侧任务列表互斥逻辑。

修正右侧 Agent 和任务列表切换不影响左侧资源栏。

补充画布 Agent 开关、面板独立性和 dock 隐藏测试。
2026-07-06 18:51:11 +08:00