Commit Graph

2471 Commits

Author SHA1 Message Date
lhk229 1f2906217b 文档:统一SFX自动时长默认口径
更新权威设计为新建 SFX 面板默认开启自动时长

同步实施计划与共享决策记录,保留预置手动值 5s
2026-08-07 15:51:30 +00:00
lhk229 840f219e18 Merge branch 'master' into feat/sound_opt
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
2026-08-07 13:57:30 +00:00
lhk229 c4d7a76a0a 合并 master 的编辑器原子提交改造
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
引入编辑器生成 durable receipt 与原子提交链路

将 SFX Worker 适配为原子写回并保留退款与失败分类

保持 External SFX 结果脱敏、实际时长和 Loop 契约
2026-08-07 13:54:26 +00:00
k88936 8ee4ff5b4f 合并主分支
解决冲突
2026-08-07 21:46:39 +08:00
k88936 cdf41012fb 合并主分支
处理合并冲突
2026-08-07 21:08:41 +08:00
suzmii d793b0e4c7 Fix: 去除账号信息弹窗四角不透明遮罩 (#144)
Project CI / Repository checks (push) Successful in 54s
Project CI / Backend tests (push) Successful in 3m51s
Project CI / Frontend tests (push) Failing after 2m19s
Project CI / Native shell tests (push) Successful in 15m8s
`before:`
![image.png](/attachments/fc0f1c7d-e722-46d4-8360-fd8069d6bb12)
`after:`
![image.png](/attachments/3c0f0f95-c27f-4053-9ce2-55a11a56b580)

---------

Co-authored-by: 段舒康 <kdletters@qq.com>
Co-authored-by: suzmii <suzmii@foxmail.com>
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/144
Reviewed-by: 段舒康 <kdletters@qq.com>
Co-authored-by: 董羽秦 <suzmii@qq.com>
Co-committed-by: 董羽秦 <suzmii@qq.com>
2026-08-07 20:46:08 +08:00
k88936 7d904974f2 合并主分支并同步外部编辑器契约
同步外部编辑器项目选择与 MCP 工具契约
同步外部 v1 OpenAPI、API 实现及相关测试
同步 CI 容器网络韧性配置
2026-08-07 20:45:36 +08:00
k88936 bd972662c7 合并 origin/master
合并编辑器生成结果原子提交与外部 MCP 项目选择修复

保留确定性派生配方与改造 capability 分离语义
2026-08-07 20:38:30 +08:00
k88936 e99f3209f1 阻止损坏生成配方降级恢复
保留生成配方 hydrate 来源状态

禁止损坏或未来版本配方回退 legacy 恢复

补齐资源快照与改造入口回归测试

记录已生成图层点击恢复浮层的产品待确认项

同步画布编辑器恢复契约文档
2026-08-07 20:25:42 +08:00
k88936 a321243945 合并主分支并统一编辑器生成原子提交
接入编辑器生成结果 durable receipt、稳定指纹和 SpacetimeDB 原子事务
保留图标规范与图集生成分模块实现并纳入原子提交和计费边界
统一队列 lease fencing、未知结果重放、画布 CAS 与失败退款语义
同步 schema、bindings、架构文档与回归测试
2026-08-07 19:43:37 +08:00
kdletters 1bc8ccd077 合并外部 MCP 项目选择修复
Project CI / Frontend tests (push) Successful in 3m2s
Project CI / Backend tests (push) Successful in 3m29s
Project CI / Repository checks (push) Successful in 1m3s
Project CI / Native shell tests (push) Failing after 9m33s
合并紧凑项目列表与封面稳定引用
合并 MCP 请求体参数提示与回归测试
同步 External v1 契约、Skill 与项目记忆
2026-08-07 19:41:27 +08:00
kdletters 9c2f02db25 增强 Gitea CI 网络稳定性
Project CI / Repository checks (push) Failing after 51s
Project CI / Native shell tests (push) Failing after 52s
Project CI / Frontend tests (push) Successful in 3m13s
Project CI / Backend tests (push) Successful in 3m46s
为所有 npm ci 增加整命令级有界重试。

补齐 AI 游戏创作 npm 与 Cargo 依赖缓存闭合验证。

更新可信 CI 镜像、缓存漂移告警和 Runner 运维文档。

记录 Actions Gateway CONNECT 断连崩溃的处理与验证边界。
2026-08-07 19:22:46 +08:00
kdletters e099a519ba 修复外部 MCP 项目选择与参数提示
项目列表新增紧凑摘要和最新封面稳定引用
MCP 固定摘要视图并前置校验必填请求体
同步 External v1 OpenAPI、Skill 与项目记忆
补充十九项目超限和四个 415 工具回归测试
2026-08-07 19:21:34 +08:00
kdletters 6c53eda71c 修复编辑器生成结果原子提交
Project CI / Repository checks (push) Successful in 1m23s
Project CI / Native shell tests (push) Failing after 56s
Project CI / Frontend tests (push) Successful in 3m44s
Project CI / Backend tests (push) Successful in 4m33s
新增九类编辑器生成 durable receipt 与稳定提交指纹
统一资源、素材、binding、画布和队列终态的 SpacetimeDB 原子事务
补齐未知结果有界重放、CAS 刷新、lease fencing 与原子失败退款
收紧 owner、project、object、跨记录语义和 replay 一致性校验
保持 Agent 与 External compact 结果契约及 512 KiB 上限
延迟 inline 计费完成边界并区分 procedure dispatch 前后取消
同步 schema、迁移、生成绑定、架构文档和故障回归测试
2026-08-07 18:03:30 +08:00
lhk229 cad861a13d 完成 SFX V2 T6 测试与发布门禁
抽出单一 SFX Worker 编排并覆盖计费、翻译、ElevenLabs、OSS 与写回
补齐稳定失败分类、退款和零副作用组合测试
修复画布 Agent 的自动时长、小数范围、Loop 与 Prompt 参数契约
同步测试证据、发布门禁和项目共享记忆
2026-08-07 09:30:03 +00:00
lhk229 122835839a 修正 SFX Chat completion 预算契约
Project CI / Repository checks (pull_request) Successful in 1m20s
Project CI / Frontend tests (pull_request) Successful in 3m49s
Project CI / Backend tests (pull_request) Successful in 4m24s
Project CI / Native shell tests (pull_request) Successful in 14m26s
将优化与翻译的 VectorEngine Chat wire 锁定为 max_completion_tokens。

拒绝旧 max_tokens 与不适用于 Chat 的 max_output_tokens 字段。

统一权威设计、共享计划与决策记录中的 completion tokens 语义。
2026-08-07 07:39:43 +00:00
lhk229 5424424bad 合并:同步最新 master
同步 Chat completion token 预算字段能力与兼容策略。

保留 SFX V2 正式生成链路和最新 Prompt 规范化修复。
2026-08-07 07:29:43 +00:00
lhk229 5c316fc680 统一SFX提示词 trim 规范化
将 SFX Prompt 首尾规范化改为 ECMAScript String.trim 语义并同步 Rust 等值实现

更新共享边界 fixture、前后端与 Worker 回归测试

同步权威设计、实施计划、决策日志和 External OpenAPI 描述
2026-08-07 07:27:52 +00:00
k88936 e088106541 从改造入口排除原位快速编辑
移除 image.edit 的可改造 action 能力
保留快速编辑入口并隐藏改造按钮
说明原位替换结果无法可靠恢复旧 source
同步权威设计文档和回归测试
2026-08-07 15:15:18 +08:00
k88936 0b44253c9d 收窄改造缺失来源拒绝范围
可补选的必填与可选引用统一按最佳努力恢复
仅对三个无来源替换入口的 action 拒绝改造
细化快速编辑与来源绑定错误提示
补充权威设计说明和回归测试
2026-08-07 14:34:24 +08:00
lhk229 392741215c 完成 SFX V2 T5 正式生成链路
Project CI / Repository checks (pull_request) Failing after 7s
Project CI / Backend tests (pull_request) Failing after 7s
Project CI / Frontend tests (pull_request) Successful in 2m52s
Project CI / Native shell tests (pull_request) Successful in 13m43s
接通 Luna 英文化、ElevenLabs 单次生成、MP3 校验、OSS 与权威元数据写回
演进站内和 External v1 契约、幂等参数、详情重绘与 Agent 音效模型
新增 ElevenLabs 动态定价键及历史定价快照兼容
同步 OpenAPI、外部 Agent Skill、共享计划与决策记录
2026-08-07 06:13:34 +00:00
k88936 130dc8ef9a 修正改造按钮显隐语义
按生成 action 能力决定改造按钮显隐
保留支持 action 的错误入口并在点击后提示原因
补充损坏配方与缺失来源回归测试
同步画布编辑器设计文档
2026-08-07 13:58:26 +08:00
k88936 21b05f9446 修复画布生成配方恢复边界
兼容生成配方未来字段与历史完美像素快照
补齐参数回退、旧版恢复告警和本地参考图上传
收紧生成任务幂等比较与裁扩来源归属
同步画布编辑器设计文档和回归测试
2026-08-07 13:19:47 +08:00
k88936 6725ee1b8c 合并主分支
Project CI / Frontend tests (pull_request) Successful in 3m29s
Project CI / Backend tests (pull_request) Successful in 3m47s
Project CI / Repository checks (pull_request) Successful in 1m6s
Project CI / Native shell tests (pull_request) Successful in 12m4s
解决简单合并冲突
2026-08-07 13:06:05 +08:00
k88936 323051be29 合并主分支
解决简单合并冲突
2026-08-07 13:03:38 +08:00
k88936 21209910dd 修复图标生成引用与提示词校验
Project CI / Frontend tests (pull_request) Successful in 2m41s
Project CI / Native shell tests (pull_request) Successful in 12m9s
Project CI / Repository checks (pull_request) Failing after 7s
Project CI / Backend tests (pull_request) Failing after 8s
修复外部 API 参数覆盖与图标描述数组边界

提前校验 Agent 正式引用并收紧 SpacetimeDB 对象一致性

修正自然语言提示词转义与纯文本格式校验

移除图标规范占位提示词并避免重复下载参考图

补充定向测试与对应架构文档
2026-08-07 12:18:01 +08:00
k88936 e2fbef79e1 修复画布生成配方恢复与快照失真
保持背景音乐规范提示词与生成输入快照一致。

统一 V2 generationInputs 的项目、素材与完美像素账本水合,并保留 legacy 兼容。

为完美像素、裁扩、去背景和图集切片保存确定性配方并禁止改造。

由服务端按当前账号资源重建安全来源引用,修复布尔元数据显示。

补齐刷新恢复、数值布尔、无标签引用、来源溯源与确定性操作回归测试。
2026-08-07 11:53:25 +08:00
lhk229 2281458ba6 合并:同步原分支音频边界修复
Project CI / Repository checks (pull_request) Failing after 14s
Project CI / Backend tests (pull_request) Failing after 13s
Project CI / Frontend tests (pull_request) Successful in 3m8s
Project CI / Native shell tests (pull_request) Successful in 12m16s
同步 ElevenLabs 客户端单次请求约束。

同步真实 MP3 六百秒边界回归测试。

同步敏感配置调试输出遗留问题记录。
2026-08-07 03:50:24 +00:00
lhk229 e1e4f487f5 实现 SFX V2 T4 生成面板交互
新增独立 SFX Prompt 助手状态机与请求隔离、单层撤销。

抽取通用音频预设跑马灯并接入 SFX 预设、计数和优化入口。

实现自动/手动时长、Loop、模型展示及同步提交参数冻结。

恢复项目布局状态,补齐回归测试并更新 T4 权威文档与共享决策。
2026-08-07 03:49:04 +00:00
k88936 4a9f4657e9 同步编辑器图标生成权威合同
更新图标规范独立队列、计费与 worker 语义
收紧主规范引用为 referenceId 与正式资源或素材 ID
保留普通附加参考图边界并移除客户端价格字段
2026-08-07 11:45:54 +08:00
lhk229 b64c3c05ef 记录调试输出敏感配置遗留问题
Project CI / Native shell tests (pull_request) Successful in 13m18s
Project CI / Repository checks (pull_request) Failing after 10s
Project CI / Backend tests (pull_request) Failing after 10s
Project CI / Frontend tests (pull_request) Failing after 2m1s
补充 AppConfig 与 AppState 调试输出的既有风险、审查归属和后续修复边界。
2026-08-07 03:36:25 +00:00
k88936 f8bcf7cf54 修复图标规范上传类型合同
图标规范上传在项目资源与账号素材分支统一登记为 icon-spec。

补充上传后提交图集生成及两条持久化分支回归测试。

同步编辑器设计文档、外部 API Skill 与 Python helper 的 referenceId 合同。
2026-08-07 11:15:11 +08:00
lhk229 c3b3b47c9a 实现 SFX V2 T3 ElevenLabs 音频适配
新增 ElevenLabs 直接二进制适配、固定请求契约和单次 POST 边界。
实现 40 MiB 有界读取、MIME/MP3 校验和 600 秒纯 Rust 时长探测。
接入服务端环境配置、失败关闭 settings guard 与持久化来源解耦。
补齐 mock 回归测试、环境模板和 T3 tracked 文档记录。
2026-08-07 02:50:59 +00:00
lhk229 d208c44c86 合并:同步 SFX V2 T1 验收修复
合入共享 Prompt 边界、正式提交 canonicalization 与任意小数时长修复
合入严格 V2 metadata 构造和音频 compact 到 Agent reconcile 契约
确认 T1 修复与 T2 助手、翻译 service 依赖兼容并通过融合验证
2026-08-06 14:17:23 +00:00
lhk229 db9f452cae 修复 SFX V2 T1 验收问题
修复音频 compact 结果与 Agent reconcile 契约
统一正式 SFX 提交流程的 Unicode canonicalization
锁定队列 duration 与 Loop JSON 形态
收紧 Rust V2 metadata 构造和反序列化不变量
补齐共享边界、52 个预设 ID 和任意小数时长测试
2026-08-06 14:07:05 +00:00
lhk229 9734f78474 实现 SFX V2 T2 助手与翻译服务
新增登录态音效提示词一键优化 BFF 与严格 JSON 候选门禁
新增 Worker 内部英文化服务、Unicode Script 校验和业务重试边界
补齐 mock LLM、路由埋点、回归测试及 T2 共享实施记录
2026-08-06 14:04:36 +00:00
lhk229 cd80c085ff 实现 SFX V2 T1 契约与提示词基础
统一前后端 SFX Prompt Unicode canonicalization、字符计数和 2048 边界
固化 52 个音效预设、追加规则及跨语言测试向量
演进共享音频请求响应、duration、Loop 和 V2 metadata 契约
增加 External model 输入矩阵纯函数并保持正式接线归属 T5
补齐前端提交、读取、深拷贝与请求边界回归测试
更新共享计划并标记 T1 完成且当前不可发布
2026-08-06 13:06:10 +00:00
kdletters 9dab1f53b9 修复Chat生成预算字段兼容
Project CI / Native shell tests (pull_request) Successful in 15m7s
Project CI / Repository checks (push) Successful in 1m14s
Project CI / Frontend tests (push) Successful in 3m57s
Project CI / Backend tests (push) Successful in 4m13s
Project CI / Native shell tests (push) Successful in 12m28s
Project CI / Repository checks (pull_request) Failing after 10s
Project CI / Backend tests (pull_request) Failing after 10s
Project CI / Frontend tests (pull_request) Successful in 3m23s
新增Chat生成预算字段能力并兼容新旧网关
VectorEngine编辑器客户端改用max_completion_tokens
补充BGM请求体回归与协议文档约束
2026-08-06 20:39:19 +08:00
lhk229 6fd731f56c 合并:同步最新 master 并放行 SFX T0
合并 master 的 BGM 生成路径与角色动作媒体契约更新
保留并收敛 SFX V2 权威设计与共享实施计划
标记 T0 已通过并允许进入 T1
明确 SFX V2 实际时长响应对通用媒体口径的专项覆盖
2026-08-06 12:09:53 +00:00
lhk229 c72d295a84 文档:冻结SFX生成优化V2实施口径
完善SFX V2权威设计、LLM参数、二进制与时长安全边界
新增可共享的T0至T6任务拆解、测试矩阵和迁移发布门禁
同步项目决策日志与文档索引
2026-08-06 11:47:04 +00:00
k88936 2266d7fe89 修复图标图集审查中的边界问题
校验 LLM 完成原因并规范化 Agent 图标描述
统一前后端图标规范输入、错误返回和精确撤销行为
收紧图集拆分授权并拒绝引用 ID 歧义
修正快照映射诊断和表单标签可访问性
补充定向测试与编辑器设计文档
2026-08-06 19:15:10 +08:00
k88936 942d2d36ad 合并 BGM 生成路径优化
接入画板背景音乐预设、提示词优化与生成链路
统一前后端音频契约和 canonical prompt 语义
保留画布生成输入改造契约并同步文档与测试
2026-08-06 19:04:46 +08:00
k88936 2b8ced9195 合并主分支
解决简单冲突
2026-08-06 18:55:15 +08:00
lhk229 281c84b7bf BGM生成路径优化 (#142)
Project CI / Frontend tests (push) Failing after 2m11s
Project CI / Backend tests (push) Successful in 3m33s
Project CI / Native shell tests (push) Successful in 13m57s
Project CI / Repository checks (push) Successful in 1m15s
Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/142
Co-authored-by: Linghong <ink29535@proton.me>
Co-committed-by: Linghong <ink29535@proton.me>
2026-08-06 17:54:40 +08:00
k88936 fa02c366a9 显示图标规范输入字符计数
在一键优化与撤销操作行右侧实时显示 Unicode 字符数和 200 字符上限。

补充计数更新、emoji 截断和右对齐布局测试,并同步编辑器方案文档。
2026-08-06 17:19:41 +08:00
k88936 969afbaf94 合并主分支并解决图标生成模块冲突
保留图标规范与图集生成独立模块边界

融合主分支角色动画与图片序列字段
2026-08-06 17:13:41 +08:00
k88936 291724a984 合并主分支并解决画布生成冲突
同步主分支的角色动作序列、精选展示与外部编辑器契约更新
保留画布生成输入 V2 契约并合并视频、音效时长元数据
修复精选视频对数值型 V2 时长元数据的兼容
2026-08-06 17:09:39 +08:00
k88936 a03f13d0a5 Fix/动作 前端展示下载+后端数据结构+精选 的问题 (#117)
Project CI / Repository checks (push) Successful in 1m28s
Project CI / Frontend tests (push) Successful in 3m19s
Project CI / Backend tests (push) Successful in 4m3s
Project CI / Native shell tests (push) Successful in 13m58s
原问题

```
历史角色动作是一个兼容例外:
后端允许它没有 editor_project_resource 资源行,只要布局自身保存了完整图片序列帧。
```

- 把生成动作的原视频asstetkind改为 video, 只把图片序列作为action
- db asset新增字段image_sequence_frames_json image_seq_duration_ms等, (原来动作的这些数据存在generation-input中,并不合适)
修改了externaljob,把这部分数据正确填写到数据库中。
- 为避免到处fallback,做了数据库迁移, 脚本: `scripts/spacetime-normalize-editor-character-actions.mjs`   手动进行过画布+素材库中动作序列帧+原始视频 迁移的测试

- 移除preview_video_path字段,  reason:
>preview video
    → separate resource/asset with assetKind="video"
  final transparent action
    → assetKind="character-animation"
    → source_resource_id points to the preview-video resource
    → image_sequence_frames_json contains the actual playable result
>
> So preview_video_path on the final action duplicates the source video resource’s image_src.
- 移除每个frame的index字段 原因: 这个只用于后端内部处理时有一个并发请求, 每个赋一个index方便收集, 后续没有再用到,且与数组本身重复

- 清除副产品preview video的generation_input_json,  因为会影响改造功能, 迁移后预览视频不提供改造(参数), 只有序列帧动作有改造

仍存在的共性问题: #134

- 导出:
下载改为完整序列帧, 封面不再作为fallback, 部分帧读取失败时行为:仍生成 ZIP,并记录失败帧, 不变

画布放置:
before:
![shotmd-1785207959-compressed.webp](/attachments/e56454f0-49a3-4a8a-951f-c21960975f99)
after:
![shotmd-1785231365-compressed.webp](/attachments/886f07df-c25b-4ecc-acc9-160e1795a991)
精选模块: 主页展示, 审核部分UI:
![shotmd-1785500046-compressed.webp](/attachments/9ec3b679-0045-494a-9f20-134f7e73fecf)
![shotmd-1785499780-compressed.webp](/attachments/42396e63-5f26-4853-a367-0f3c15111add)
这两处序列帧们的加载设计为惰式的, 只有hover和单独preview才会全部加载

Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/117
Reviewed-by: 段舒康 <kdletters@qq.com>
Co-authored-by: 王德宇 <kvtodev@outlook.com>
Co-committed-by: 王德宇 <kvtodev@outlook.com>
2026-08-06 16:57:38 +08:00
k88936 55ff47c6c4 收紧图标图集提示词输入契约
新增独立的 spritesheet prompt 单项字符、聚合字符和 UTF-8 字节上限。

以已验证类型约束 prompt builder,并覆盖 inline、队列与 worker 执行边界。

同步画布校验、Editor Agent 工具合同、External v1 OpenAPI、文档和边界测试。
2026-08-06 16:44:33 +08:00
k88936 0b3475ef98 修复图标生成审查中的轻量问题
图标规范输出校验失败时携带无效响应和修正指令重试。
图标图集队列在定价和持久化前归一化描述数量。
手工编辑规范字段后清除失效撤销快照。
收口项目生成对话框的重复复位逻辑并补充测试和文档。
2026-08-06 16:19:48 +08:00