Commit Graph

617 Commits

Author SHA1 Message Date
lhk229 19a8fc2df0 合并最新 master 分支
Project CI / Backend tests (pull_request) Failing after 12s
Project CI / Repository checks (pull_request) Failing after 12s
Project CI / Frontend tests (pull_request) Failing after 58s
Project CI / Native shell tests (pull_request) Successful in 2m32s
带入 SpacetimeDB 2.7.0(hotfix3)工具链升级、后台灰度发布控制面恢复、
精选顺序分列瀑布流及后台素材预览统一。冲突仅三处文档:decision-log 与
pitfalls 双方条目并存,运维文档更新时间取新值。BgFilter 分支代码与部署
脚本零冲突;依赖升级后 bgfilter 46 测试全过。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 07:02:17 +00:00
lhk229 732900b696 BgFilter 连接重连冷启动宽限并收口重试契约一致性
一并落地评审的三个 P2:
1. 冷启动宽限:重连配额按「本进程是否已连通过 worker」分档(AppState 级
   标记,收到任意 HTTP 响应即算)。首连前 flat 升级为完整序列 22.5s、
   complex 追加 8×5s 至约 62.5s,覆盖主机开机竞态与慢开机;首连后回落
   flat ≤1.5s / complex 22.5s 保持运行中途快速收口。档位单次调用内锁定。
2. 安全不变量测试:TCP 已 accept、未回任何 HTTP 字节即断开 → 不得发起
   第二次连接,以 mock listener accept 计数证明;另补冷启动档 flat 跨过
   超出常规配额监听空窗的集成测试。
3. 文档契约全局一致:设计摘要表 / 实施步骤 / 运维文档 / 外部生成方案 /
   编辑器专题 / 前端画布方案中的旧禁令统一改为「不重试已被 worker 接收
   的内部 RPC(连接从未建立时按 §5.1 有界重连)」;数据契约澄清计量单位
   (重连只增加连接尝试次数,不产生第二次被接收的 RPC)并写明分档配额;
   decision-log 追加 2026-07-23 决策条目(含 Windows 平台差异)并在两条
   历史更正处补指针。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 06:30:20 +00:00
lhk229 b93ace708c BgFilter 父侧连接失败有界重试,跨过 worker 重启窗口
主机重启 / worker 崩溃拉起期间,父侧对 127.0.0.1 worker 的 TCP 连接
失败此前直接映射 internal_error:complex(max_attempts=1)终态失败不可
自愈,flat 被迫降级。现仅对连接从未建立的失败(无副作用、天然幂等)做
有界退避重试:每轮按公式重算 maxQueueWaitMs,不突破「预算不足不发送」
不变量;complex 用完整序列(约 22.5s,覆盖 RestartSec=5s + 启动窗),
flat 只取前 2 项(≤1.5s,不侵蚀 39s fallback 预留)。收到任何 HTTP
响应(含 5xx)立即停止重试;新增 bgfilter_internal_connect_retry_total
指标。设计文档与数据契约同步刻出「已建立连接后不重试」禁令的精确例外。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 06:05:47 +00:00
kdletters a7d492eea6 升级 SpacetimeDB 至 2.7.0
Project CI / Frontend tests (push) Successful in 33s
Project CI / Repository checks (push) Successful in 48s
Project CI / Native shell tests (push) Successful in 2m21s
Project CI / Backend tests (push) Successful in 3m43s
统一 Rust 依赖、CLI、容器与部署产物到 2.7.0 hotfix3
重新生成 Rust bindings 并接入 2.7 capability traits
补齐本地 dev 与生产 provision 的 hotfix3 commit 门禁
更新 SpacetimeDB skills、运维文档与 MCP 验证口径
2026-07-23 13:47:32 +08:00
lhk229 ec4fd552e3 为 complex 增加独立 BgFilter 熔断
为 flat 与 complex 分别维护熔断状态并补充双模式指标。

将统一熔断冷却默认值从五分钟降为两分钟。

为部署和 Provision 增加旧默认值定向迁移及门禁测试。

补充熔断状态隔离测试并同步架构、运维与项目决策文档。
2026-07-22 14:39:41 +00:00
lhk229 835fe20c63 修复 BgFilter 内部 Token 单段校验
统一校验 BgFilter 内部 Token 并限制启动角色

部署与 provision 预检拒绝内部空白和多行 Token

补充定向测试、运维门禁与架构文档
2026-07-22 14:15:13 +00:00
lhk229 070f8f8fa4 修复 BgFilter 发布窗口配置漂移
发布窗口内 callBudget 漂移改为告警计数并按 Worker 当前预算执行

Provision 验活地址改为从已校验的自定义端口派生

同步 BgFilter 调度方案与后端数据契约文档
2026-07-22 12:10:40 +00:00
kdletters 5d6a426013 统一后台精选审核素材预览
抽取后台素材媒体共享组件并统一懒换签与限流重试
为精选审核补充列表和详情中的素材预览交互
透传精选素材缩略图字段并覆盖历史 OSS 地址回归
同步后台预览数据契约与排障文档
2026-07-22 18:49:09 +08:00
kdletters 2c134d87da 修复精选活动卡图片读取权限
补齐后台活动卡图片上传确认与私有资产登记链路
为启用活动卡当前对象键派生受限匿名读取授权
覆盖禁用换图越目录及历史未登记对象回归场景
同步后端架构创作主页与项目排障文档
2026-07-22 18:25:52 +08:00
lhk229 2f8019c901 重构 BgFilter 排队与调用双预算
Project CI / Native shell tests (pull_request) Successful in 7m50s
Project CI / Frontend tests (pull_request) Successful in 1m46s
Project CI / Repository checks (pull_request) Failing after 6m46s
Project CI / Backend tests (pull_request) Failing after 6m6s
按 N 与单图估时公式化派生 provider attempt、调用预算和队列等待上限

将内部协议拆分为 maxQueueWaitMs 与 callBudgetMs,并补齐停机、熔断和审计语义

同步部署配置、运维门禁、smoke 测试及权威文档
2026-07-22 08:41:59 +00:00
lhk229 27f84fc6a7 完善 BgFilter 失败审计与权威文档
Project CI / Frontend tests (pull_request) Successful in 1m43s
Project CI / Repository checks (pull_request) Failing after 2m26s
Project CI / Native shell tests (pull_request) Successful in 6m19s
Project CI / Backend tests (pull_request) Successful in 7m28s
补充已发出 provider 请求的失败审计判定,并由 shutdown tracker 排空异步审计任务。

统一父流程、BgFilter worker、重试、超时、fallback 与结果持久化的架构和编辑器文档口径。

修正本地 dev 进程角色、live smoke 端口、OTEL identity、journal 与端口路由 skill。

明确当前容器拓扑不包含 BgFilter worker,仅覆盖非 BgFilter 路径和 unsupported queue smoke。
2026-07-22 04:24:11 +00:00
lhk229 14721ce25e 合并最新 master 分支
保留 master 的画布交互、Agent、VectorEngine 与原生 CI 更新。
解决角色动画测试和项目决策日志冲突,不恢复按帧数放大 BgFilter 超时的旧逻辑。
同步修正融合文档中的 BgFilter worker、N/Q、重试与父侧降级边界。
2026-07-21 14:37:15 +00:00
lhk229 7ea7dce395 补充BgFilter全进程与真实链路冒烟验证
新增32/40/48并发、五类故障与harness自测。
新增真实OSS和BgFilter契约冒烟并严格清理临时对象。
补充本地运行方式、凭据边界与staging验收范围。
2026-07-21 14:03:05 +00:00
lhk229 566f2f2194 落地 BgFilter 单实例受限资源 Worker
新增私有 BgFilter worker,提供内部鉴权、并发限流、超时、顺序重试、flat 熔断和图片校验。
父生成流程改为通过内部二进制 HTTP 原地等待,并保留 flat 降级与 complex 失败语义。
接入本地开发、systemd、生产部署、Provision、健康巡检和配置漂移门禁。
补充动画、部署与运维测试、Linux fixture 隔离以及对应架构文档。
2026-07-21 12:05:27 +00:00
kdletters 31a93c6842 补齐Gitea测试门禁
Project CI / Repository checks (push) Successful in 2m9s
Project CI / Frontend tests (push) Successful in 1m22s
Project CI / Backend tests (push) Successful in 7m25s
Project CI / Native shell tests (push) Successful in 5m56s
拆分前端后端与原生壳测试任务
接入server-rs正式workspace全量测试
修正过期Rust断言和Vitest遗漏路径
将AI游戏创作分支纳入CI触发范围
2026-07-21 18:12:43 +08:00
kdletters 6bed37542c 调整 VectorEngine 图片模型兜底顺序
统一 gpt-image-2 首发并在符合条件的失败后切换 gpt-image-2-c
保留总尝试预算、worker deadline 与首选失败审计
补齐响应图片校验、脚本兜底和回归测试
同步后端架构、开发运维和项目共享记忆文档
2026-07-21 17:06:39 +08:00
kdletters 7072e52a25 收口美术 Agent 整体超时预算
为消息规划链路增加 18 分钟总 deadline。
修正 LLM 重试响应体错误的 attempt 计数。
统一配置、定价失败中文文案并补齐测试文档。
2026-07-21 16:44:46 +08:00
kdletters 48c9ee2fae 优化美术 Agent 长等待提示与超时处理
将 120 秒硬超时改为请求存活时的耐心等待提示。
收口 provider 安全上限、有限重试和明确失败错误。
补齐等待互斥、计时清理、前后端测试及契约文档。
2026-07-21 16:12:17 +08:00
lhk229 8bdc728fd3 Fix/padding (#96)
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/96
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-07-21 16:11:22 +08:00
lhk229 0f0a8d52df 还原共享抽帧像素格式并在 BgFilter 消费点合成 alpha
撤掉 extract_video_frames_to_png 里无条件的 -pix_fmt rgb24,共享抽帧不再携带 BgFilter 专属策略
prepare_editor_character_animation_bgfilter_input 解码后先按白底合成 alpha 再转 RGB,补上对应回归测试

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 03:12:06 +00:00
lhk229 0150837d69 合并 master 并保留角色动作抠图修复
保留 master 的单次 FFmpeg filter graph 批量抽帧。

保留 BgFilter 前 RGB8 无补边输入与抠图后 RGBA8 透明补边。

合并并保留对应权威文档规则。
2026-07-20 13:58:17 +00:00
lhk229 75184d0771 固定抽帧像素格式并收敛动作帧图像处理重复代码
ffmpeg 抽帧显式指定 -pix_fmt rgb24,消除 to_rgb8 截断 alpha 的隐患
抽出 compute_contain_dimensions 与 image_format_from_mime 供两条帧路径共用
尺寸已匹配时跳过无效的 Triangle 重采样

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 13:37:55 +00:00
kdletters 2f9ad4b11c 合并图片画布结构化持久化
引入画布图层与生成器结构化存储、revision CAS 保存及迁移回滚流程
补齐历史画布资源修复脚本、SpacetimeDB schema、迁移和生成绑定
前端接入串行保存队列并保留 2MiB 旧布局兼容回退
优化角色动画单进程批量抽帧并同步 OpenAPI、运维与项目文档
同步 active mapper 的 V2 画布保存契约,保证 master 后端可编译
2026-07-20 21:34:05 +08:00
lhk229 41f578f0ac 修复角色动作抠图前透明补边
动作视频帧在抠图前改为 RGB8 等比缩放且不补边

抠图完成后保留 RGBA8 最终尺寸透明补边

补充像素回归测试并同步权威文档与长期决策
2026-07-20 13:02:59 +00:00
kdletters f748dc72c3 收口图片生成任务超时预算
- 将四类 VectorEngine 图片任务纳入长任务预算并预留终态写回窗口
- 通过请求上下文传递绝对截止时间并约束发送重试与图片下载
- 允许显式下调单次请求超时并补齐预算回归测试
- 同步外部生成 Worker 运维文档与项目记忆
2026-07-20 20:57:34 +08:00
kdletters 1d17698619 优化角色动画批量抽帧
使用单个FFmpeg filter graph批量输出32、40或48帧
保留精确采样时刻和尾帧安全步长
补充整批缺帧诊断与真实短视频回归测试
同步角色动画设计、决策记录和排障说明
2026-07-20 20:57:11 +08:00
kdletters b49bf9c984 结构化图片画布持久化并补充历史资源修复
将旧布局上限统一提升至2MiB并接入revision CAS保存
新增画布图层、生成对话框和迁移状态结构化存储
新增migration operator保护的回填、激活和回滚脚本
新增历史图片映射及音频资源恢复的定向dry-run/apply流程
补齐前端保存队列、OpenAPI、Bindings、发布归档与回归测试
2026-07-20 20:45:15 +08:00
kdletters f9e6ae40db 合并 master 最新 OSS 上传优化
合入 origin/master 的动画生成 OSS 上传优化
保留现役编辑器 Agent LLM client 与退役隔离边界
保留角色动画 OSS 客户端复用与并发限制
2026-07-20 20:08:55 +08:00
kdletters ee3948b491 合并旧创作模板退役分支
合并 codex/retire-legacy-creation,退役旧创作模板业务并保留历史数据壳
保留 master 最新编辑器 Agent、画布和个人页能力
补齐现役编辑器 Agent 的 LLM 与生成结果读取链路
同步 Vite、ESLint、Rust workspace、SpacetimeDB 与文档边界
2026-07-20 20:06:26 +08:00
lhk229 a4b3898ff4 动画生成过程中的OSS上传行为优化 (#93)
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/93
Reviewed-by: 段舒康 <kdletters@qq.com>
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-07-20 19:50:37 +08:00
kdletters fc8813a8ed 修复画布美术Agent规划与附件弹窗
显式标记待确认工具并在规划完成后结束当前回合
保留普通工具和Hook跳过场景的最大轮次保护并补充回归测试
修复附件选择弹窗Portal主题丢失导致的透明背景
同步画布Agent专题文档与共享排障经验
2026-07-20 19:29:34 +08:00
kdletters b7c36074b9 热修图片画布布局上限至2MiB
将 API 与 SpacetimeDB 的画布布局校验上限统一提高到 2 MiB
为站内与外部画布保存接口增加 4 MiB 请求体上限
补充 2 MiB 边界通过和超限拒绝测试
2026-07-19 17:58:00 +08:00
kdletters 7ea463ed08 退役旧创作模板业务并保留数据壳
保留 SpacetimeDB 历史表、迁移白名单与最小兼容读取定义
移除旧创作前后端、worker、业务过程及纯业务 crate 的编译依赖
恢复现役创作、项目、我的入口及桌面移动导航
收紧 Vite、TypeScript、ESLint、Vitest 与静态资源退役边界
补齐开发栈、网关、原生壳和文档退役约束
2026-07-18 22:02:22 +08:00
lhk229 0c04bbbea3 内存优化 (#91)
BGfilter服务调用改为传url,减少内存占用

Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/91
Reviewed-by: 段舒康 <kdletters@qq.com>
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-07-18 21:17:35 +08:00
kdletters 4ceb91cd48 完整恢复多产物原图回填画布
图标素材成功时同时回填透明图集和provider原图
UI素材提取成功时保留原图并将切片排列到其右侧
保持透明主结果锚点和后处理失败原图降级
同步多产物画布决策、踩坑与技术方案
2026-07-18 19:31:44 +08:00
kdletters 6926e5ecb1 恢复角色生成原图回填画布
角色生成成功时同时回填透明主图和右侧原图
保持透明图为生成器主锚点并保留失败降级边界
维持图标和UI生成不回填中间原图的现有规则
同步图片画布多产物文档和项目共享记忆
2026-07-18 18:58:56 +08:00
menghao 47f3297e84 修复图片改造后二维清晰度降级问题 (#90)
前端按图层真实尺寸恢复图片改造比例与清晰度

后端在角色去背景后恢复生成原图像素尺寸

补充前后端二千像素尺寸回归测试

同步更新图片画布技术文档与项目决策记录

---------

Co-authored-by: MengHao <menghao@MengHaodeMacBook-Air.local>
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/90
Reviewed-by: 段舒康 <kdletters@qq.com>
Co-authored-by: 孟豪 <mh18530625731@163.com>
Co-committed-by: 孟豪 <mh18530625731@163.com>
2026-07-18 16:50:17 +08:00
kdletters c56da8dc26 恢复新版创作主页与平台侧栏
恢复 /creation 新版创作工具主页及创作、项目公共侧栏。

将 creation-home 重新纳入 Vite、TypeScript、ESLint 与 Vitest 活动编译链。

恢复 /creation 的 Nginx 与 Pingora SPA 白名单并保留旧子路径下线边界。

补充路由、标题、CSS 过滤和网关 smoke 回归验证。
2026-07-18 15:41:55 +08:00
kdletters 5e512a6b23 修复 Rust 代码格式 2026-07-18 12:22:58 +08:00
kdletters e9c3dc1120 退役旧创作模板业务
保留 SpacetimeDB 历史表、迁移白名单与旧业务源码
切换前端 active 入口并解除旧创作页面和路由编译链
移除旧后端路由、worker 与纯业务 crate 依赖
收敛 SpacetimeDB 模块为历史数据壳
同步 Nginx、Pingora、验证门禁与架构文档
2026-07-17 22:07:52 +08:00
k88936 f5368c825f Editor agent refactored (#76)
重构了editor agent.
使得它能进行多轮工具调用, 把工具调用的结果嵌入到上下文里。
对于上下文的图片, 使用哈希后的id用来引用,不暴露细节信息to llm。
当前实现, 状态直接维护在json doc里, 需要对整个doc加锁,任务目前只能串行。
把SSE改成一个简单请求( 因为生图工具耗时需要二次确认, 不需要再实时展示给用户进度)。
增加确认/取消生图操作。
把tool的参数和错误情况做了反馈。

TODO:  工具调用的规范/prompt还可以改进。

改用external job来做素材生成, 针对来自editor agent 的生成会把生成资产的引用加入到结果json里,
客户端轮询 external job 确定生成状态, 发现结束了或者失败了就 重新get 会话,后端重新提供会话的时候把 结果插入回会话历史里,用来让 ai 引用 以及显示

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/76
Reviewed-by: 段舒康 <kdletters@qq.com>
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-07-17 21:03:15 +08:00
kdletters 387a1c26e3 完成全量检查整改
清理已跟踪原始日志与个人本地配置
修复前后端有效门禁、测试和构建问题
补齐生产 Jenkins、SpacetimeDB 本地命令与文档约束
收紧图片编辑器状态、附件与媒体引用测试
排除已下线旧创作入口测试并清理 warning
2026-07-17 16:56:46 +08:00
kdletters 18af49c27f 收紧编辑器媒体引用契约
禁止当前画布与外部编辑器接口接收 Data URL 和 Blob URL
生成请求统一先上传 OSS 并使用稳定资源引用
角色动画和视频签名前校验资源归属并支持资源与素材 ID
同步前后端 256KB 引用限制及相关文档测试
2026-07-17 16:44:01 +08:00
kdletters 93b27a2307 修复图集拆分运行时身份传递
在 procedure 外层捕获调用 identity 并显式传入事务
补齐素材归组持久表的迁移导入导出清单
修正 DDD 门禁注释解析并补齐编辑器 Agent 事件落位
同步后端架构约束与项目排障记忆
2026-07-17 14:45:11 +08:00
kdletters 8febb799f3 升级SpacetimeDB至2.6.1
统一Rust crates、CLI、容器镜像和生产provision版本
使用2.6.1 CLI重新生成Rust bindings
更新运行检查、架构运维文档和项目共享记忆
2026-07-17 13:44:12 +08:00
kdletters a0242e3547 修复图集快速编辑模型路由
快速编辑请求补齐模型比例和清晰度参数
后端按模型分流nanobanana与GPT图片编辑协议
兼容旧队列参数并收紧图片编辑计费边界
补充图集回归测试并同步OpenAPI与编辑器文档
2026-07-16 22:08:05 +08:00
kdletters 77e931ed96 修复外部编辑器接口测试格式门禁
调整图片生成警告断言的 rustfmt 换行格式。
2026-07-16 21:07:10 +08:00
lhk229 aecabdacfd 新抠图算法 (#85)
Co-authored-by: 段舒康 <kdletters@qq.com>
Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/85
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-07-16 18:33:06 +08:00
kdletters b303605bf2 新增后台新增用户付费率
扩展 Dashboard 聚合与契约,统计筛选期新增用户的真实付费转化
生成 SpacetimeDB typed bindings 并补充后端聚合测试
后台新增付费率卡片与响应式布局,覆盖零分母和时段文案
同步 Dashboard 运营口径与项目决策记录
2026-07-15 22:14:52 +08:00
kdletters cfdba640ee 修复图集快速编辑后端校验与错误提示
后端允许完整图标图集进入图片快速编辑,仅继续禁止单个图标。

快速编辑失败时向红色错误框传递具体错误文案。

补充前后端回归测试并同步画布编辑器技术文档。
2026-07-15 21:11:46 +08:00