Commit Graph

326 Commits

Author SHA1 Message Date
ddCat
42a7d5976d fix(*): 请求明细与画布主题 - 区分非计费下载日志并更新默认网格配色 2026-09-01 23:54:41 +08:00
ddCat
246ca14ef5 fix(canvas): 生成任务 - 校验视频提示词长度并修复工作流产物ID与供应商错误识别 2026-09-01 23:54:24 +08:00
ddCat
7fa10a5697 fix(ai): 模型解析 - 兼容多种 JSON 顶层形态 2026-09-01 20:57:36 +08:00
ddCat
9c9b9cf88d fix(database): 资源上传幂等 - 补齐生产库 upload_key 迁移 2026-09-01 20:55:04 +08:00
ddCat
56e6ecb836 fix(storage): 资源上传幂等 - 合并 PR #371 并修复重试配额 2026-09-01 19:09:15 +08:00
ddCat
8ae169bcbf feat(assets): 素材回收站与画布历史 - 合并 PR #370 并修复删除一致性 2026-09-01 18:50:30 +08:00
MasterChiefCN
2a33a20628 fix(storage): prevent duplicate COS resource uploads 2026-09-01 18:02:11 +08:00
liang007
df2821e1f8 fix(ai): 兼容模型返回的多种 JSON 顶层形态,修复角色卡与分镜解析误报失败
部分模型不遵守 JSON Schema:直接返回顶层数组、数组外再包一层、每个角色单独包一层 characters、或正文先列出角色名数组再给出契约对象。原解析只取第一个可解析 JSON 值,容易命中旁枝片段并被判为解析失败。

- prompt_template.go: extractPreferredJSONText 优先选取包含 preferKey 的顶层对象候选;角色卡校验按形态归一处理,结果为空仍提示未识别到角色,字段缺失报出具体角色序号与字段名
- storyboard.go: normalizeStoryboardRootJSON 兼容单元素 plan 数组解包与镜头对象数组自动包装为完整 plan
- canvas-character-reference.ts: 前端角色卡提取同步统一归一逻辑
- 补充前后端形态兼容回归测试与 CHANGELOG
2026-09-01 17:32:38 +08:00
ddCat
e1f2f16e85 chore(*): 代码同步 - 合并远端 main 最新变更 2026-09-01 16:47:22 +08:00
ddCat
1c12259a6d feat(*): 模型协议 - 升级声明式协议、扩充官方插件并完善生成任务恢复 2026-09-01 16:47:03 +08:00
ddCat
3a21e0ebfc feat(canvas): 画布工作台 - 新增生成副本并修复大型画布性能、素材同步与删除校验
统一图片与视频副本的生成落点并保留参考连接。\n优化大型画布节点虚拟化、媒体懒加载、拖拽与详情进入路径。\n修复素材主版本 ID 同步及删除时的画布独立引用校验。
2026-09-01 14:57:05 +08:00
Danborad
867a18a948 feat(assets&canvas): 实现素材回收站机制、自动定时清理策略与过期时间提示,增加画布创建与变更历史时间线 2026-09-01 14:51:07 +08:00
MasterChiefCN
c08ae9f67a fix(storage): 腾讯云 COS - 修复连接测试错误提示与 CDN 误用 (#366) 2026-08-31 16:25:48 +08:00
ddCat
b3b360481c fix(media): 存储设置 - 修复未初始化 OSS 配置时页面无法加载
Fixes #361
2026-08-31 15:14:42 +08:00
libiao320-cmd
3d0adf1e9c fix(hostupdate): Windows 编译兼容 - 磁盘空间预检拆分为平台实现 (#363)
Co-authored-by: libiao320-cmd <280725528+libiao320-cmd@users.noreply.github.com>
2026-08-31 15:06:21 +08:00
ddCat
f548681787 feat(*): 分镜与资产 - 完善五类资产、候选去重、搜索、中文镜头编号与分类整理 2026-08-31 13:16:10 +08:00
Danborad
ce6e20f749 fix(channel): 修复前台自定义渠道模型配置抽屉空白死锁,并在启动时保护管理员能力配置 (#360)
Co-authored-by: Danborad <danborad@github.com>
2026-08-31 12:28:40 +08:00
MasterChiefCN
e124a9ea04 feat: add password recovery flow (#358) 2026-08-31 09:58:36 +08:00
wurendao007
8ebceecbb6 perf(canvas): 画布媒体 - 优化媒体加载、播放器与节点交互 (#357)
Merge origin/main at fb089b2 and retain canvas media performance, player layout, and interaction updates.

Co-authored-by: ddCat <2695092045@qq.com>
2026-08-31 09:00:37 +08:00
ddCat
b23c839068 fix(deploy): 在线更新 - 在停服前校验更新器写入权限并修正 systemd 可写目录 2026-08-31 06:55:14 +08:00
Rou
955e4964e9 fix(admin): 管理后台 - 修复公告编辑与模型价格配置 (#355) 2026-08-31 06:49:38 +08:00
ddCat
fb089b2d21 fix(deploy): 在线更新备份 - 兼容 root-only 历史数据文件 2026-08-30 23:56:33 +08:00
ddCat
9820be4e8c feat(deploy): 在线更新验收 - 新增 schema v2 迁移与备份提示 2026-08-30 23:21:37 +08:00
ddCat
db66ac1182 feat(deploy): 在线更新 - 新增后台检查、强制备份迁移与失败自动回退 2026-08-30 22:15:17 +08:00
ddCat
f2fe163bc7 fix(canvas): 分镜视频生成 - 正确附加角色场景与声音资产及镜头台词 2026-08-30 17:54:23 +08:00
ddCat
37eb2b7e48 fix(canvas): 视频参考协议 - 统一首尾帧与角色资产语义 2026-08-30 16:52:09 +08:00
ddCat
b5f8b66622 fix(canvas): 短剧分镜 - 支持多镜头并行生成并正确引用角色图声资产 2026-08-30 16:30:51 +08:00
ddCat
a52376da41 fix(*): 分镜生成设置 - 统一模型能力计价并支持项目默认模型 2026-08-30 13:02:55 +08:00
ddCat
c8b60cea07 feat(admin): 管理后台 - 完善配置运营页面并修复导航、筛选与积分计费 2026-08-30 11:10:52 +08:00
ddCat
08937417ec perf(platform): 短剧创作工作台 - 拆分长篇项目接口并优化章节与素材分页 2026-08-30 01:32:33 +08:00
ddCat
2f6832f99c feat(*): 短剧创作工作台 - 完善章节分镜、资产管理、技能运行与生成任务恢复 2026-08-29 23:34:55 +08:00
Danborad
aa804d43b1 fix(resource): 签发本地公开资源直链时追加文件扩展名,并对齐 AutoDL 工作流参数 (#341)
Co-authored-by: Danborad <danborad@github.com>
2026-08-29 19:31:48 +08:00
ddCat
ae0fddaac5 feat(admin): 存储管理 - 支持批量引用校验与事务化删除
Adapted from ddcat-ai/open-ai-canvas#339

Original commit: fcdbe2aa833f31f683f709b7f409a0534ed78e20

Refs #339

Co-authored-by: 宇熙 <101980758+yuxiwl@users.noreply.github.com>
2026-08-29 15:40:40 +08:00
ddCat
b0d77dba09 feat(admin): 存储管理 - 新增资源只读查询、统计与预览
Adapted from ddcat-ai/open-ai-canvas#339

Original commit: fcdbe2aa833f31f683f709b7f409a0534ed78e20

Refs #339

Co-authored-by: 宇熙 <101980758+yuxiwl@users.noreply.github.com>
2026-08-29 15:29:04 +08:00
ddCat
0f274bb71f feat(admin): 系统公告 - 支持配图草稿与自动回收
Adapted from ddcat-ai/open-ai-canvas#339

Original commit: fcdbe2aa833f31f683f709b7f409a0534ed78e20

Refs #339

Co-authored-by: 宇熙 <101980758+yuxiwl@users.noreply.github.com>
2026-08-29 15:16:18 +08:00
ddCat
bf37e45dae feat(admin): 系统公告 - 支持置顶排序与管理端标识
Adapted from ddcat-ai/open-ai-canvas#339

Original commit: fcdbe2aa833f31f683f709b7f409a0534ed78e20

Refs #339

Co-authored-by: 宇熙 <101980758+yuxiwl@users.noreply.github.com>
2026-08-29 15:06:11 +08:00
ddCat
d84b2b69cc fix(canvas): 媒体生成 - 修复已有图片引用和图片音频视频模型匹配 2026-08-29 14:49:59 +08:00
ddCat
d66c7adc2c feat(*): 创作平台 - 升级短剧分镜工作流并完善模型计费与界面状态 2026-08-29 13:19:01 +08:00
ddCat
a8b5f11100 fix(canvas): 视频设置 - 按渠道能力隐藏尺寸并联动分辨率宽高 2026-08-29 11:05:59 +08:00
ddCat
ab89c05362 feat(*): 画布创作体验 - 完善 Agent 引导、生成防重、搜索快捷键、素材多选与分辨率兼容 2026-08-28 16:24:58 +08:00
ddCat
8f9f326229 fix(platform): AutoDL 插件 - 修复视频分辨率后缀丢失并升级插件包 2026-08-28 14:13:24 +08:00
echoD886
19ebfbb3c1 fix(create): 参考内容 - 支持添加、独立删除与筛选管理
- 支持参考内容按稳定 ID 删除、筛选、清空、拖拽与触屏交互
- 保留 Vite 生产环境模型 Logo 加载并兼容 Bun 测试
- 同步最新 main,修正相关格式和陈旧测试断言

Co-authored-by: echoD886 <dingxiaojie66@gmail.com>
2026-08-28 09:07:33 +08:00
ddCat
ce448c26cb feat(*): 模型生成链路 - 完善 Agnes 结果兼容、价格展示与请求日志追踪 2026-08-28 06:53:57 +08:00
ddCat
4ee5b630ed fix(*): 模型选择 - 修复系统渠道 Logo 搜索与前台模型模式误判 2026-08-27 23:43:54 +08:00
ddCat
560d309dfe feat(*): 模型渠道 - 支持系统模型图标并升级 Agnes 视频协议 2026-08-27 23:31:38 +08:00
ddCat
474f21d56b fix(canvas): 文本生成 - 修复分镜超时并贯通 Agent 与创作页流式返回 2026-08-27 22:39:30 +08:00
Rou
21b69d8bc7 支持 S3 兼容对象存储 (#336)
* feat(storage): 支持 S3 对象存储

* fix(storage): 补齐 S3 对象文件后缀
2026-08-27 22:16:08 +08:00
ddCat
d42e392ed7 fix(*): 创作工作台 - 修复 Agent、资源引用、附件交互与 Agnes 视频协议 2026-08-27 22:12:04 +08:00
MasterChiefCN
f111d57fc6 feat(plugins): 插件管理 - 区分系统与官方插件权限 (#329) 2026-08-27 11:22:00 +08:00
Dade
ad9c74ba64 fix(service): 模型错误提示 - 按上游正文归类 400/422 失败原因 (#327)
上游返回 400/422 时,providerUserFacingErrorMessage 只按状态码返回固定文案
「模型服务拒绝了请求,请检查模型和参数」,捕获到的 providerHTTPError.Body
从未参与判断。用户看到的原因与真实原因无关:内容审核、额度不足、模型无权限
都会被提示成参数问题,导致排查方向错误。

providerPayloadErrorMessage 已经实现了正确的归类逻辑,但只在 HTTP 成功后的
正文解析路径上生效,HTTP 失败路径取不到。

本次改动:

- 抽出 providerPayloadErrorCategory,归类失败时返回 ok=false,调用方退回原有
  通用文案,不因为归类失败而改变现有行为。
- providerUserFacingErrorMessage 仅对 400/422 解析正文。401/403/404/5xx 的正文
  可能是网关 HTML、鉴权诊断或含密钥的内部信息,不参与归类,且这些状态码本身
  已有更贴切的固定文案。
- 新增真人肖像类目:部分视频模型(如火山方舟 Seedance)会以
  InputImageSensitiveContentDetected.PrivacyInformation 拒绝含真人的输入图片,
  原先落到默认分支,提示为参数问题。该类目只匹配供应商错误码中的稳定标识
  (privacyinformation / sensitivecontentdetected),不扫描自然语言:正文经常
  回显用户提示词,按「肖像」「likeness」这类词判断会把普通参数错误误报。

归类结果始终是固定文案,正文只参与匹配,不会进入用户可见错误。请求分析仍按
既有方式记录经过脱敏的响应正文,本次改动没有新增日志路径。

验证:backend gofmt 无输出;go test ./... 除 TestAutoDLPluginArtifact、
TestPluginRuntimeDropsRemovedBundledProtocol、
TestAutoDLPluginPackageInstallsThroughUploadRuntime 外全部通过,这三项在未改动
的 upstream/main 上同样失败。
2026-08-27 09:14:51 +08:00