lhk229
|
5c9b5ef69e
|
动作视频/生图背景色链路升级 + 阿里云抠图接入 (#75)
主要改动
1. 阿里云通用抠图接入(新增 platform-matting crate)
手搓阿里云 VIAPI 通用抠图接口(ACS3-HMAC-SHA256 签名),跨区输入走临时桶通道。
图片抠图升级为三档降级:BgFilter → 阿里云 → 本地键色兜底。
动作视频逐帧抠图改用阿里云,remove_editor_generated_green_screen_background 降为最后兜底。
2. 背景色不再写死绿色,改多背景色自动决策
动作视频背景色和生图一样从候选调色板自动选,选项继承。
3. 视觉背景色决策(修"蓝撞蓝")
让 LLM 看参考图选背景色(gpt-4o-mini 视觉模型,路由到 VectorEngine 视觉客户端),修复原纯文本盲选。
4. 背景色候选硬过滤器(新增 editor_screen_background_filter)
按参考图前景配色算 Lab 危险质量 + 皮肤专属三判据(ΔE 距离 / 色调投影 / RGB 分离)剔除撞色候选,LLM 只在安全集合里审美选。露肤角色自动收敛到冷区。新增"灰竹绿"候选补齐安全弧绿色段。
5. 源图合成到背景色(修视频背景变白)
透明源图先填成选定实色再发给 Ark,视频背景确定性等于抠图键色,不再赌模型服从提示词。
6. screenColorHex 结构化记录 + 死代码清理
四条链路统一把实际背景色写进 generation_inputs,修复生图链路"抠图背景色"字段从未生效的旧逻辑。
清理前端抠绿 + qwenSprite 死代码,移除一次性探针示例。
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/75
Reviewed-by: kdletters <kdletters@qq.com>
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
|
2026-07-10 18:22:17 +08:00 |
|
kdletters
|
00ff425e03
|
改造充值订单过期补偿流程
新增 SpacetimeDB 原生充值订单过期 timer 与 expired 状态。
移除 api-server 轮询 worker,改为 HTTP 角色订阅 Pending 到 Expired 事件并查单补偿。
统一微信下单 5 分钟 time_expire,并恢复前端支付通道选择与 expired 展示。
补齐生成绑定、前后端契约、测试和项目文档。
|
2026-07-10 01:37:53 +08:00 |
|
kdletters
|
5f6f4d0ba6
|
接入会员周期泥点制度
新增 Starter、Basic、Pro、Ultimate 会员商品配置与权益字段。
拆分会员有效期、周期重置时间、周期限时泥点和永久泥点余额。
实现升级补价补点但不延长有效期或移动重置时间,同级购买只延长有效期。
补齐钱包扣费与退款中的会员周期泥点消耗、重置和流水记录。
同步后台商品配置、前端充值展示、共享契约、SpacetimeDB 迁移与生成绑定。
|
2026-07-09 14:48:26 +08:00 |
|
kdletters
|
542fb09365
|
接入微信 Native 充值与订单过期处理
调整网页端充值渠道,微信内浏览器在开放平台接入前走 Native 支付。
拆分 Native 支付二维码弹窗,展示金额和充值内容并取消无效 code_url 跳转。
修复微信 Native 下单 time_expire 秒级 RFC3339 格式,避免小数秒参数错误。
新增充值订单 5 分钟过期调度,过期前查询微信真实订单状态。
补充微信授权绑定、路由加载恢复和后台表时间显示等配套逻辑。
更新 SpacetimeDB schema、绑定和相关文档测试。
|
2026-07-08 21:35:02 +08:00 |
|
kdletters
|
d7d98acfd4
|
接入VectorEngine画布Agent规划
切换画布 Agent 与通用 LLM 代理到 VectorEngine gpt-5.4-mini。
为画布 Agent 注入上一轮生成结果并默认承接上一张图编辑。
补齐规范图工具分流、规范展板 prompt 要求和 JSON 残片回复兜底。
同步前后端契约、测试脚本、环境示例和项目文档。
|
2026-07-05 17:42:27 +08:00 |
|
kdletters
|
1671d35995
|
修复画布Agent聊天生成体验
让画布 Agent 消息统一走后端规划与 LLM 回复
修复生成图片在聊天、画布和素材库中的展示与恢复
补齐右键删除、画布焦点、聊天滚轮和面板避让交互
同步 Agent 事件契约、文档和定向回归测试
|
2026-07-04 16:41:33 +08:00 |
|
kdletters
|
8dad52f040
|
实现画布Agent侧边栏聊天
新增画布Agent会话契约、领域规则、SpacetimeDB元数据表和生成绑定。
新增api-server画布Agent会话CRUD、OSS消息文档读写、SSE消息流和生成工具编排。
新增前端右侧Agent对话面板、会话状态hook、SSE客户端、BFF客户端和相关测试。
调整画布侧栏、任务栏、小地图默认状态和面板互斥交互。
补齐画布Agent、OSS消息存储、SSE收口、后端契约和项目记忆文档。
|
2026-07-04 12:03:58 +08:00 |
|
kdletters
|
15bca90ed2
|
持久化码后台操作记录
新增兑换码和邀请码后台操作持久表。
列表接口返回全部操作记录并同步前后端契约。
后台页面展示持久化操作历史并移除最近一条会话记录。
更新 SpacetimeDB 迁移表清单、生成绑定和后端架构文档。
|
2026-07-02 17:31:33 +08:00 |
|
kdletters
|
fab9f21aa7
|
完善画布任务列表与远程抠图接入
新增图片画布任务侧栏页签、滚轮隔离、完成时间、后端计时和运行中状态展示。
限制外部生成任务只显示当前项目,并让任务点击聚焦画布内容和快速编辑源图。
接入外部生成任务列表查询状态过滤、提示词摘要和后端任务映射。
补充 BiRefNet 抠图请求日志、任务耗时提示和相关文档。
补充侧栏、画布聚焦、外部任务契约和 api-server 定向测试。
(cherry picked from commit 12ef866b66)
|
2026-06-30 17:12:13 +08:00 |
|
kdletters
|
73a17193d4
|
升级外部生成为正式任务列表
将 external_generation_job 扩展为含价格、确认时间、退款流水和事件审计的正式生成任务事实源
新增外部生成任务列表与确认 BFF,并让平台入口按后端任务补弹完成或失败提示
保护画布生成队列超时、快照回写和自动保存覆盖场景
将 worker 计费退款流水写入 externalGenerationJobId,并补充冷备份后 worker/controller 恢复守护
|
2026-06-24 15:17:12 +08:00 |
|
kdletters
|
25761b84a3
|
合并原生壳桥接统一分支
合并 Expo 移动壳与 Tauri 桌面壳工程
保留创作主页、项目入口和现有生产发布脚本
同步 HostBridge 文档、依赖锁文件和原生壳门禁
|
2026-06-22 22:28:31 +08:00 |
|
kdletters
|
c206ca7c33
|
固定绿幕提示词颜色
统一绿幕生成提示词使用 #00FF00 / RGB(0,255,0)
补充暗绿绿幕去背兜底并覆盖聚焦测试
同步玩法、后端与项目记忆文档口径
|
2026-06-22 15:11:33 +08:00 |
|
kdletters
|
8bd8363ffa
|
修正原生壳公开主站配置
将原生壳公开主站统一为 www.genarrative.world
调整 Tauri release 直接加载线上主站并移除 frontendDist 打包
补齐创作入口配置开发代理与回归测试
同步原生壳方案文档和共享记忆
|
2026-06-22 15:07:02 +08:00 |
|
kdletters
|
33e56fb56f
|
收紧桌面壳网络事件声明
桌面壳移除未由 Rust 真实驱动的 network.statusChanged 能力
桌面网络状态保留 Rust 主站可达性主动查询
门禁禁止桌面网络事件回退到 WebView online 状态
文档和项目记忆同步桌面网络能力边界
|
2026-06-20 17:49:30 +08:00 |
|
kdletters
|
6f12b48ce1
|
补齐微信受控原生页能力声明
微信小程序 capability profile 声明 navigation.openNativePage
微信 HostBridge 协议镜像同步受控原生页能力
原生壳门禁反查订阅生成结果通知页真实流程
壳方案文档和共享决策记录同步微信能力边界
|
2026-06-20 16:10:55 +08:00 |
|
kdletters
|
74661b1a5a
|
收口本地通知交付结果语义
新增共享本地通知系统交付结果契约
Expo 与 Tauri 壳返回结构化通知交付结果
H5 兼容结构化结果并同步门禁、测试和文档
|
2026-06-20 03:13:53 +08:00 |
|
kdletters
|
e2fc7d78f3
|
收口移动壳导入文件名归一
新增共享 HostBridge 导入文件名清洗函数
移动文件导入改用导入专用文件名归一边界
补充契约测试、移动配置门禁和协议文档
|
2026-06-20 03:04:21 +08:00 |
|
kdletters
|
10dcc2b403
|
修复图片画布素材与宣发尺寸问题
修复画布上传素材持久化回填和项目重进资源元数据恢复
修复图片、音频、视频图层的私有资源换签与视频裸路径回退
修复宣发素材切换模型后卡片尺寸变成1024x1024的问题
修复音视频预览、媒体导出格式、音频默认提示词和前端去背边界
修复角色动作生成在编辑器路径缺少ffprobe时的已知时长兜底
补充图片画布、资源换签、宣发尺寸、媒体导出和chromaKey回归测试
更新图片画布编辑器技术文档
|
2026-06-19 23:16:59 +08:00 |
|
kdletters
|
d7af659aa5
|
收紧导入结果消费边界
将文本、文档、图片和音频导入结果归一化提升到共享 HostBridge 契约
让 H5 facade 消费宿主导入结果前复核文件名、MIME、字节数和 base64 载荷
移除 H5 facade 本地导入 MIME Set 并用总门禁反查共享 normalizer
增加导入结果边界测试和超限结果回退覆盖
同步宿主壳协议文档和共享决策记录
|
2026-06-19 16:34:35 +08:00 |
|
kdletters
|
a68377596a
|
收紧文本导出载荷边界
将文本导出载荷预校验提升到共享 HostBridge 契约
让 H5 facade 按共享文本导出边界归一化文件名、MIME 和内容大小
保留 Expo 与 Tauri 壳对文本字节数和 MIME 的二次校验
增加文本导出载荷测试和三端壳总门禁反查
同步宿主壳协议文档和共享决策记录
|
2026-06-19 16:25:14 +08:00 |
|
kdletters
|
71510ef797
|
收紧媒体导出载荷边界
将图片和音频导出载荷预校验提升到共享 HostBridge 契约
让 H5 facade 按共享媒体导出边界归一化文件名、MIME 和 base64 载荷
保留 Expo 与 Tauri 壳对真实字节和 MIME 的二次校验
增加媒体导出载荷测试和三端壳总门禁反查
同步宿主壳协议文档和共享决策记录
|
2026-06-19 16:18:54 +08:00 |
|
kdletters
|
14da1a7e12
|
收紧分享载荷边界
将 share.open 分享目标归一化提升到共享 HostBridge 契约
让 H5 facade 和 Expo 移动壳按共享分享边界发送与消费载荷
把原生分享 URL 统一映射到公开 H5 主站地址
增加分享载荷测试和三端壳总门禁反查
同步宿主壳协议文档和共享决策记录
|
2026-06-19 16:08:42 +08:00 |
|
kdletters
|
98f62474b6
|
收紧外链载荷边界
将 app.openExternalUrl 外链载荷归一化提升到共享 HostBridge 契约
让 H5 facade 和 Expo 移动壳按共享外链 payload 边界发起与消费请求
增加外链载荷测试和三端壳总门禁反查
同步宿主壳协议文档和共享决策记录
|
2026-06-19 15:48:48 +08:00 |
|
kdletters
|
64f496d091
|
收紧窗口标题载荷边界
将 app.setTitle 标题长度和控制字符规则提升到共享 HostBridge 契约
让 H5 facade 和 Tauri 壳按共享窗口标题边界归一化载荷
增加标题边界测试和三端壳总门禁反查
同步宿主壳协议文档和共享决策记录
|
2026-06-19 15:34:37 +08:00 |
|
kdletters
|
95d6bc2ae7
|
接入外部 OpenAPI 与 API Key 管理
新增外部编辑器 OpenAPI 路由与 openapi.json 导出
新增账号级 API Key 表、鉴权、创建、列表和撤销链路
新增个人中心开发者 API Key 管理弹窗
补充前端契约、客户端方法、测试与项目文档
|
2026-06-19 15:31:53 +08:00 |
|
kdletters
|
c956558531
|
收紧文本导出 MIME 边界
将文本导出 MIME 收窄到共享 HostBridge 文本 MIME 清单
让 Expo 和 Tauri 壳拒绝非文本 MIME 的 file.exportText 请求
增加移动端和桌面端门禁反查文本导出 MIME 边界
补充宿主壳协议文档和共享决策记录
|
2026-06-19 15:02:19 +08:00 |
|
kdletters
|
e51a65138a
|
统一移动通知频道契约
将移动端 Android 本地通知频道提升到共享 HostBridge 契约
让 Expo 通知调度和测试复用共享频道标识
增加移动壳配置门禁防止通知频道回退到本地字面量
补充宿主壳方案文档和共享决策记录
|
2026-06-19 14:37:02 +08:00 |
|
kdletters
|
b6b1e21211
|
统一移动下载协议阻断清单
将移动 WebView 禁止下载协议提升到共享 HostBridge 契约
让移动壳导航拦截和注入脚本复用共享协议清单
增加移动壳门禁和测试防止协议清单回退到本地字面量
补充宿主壳方案文档和共享决策记录
|
2026-06-19 14:27:34 +08:00 |
|
kdletters
|
c14d699ee0
|
统一桌面网络探测超时契约
将桌面网络探测超时提升到共享 HostBridge 契约
让 Tauri 网络状态探测镜像共享超时边界
增加桌面壳配置门禁反查网络探测超时
补充宿主壳方案文档和共享决策记录
|
2026-06-19 14:10:56 +08:00 |
|
kdletters
|
14f4ae4a65
|
统一原生扫码超时契约
将二维码扫码超时提升到共享 HostBridge 契约
让 H5 facade 和测试复用共享扫码超时常量
增加原生壳门禁拦截扫码超时字面量回退
补充宿主壳方案文档和共享决策记录
|
2026-06-19 14:01:29 +08:00 |
|
kdletters
|
fb8c9c2880
|
收口宿主用户交互超时
将宿主用户交互长操作超时提升到共享 HostBridge 契约
让 H5 HostBridge facade 复用共享用户交互超时
增加原生壳门禁拦截 H5 facade 手写交互超时
补充 HostBridge 测试、壳方案和共享决策记录
|
2026-06-19 13:48:54 +08:00 |
|
kdletters
|
ca9581e534
|
收口宿主运行态回读超时
将原生宿主 runtime 回读短超时提升到共享 HostBridge 契约
让 H5 HostBridge facade 复用共享 runtime 回读超时
增加原生壳门禁拦截本地 runtime 回读超时重声明
补充 runtime 回读测试、壳方案和共享决策记录
|
2026-06-19 13:41:54 +08:00 |
|
kdletters
|
ef2200f8ac
|
收口宿主响应回放缓存边界
将 HostBridge 响应回放缓存上限提升到共享契约
让 Expo 移动壳复用共享缓存上限并拒绝本地重声明
让 Tauri 桌面壳配置检查反查共享缓存上限
补充两端回放缓存淘汰测试和壳方案文档
|
2026-06-19 13:33:46 +08:00 |
|
kdletters
|
bd0f566e76
|
收口原生壳请求超时边界
将原生壳请求默认超时和最大超时提升到共享 HostBridge 契约
让 H5 nativeAppHostBridge 复用共享超时边界
增加原生壳门禁拦截本地超时边界重声明
补充原生壳方案和共享决策记录
|
2026-06-19 13:26:01 +08:00 |
|
kdletters
|
ce0765b298
|
接入原生返回栈状态消费
H5 新增 navigation.canGoBack hook 并在直达二级页时补齐返回锚点
路由导航保留完整原生宿主上下文并标记应用历史状态
补齐 HostBridge 返回栈消费测试、门禁和文档
|
2026-06-19 10:59:47 +08:00 |
|
kdletters
|
f619d861c9
|
接入原生壳文档导入
新增 HostBridge file.importDocument 契约与文档 MIME 边界
实现 Expo 与 Tauri 受控文档选择和 base64 返回
创作 Agent 工作台优先使用文档导入并保留文本导入兜底
同步宿主壳门禁、测试、架构文档和共享记忆
|
2026-06-19 09:35:37 +08:00 |
|
kdletters
|
de2798d415
|
收口宿主上下文查询契约
共享 HostBridge 契约新增宿主上下文 query 字段和值
移动壳和 H5 运行态改用共享 query 契约
桌面壳和微信壳门禁反查共享 query 契约
微信请求头和 H5 路由保留字段跟随共享契约
同步宿主上下文契约文档和共享记忆
|
2026-06-19 07:39:51 +08:00 |
|
kdletters
|
c04c7d4d8d
|
收口微信壳能力清单来源
共享 HostBridge 契约新增微信小程序能力 profile
微信小程序协议测试和原生壳门禁反查共享 profile
同步宿主壳能力来源文档和共享记忆
|
2026-06-19 07:02:37 +08:00 |
|
kdletters
|
e4b9cbf09d
|
接入移动端原生扫码能力
新增 scanner.scanQrCode HostBridge 契约与二维码结果归一。
接入 Expo Camera 扫码 overlay 并保留 H5 浏览器扫码回退。
让 Tauri 白名单识别扫码 method 但不声明桌面扫码能力。
同步原生壳门禁、Expo 权限检查、方案文档和共享决策记录。
|
2026-06-19 05:13:21 +08:00 |
|
kdletters
|
429e65952d
|
收口宿主事件白名单
新增共享 HostBridge event 白名单与类型守卫
让 H5、Expo 和 Tauri 只分发白名单宿主事件
补齐移动端、桌面端和根级原生壳门禁
更新宿主壳方案文档和项目决策记录
|
2026-06-19 02:18:36 +08:00 |
|
kdletters
|
75cd4f1abc
|
收口原生壳能力来源
新增共享 HostBridge capability profile,区分 Expo 移动通用、iOS 额外和 Tauri 桌面能力
移动壳能力清单改为引用共享 profile,入口 URL 类型支持 readonly 能力数组
两端配置检查和原生壳总门禁改为反查共享 profile,桌面 Rust 清单保持运行时镜像
补充 HostBridge profile 单测和 H5 readonly 能力合并类型兼容
同步 Expo/Tauri 壳方案、HostBridge 协议文档和项目决策记录
|
2026-06-19 02:02:15 +08:00 |
|
kdletters
|
a54210b0d1
|
收口原生壳公开主站来源
新增共享 HostBridge 公开主站 origin 和默认 URL 常量
移动壳启动 URL、分享和 WebView 策略改为引用共享主站来源
桌面壳配置检查反查 Rust WEB_APP_ORIGIN 与共享契约一致
同步原生壳方案和共享决策记录
|
2026-06-19 01:40:22 +08:00 |
|
kdletters
|
759b2cb388
|
收紧原生壳载荷边界门禁
导出 HostBridge 文件和通知载荷边界常量
校验移动壳文件大小和 MIME 清单与共享契约一致
校验桌面壳载荷限制和 MIME 清单与共享契约一致
更新原生壳方案和共享决策记录
|
2026-06-19 00:26:18 +08:00 |
|
kdletters
|
e8713a396b
|
收口移动壳触觉反馈强度边界
共享HostBridge契约固定触觉反馈强度白名单
移动壳拒绝未知触觉反馈强度并避免误触发设备反馈
移动壳配置检查锁定触觉反馈归一化规则
宿主壳协议和共享决策日志记录触觉反馈边界
|
2026-06-18 15:02:07 +08:00 |
|
kdletters
|
8754269705
|
收口H5桌面壳命令入口
共享HostBridge契约导出唯一Tauri命令名
H5原生壳Transport改用共享Tauri命令常量
桌面壳配置检查对齐H5与Rust命令入口
宿主壳方案文档补充Tauri命令入口门禁
共享决策日志记录H5 Tauri命令边界
|
2026-06-18 14:06:05 +08:00 |
|
kdletters
|
71b18002d4
|
收口HostBridge请求信封校验
共享契约新增HostBridge method白名单和request id归一规则
Expo与Tauri壳在能力分发前拒绝非法id和未知method
补充两端测试、配置门禁、原生壳方案和共享决策记录
|
2026-06-18 13:22:27 +08:00 |
|
kdletters
|
f7126f9556
|
接入移动端壳相机图片导入能力
新增 HostBridge file.captureImage 契约与 H5 facade
Expo 移动壳通过系统相机拍摄图片并复用图片导入校验
通用图片输入面板按宿主能力展示拍摄入口并转换为现有 File 回调
补充移动壳、HostBridge、图片面板测试和原生壳文档
|
2026-06-18 06:03:45 +08:00 |
|
kdletters
|
b3278739a5
|
接入原生壳音频文件导出能力
新增 file.exportAudio HostBridge 契约和 H5 facade
移动端通过 Expo 缓存文件与系统分享导出受控音频
桌面端通过 Tauri 保存对话框写入受控音频字节
通用音频输入面板仅对本地音频资产展示宿主导出入口
更新壳能力检查、测试、方案文档和共享决策记录
|
2026-06-18 05:42:16 +08:00 |
|
kdletters
|
3be997e286
|
接入原生壳音频文件导入能力
新增 file.importAudio HostBridge 契约和 H5 facade
移动端通过 Expo DocumentPicker 读取受控音频文件
桌面端通过 Tauri 文件选择框读取受控音频文件
通用音频输入面板在原生壳复用宿主导入和现有音频处理管线
更新壳能力检查、测试、方案文档和共享决策记录
|
2026-06-18 05:25:39 +08:00 |
|
kdletters
|
51dcff6d16
|
接入原生壳页面刷新能力
新增 app.reloadWebView HostBridge 契约和 H5 facade
移动端通过 react-native-webview reload 刷新当前 WebView
桌面端通过 Tauri WebviewWindow reload 刷新主窗口
更新壳能力检查、测试、方案文档和共享决策记录
|
2026-06-18 05:07:01 +08:00 |
|