Commit Graph

1518 Commits

Author SHA1 Message Date
ddcat666
9174aae013 fix(*): 质量检查与版本发布 - 修复格式门禁和创作灵感兼容导出并发布 v1.6.2 2026-10-08 20:43:15 +08:00
地球观察员
04689257d2 feat(create): 创作首页与灵感库 - 纵深画廊、灵感页面、外部提示词池 (#708)
* feat(create): 创作首页与灵感库 - 纵深画廊、灵感页面、外部提示词池

创作首页空态换成直线纵深图片画廊:11 张横版卡片沿 Z 轴前后排队,当前一张
在最前最大,滚轮、左右按钮或自动轮播切换,卡片带玻璃描边和"行动点 / 标题 /
描述"三段信息,跟随输入框的创作类型联动换队。队列是随机取样并记住最近出现过的
条目,走完一轮自动换批,不再反复看到同样那几张。

左侧「创作」下方新增灵感页:1341 条提示词按来源、分类和创作类型筛选,
支持搜索、收藏,以及自建灵感的新建、编辑、删除和 JSON 导入导出。

新增 scripts/import-inspirations.mjs,从 awesome-seedance、好好学 AI 和
YouMind 两个姊妹库同步条目,并为画廊池生成本地 webp 缩略图(560px / q72,
约 35KB 一张)。上游封面平均 400KB~700KB,直接引用一屏 11 张要拉 5MB 以上,
换成本地缩略图后约 400KB。

画廊池改走 public/inspirations/gallery-pool.json 运行时拉取:几百条提示词正文
压在首屏 JS 上是白背的,而这份数据只服务画廊一处。缩略图等距抽取,横跨各来源
的全部分类;只收描述非空的条目,保证卡片三行版式不缺角。

* docs(create): 功能清单与地图 - 补充纵深画廊与灵感库

功能清单新增「创作首页纵深画廊与灵感库」一节,并在功能地图里记下画廊、
灵感页、运行时目录加载和导入脚本各自的代码入口;待测试清单记下浏览器验收结果
与仍未确认的边界(弱网退回、窄屏、文本条目偏少、外部来源署名)。
2026-10-08 19:55:04 +08:00
ddcat666
295374650a refactor(*): 代码质量 - 优化前后端实现并完善协议与画布验证 2026-10-08 19:38:57 +08:00
qihang ma
d74f783912 fix(model-picker): 模型选择 - 修复长列表溢出与渠道面板随动 (#706)
Co-authored-by: 天道酬秦 <tdcq@tiandaochouqindeMacBook-Air.local>
2026-10-08 14:28:40 +08:00
ddcat666
e224ea1015 fix(canvas): 画布引用 - 统一角色与图片编号并保持生成资源顺序 2026-10-08 14:20:45 +08:00
ddcat666
f0b3f4ed5a test(web): 质量检查 - 同步预演台与访客路由回归断言 2026-10-08 14:12:35 +08:00
jiabx
f1697b613f fix(agent): 画布助手 - 审批恢复携带真实执行结果,消除恢复后重发撞快照冲突 (#702)
* fix(agent): 画布助手 - 审批恢复提示携带真实执行结果,消除恢复后重发撞快照

* fix(agent): 画布助手 - 回执摘要按字段组装保留快照,占位指引要求先更新快照再重发

* fix(agent): 画布助手 - 未执行调用重发指引按对象区分快照适用范围

---------

Co-authored-by: Future <jiaboxuan1205@163.com>
2026-10-08 13:50:59 +08:00
jiabx
e69bea15ef fix(agent): 画布助手 - 工具参数超限改为纠偏回执,不再判死整个运行 (#701)
* fix(agent): 画布助手 - 工具参数超限改为纠偏回执,不再判死整个运行

* fix(agent): 画布助手 - 桥接优先回放参数回执,结构类调用问题整步拒绝

---------

Co-authored-by: Future <jiaboxuan1205@163.com>
2026-10-08 12:15:22 +08:00
jiabx
d98e9f78f1 docs(readme): 赞助致谢 - 更正赞助者邮箱拼写 (#700)
Co-authored-by: Future <jiaboxuan1205@163.com>
2026-10-08 11:29:15 +08:00
ddcat666
1d2dc2f0ac chore(ui): 登录弹窗 - 整理注册链接换行 2026-10-08 10:54:41 +08:00
ddcat666
27d7cc6a09 feat(skills): 技能分类 - 后台改为分类树编辑,技能库按一级分类筛选
管理页左侧选择一级分类和子分类,右侧编辑名称、图示、排序和启用;画布技能库与浏览条按平台一级分类和子分类筛选。
2026-10-08 10:54:41 +08:00
ddcat666
f0359a6bee feat(previs): 预演工作台 - 重做界面与取景手势,缩放不得进入演员体积
滚轮和按钮共用最近距离,环绕目标落在演员体内时停在包围盒外;取景按可见对象体积适配入画,取消暂存手势时不写入历史。
2026-10-08 10:54:41 +08:00
ddcat666
f67a304380 fix(canvas): 预演合并 - 场景时间戳采用服务端快照,带 id 数组按条目合并
每次预演变更都会改 updatedAt,不再把它当成用户编辑冲突;带 id 的对象数组按条目合并,仅刷新场景时保留本地视口。
2026-10-08 10:54:41 +08:00
ddcat666
dd52588a5b feat(agent): 预演工作站 - 创建场景时绑定可打开预演台的视频节点
创建场景时放置或修复唯一的 video 工作站,补丁复用空闲绑定并拒绝多节点或类型冲突;没有工作站的旧场景会在补丁时补上。
2026-10-08 10:54:40 +08:00
ddcat666
9b1464544f feat(agent): 经验记忆 - 按任务相关度排序召回,并过期清理待批准记忆
召回按主题、情境和中文双字命中加权;30天未处理的待批准记忆会在记录和压缩调度时过期,成功计数写入运行态以免事件窗口截断后误拦。
2026-10-08 10:54:40 +08:00
ddcat666
f73d773995 feat(platform): 模型可用性 - 目录附带近24小时成功率与7天趋势
公开目录只统计系统渠道的 create 成败,样本不足或日志不可用时不改变现有可用判断;模型选择器展示当前可用状态和历史成功率。
2026-10-08 10:54:40 +08:00
ddcat666
9997422fcd fix(media): 视频播放 - 资源视频改走 playback 变体,失败后刷新签名并重试
画布预览、生成回填和项目水合都解析浏览器可播地址;播放失败时绕过展示缓存,等待转码完成后强制刷新 playback 地址。
2026-10-08 10:54:40 +08:00
esncy
0b1d5073e8 fix(auth): 访客工作台 - 欢迎页关闭后展示创作界面 (#697)
Co-authored-by: a0 <a0@Mac-mini.local>
2026-10-07 08:47:55 +08:00
ddcat666
d6a57c2fa7 fix(release): 发布检查 - 修复 v1.6.1 后端测试失败
兑换码购买链接默认改为空,避免非法占位文案导致外观保存失败;迁移清单补上 upload_reservations;按首尾帧后的实测体积上调 Agent 工具 schema 预算;Grok 生图测试覆盖 response_format 开关的两种返回。
2026-10-06 14:51:43 +08:00
ddcat666
b4408669fc chore(release): 版本发布 - publish v1.6.1
同步 VERSION 与更新日志,供 v1.6.1 标签发布校验;本版核心为 3D 预演台重构。
2026-10-06 14:21:42 +08:00
ddcat666
e30bdc42e0 docs(readme): 赞助致谢 - 新增 3D 预演台赞助用户
有 GitHub 账号的赞助用户以头像与账号链接致谢,其余以名单列出。
2026-10-06 14:21:42 +08:00
ddcat666
b8d0b25e3c fix(ci): 质量检查 - 修复预演台重构后 Web 与后端检查失败
补回预演台模式切换、模式门控时间轴与非模态引导挂载,取景切换器使用激活态 token,模板场景补齐 environment 字段;E2E 改为验证新版 FloatingDock 与模式切换下的时间轴,工作流改用重命名后的 test:previs:e2e;修正 canvas_share.go 的 gofmt 格式,并按新布局与欢迎页外观行为校准合同测试。
2026-10-06 14:21:42 +08:00
ddcat666
68491b4c20 feat(admin): 技能分类 - 重构分类维护与技能归类交互 2026-10-06 11:49:31 +08:00
Catlaxy AI
f6dd7860aa fix(tasks): 任务队列 - 执行前重查排队任务的自定义渠道开关 (#682)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-10-06 09:55:47 +08:00
Catlaxy AI
9bc255467d fix(upload): 分片上传 - 先预留配额并原子提交容量 (#679)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-10-06 09:42:48 +08:00
Catlaxy AI
3698249254 fix(media): 资源交付 - 按内容识别上传类型并统一重试与附件交付 (#678)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-10-06 09:35:50 +08:00
tanzui
9597a9b4ed fix(agent): 视频生成 - 支持 Agent 设置首尾帧 (#696)
* fix(agent): 视频生成 - 支持 Agent 设置首尾帧

* fix(agent): 工具参数 - 精简首尾帧说明并保持体积预算

---------

Co-authored-by: tanzui <305375675@.com>
2026-10-06 09:28:22 +08:00
xiaomuclaw
29cc6b4716 fix(platform): API 调用日志截断对齐 UTF-8 字符边界 - 防止截断报文写库失败导致订单误标 uncertain (#695)
truncateAPICallPayload 原先按字节硬切超长报文,切点多字节字符时会产生
非法 UTF-8,写 PostgreSQL 报 invalid byte sequence,调用日志入库失败并
连锁导致订单被标为 uncertain。

- 截断点回退到最近的 UTF-8 字符边界
- 对源报文本身的非法字节做 strings.ToValidUTF8 兜底
- 补充回归测试:中文/emoji/中日韩混排/非法字节等场景

Co-authored-by: xiaomuclaw <282836183+xiaomuclaw@users.noreply.github.com>
2026-10-06 09:28:17 +08:00
Catlaxy AI
fe2b892f1f feat(skills): 技能管理 - 支持后台维护一级分类 (#694)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-10-06 09:28:03 +08:00
Catlaxy AI
fb4af9bd34 feat(skills): 技能管理 - 增加可选的平台子分类策展 (#693)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:24:21 +08:00
qihang ma
f6003c1c88 fix(protocol): Grok 生图 - 让 response_format 开关生效 (#692) 2026-10-06 09:24:16 +08:00
tanzui
53ee5b0cbd fix(projects): 短剧项目 - 修复同名创建重试 (#691)
Co-authored-by: tanzui <305375675@.com>
2026-10-06 09:24:11 +08:00
Catlaxy AI
544daa4b9f fix(assets): 复用生成素材身份并保留空缓存同步前的编辑 (#690)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:24:06 +08:00
Catlaxy AI
67e2e1ebbf test(storage): 使用进程内 DNS 夹具消除离线测试依赖 (#689)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:24:00 +08:00
Catlaxy AI
fba4b7c693 fix(settings): 原子发布首次创建的存储加密密钥 (#688)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:23:56 +08:00
Catlaxy AI
6f4267e900 fix(skills): 内置技能 - 展示媒体兼容 snake_case 字段 (#687)
内置技能 frontmatter 的 showcaseMedia 使用 showcase_uri/showcase_url,加载器直接解码到 camelCase 的 SkillShowcaseMedia,封面地址在入库前就丢失;当前 71 个内置技能中有 66 个受影响,接口返回的展示媒体地址为空(读取端已有的 snake_case 兼容无法补回入库前丢失的值)。

- 内置加载器同时接受 snake_case 与 camelCase,统一输出 camelCase,数据库与公开 API 契约不变
- 同一字段两种写法的值不一致时记录技能 ID 与原因并跳过该技能,其他技能继续加载;showcaseMedia 不是数组时同样跳过
- 加载器增加接受 fs.FS 的内部入口,正式入口仍使用 embed FS
- 补充测试:自带最小 fixture 与真实内置技能的封面地址保留、字段格式与冲突、跳过隔离与日志

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:23:51 +08:00
Catlaxy AI
433a998c10 fix(admin): 编辑停用用户时清除全部登录会话 (#686)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:23:46 +08:00
Catlaxy AI
aa1ba12a0b fix(auth): 登录时间写回保留并发停用状态 (#685)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:23:42 +08:00
Catlaxy AI
ad766bb643 fix(platform): 公开既有账号文件容量上限 (#684)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:23:37 +08:00
Catlaxy AI
208da8d00d fix(welcome): 欢迎页沿用站点外观与 SEO 标题
合并 #683:欢迎页沿用站点外观与 SEO 标题
2026-10-06 09:23:18 +08:00
Catlaxy AI
19841cb9c5 fix(auth): 注册唯一性检查识别 Gmail 邮箱别名
合并 #681:注册唯一性检查识别 Gmail 邮箱别名
2026-10-06 09:23:04 +08:00
Catlaxy AI
a71e03b131 fix(auth): 登录限流按解析后的用户身份共享计数
合并 #680:登录限流按解析后的用户身份共享计数
2026-10-06 09:22:29 +08:00
xiaomuclaw
82b4b0c260 fix(media): 创作结果恢复与等待上限 - 长视频不再误判失败 (#665)
* fix(media): 创作结果恢复 - 结果定位符缺失时回退到任务结果

首页创作生成的图片/视频在本地素材索引尚未同步时(物化结果幂等命中、换标签页、
素材同步延迟)会被收敛成“任务已结束,但生成结果暂时无法读取”:结果定位符只查
本地素材 store,查不到就返回空,于是结果既不挂载也不显示,而服务端其实已经成功。

- generationTaskMaterializedStorageKeys 在本地查不到素材时回退到结果自带的
  providerArtifactRef(resource:<id>),展示地址仍由渲染层按需续签;
- 携带过期签名的历史地址不再直接交给 <img>/<video>,避免首帧 403 空白。

* fix(media): 前端等待上限对齐后端超时 - 长视频不再被前端误判失败

视频任务的前端等待上限写死 32 分钟,而后端视频超时默认 60 分钟(现网配到 120 分钟)、
上游 30 秒档常态 35-45 分钟。结果:任务在后端正常跑并最终成功,前端先报
“任务执行超时,请稍后重试”,消息被标成失败;而失败态消息不会被恢复流程接管
(isRecoverableCreationMessage 只认 pending),用户看到的就是“失败”且视频永远不显示。

- taskWaitTimeoutMs:视频 32 → 125 分钟、分镜 13 → 25 分钟,都不小于后端同类超时;
- isRecoverableCreationMessage:媒体消息的失败态也纳入恢复,任务确实失败时收敛结果不变,
  任务其实成功时把结果补回消息。

---------

Co-authored-by: xiaomuclaw <282836183+xiaomuclaw@users.noreply.github.com>
2026-10-06 09:13:43 +08:00
ddcat666
112916587c refactor(canvas): 预演台 - 重构工作台与场景交互链路 2026-10-06 09:11:15 +08:00
tanzui
1dfc8ce7ac fix(canvas): 节点复制 - 修复生图副本生成后消失 (#676)
Co-authored-by: tanzui <305375675@.com>
2026-10-05 15:26:51 +08:00
jiabx
4b1ce20d2d fix(agent): 审批暂停 - 暂停后不再接受新的模型步骤 (#675)
运行时在工具进入审批时调用 session.abort(),但中止是异步生效的,SDK 可能抢在它生效前再开一轮并请求 /model。服务端照常入队:多计一次费,返回的新工具调用顶掉待审批的调用,保存时以「approval does not match current call」的检查点校验失败,整轮中断,用户还没来得及审批。

三处防护:运行时在暂停后不再发模型请求;服务端在等审批期间拒绝模型步骤(不入队、不改状态);已因审批暂停的会话收尾报错不再判运行失败,由审批结论接管。
2026-10-05 13:56:07 +08:00
jiabx
a7f4b94525 fix(agent): 媒体准入 - 能力校验拒绝的参数改为可纠正的参数错误 (#674)
复现:generate_media 把 size 写成 9:16 这类比例值(模型只接受像素尺寸),或 durationSeconds 低于模型下限时,工具结果只有一句「工具执行失败」,整轮终止;模型不知道错在哪个参数,用户要求重试时原样再错。

原因:尺寸、时长、比例、分辨率不在模型支持范围时,能力校验的拒绝和其它准入失败一样被包成不可重试的 media_admission_failed。

修法:这类拒绝改报字段级参数错误,带上原因与取值来源,走已有的 fix_arguments 纠正通道;仍然没有任务被提交,也不产生费用。另外把准入拒绝的原始原因写进服务端日志(工具结果里的原因会脱敏,日志内容是服务端校验错误文本,不含用户内容或密钥)。
2026-10-05 13:43:08 +08:00
naidalao
7c3f06b151 feat(payment): 兑换码 - 增加可配置联动小铺入口 (#668)
Co-authored-by: linxi <linxi@enjoysoftware.cn>
2026-10-05 13:41:17 +08:00
jiabx
b4ba329ad5 fix(agent): 插话 - 独立运行时路径的送达与退回 (#673)
复现:Agent 运行中发送插话,独立 Agent 运行时(Pi)下既不送达模型也不退回用户,插话一直停在待送队列里。

原因与修法:插话送达点原本只有旧 Go 执行循环(advanceCloudAgent 开步前出队);Pi 运行时接手执行后调度循环不再推进。现把 Pi 路径的送达搬到 /model 模型步:出队、规范历史追加与 delivered 事件同在入队的一次 CAS 写入里,响应携带 steeringMessages 交给运行时 session.steer。完成、失败、取消、审批拒绝与步数耗尽统一退回;最终回答之后的插话在预算富余时续跑一步。完成闸一次带走多条插话时,合并后的续跑提示词也记入指纹,避免被恢复闸当成遗留提示词清空。
2026-10-05 13:39:57 +08:00
jiabx
10437bdf68 fix(agent): 看图 - 独立运行时的模型步骤带上获准图片清单 (#671)
复现:Agent 调用 canvas_inspect_image 看图后,下一步模型调用报「模型协议引用了未获准的图片」,整轮失败;只要 Agent 看过一次图就必然复现。

原因:看图之后服务端规范历史里会多一条带 resource: 图片占位的 user 消息;旧的 Go 执行循环在发请求前把这些占位对应的资源写进 input.referenceImages,独立 Agent 运行时(Pi)的模型步骤漏了这一步,预检发现占位不在获准清单里就拒绝了请求。

修法:Pi 路径的模型步在组装任务输入前复用同一个 cloudAgentImageReferences 校验与装配(资源归属、大小、图片数量上限),把获准图片清单随请求发出。
2026-10-05 13:28:24 +08:00