Commit Graph

52 Commits

Author SHA1 Message Date
echoD886
0b0d4f0774 feat(canvas): 3D 导演台 - 补齐非 P0 分层交互与回归保护 (#333)
* feat(canvas): 3D 导演台 - 补齐分层交互与回归保护

* fix(canvas): 3D 导演台 - 过滤非法轨迹关键帧

* chore(canvas): 3D 导演台 - 对齐前端格式规范

* fix(canvas): 3D 导演台 - 保证故障重试入口可点击

* test(canvas): 3D 导演台 - 稳定真实点击验证
2026-08-27 20:47:10 +08:00
MasterChiefCN
f111d57fc6 feat(plugins): 插件管理 - 区分系统与官方插件权限 (#329) 2026-08-27 11:22:00 +08:00
echoD886
ad0775605d fix(canvas): 3D 导演台 - 完成 Issue #305 P0 稳定性治理 (#324)
* fix(canvas): 3D 导演台 - 修复状态回弹与保存恢复生命周期

* style(canvas): 3D 导演台 - 对齐 CI 格式门禁
2026-08-27 10:32:45 +08:00
ddCat
c79e984bc3 fix(*): 插件工作流 - 统一启停状态并闭环校验生成链路 2026-08-26 21:36:48 +08:00
yepwait
86fc3fda2f feat(workflow): 工作流提供方 - 集成 RunningHub 与 ComfyUI Bridge 2026-08-26 15:02:42 +08:00
ddCat
054e3bbbff refactor(*): 数据同步与资源删除 - 收敛服务端真相并保证删除可恢复 2026-08-25 20:10:11 +08:00
ahyang
a23e399ccf fix: 支持零价系统渠道模型分发 (#303)
* docs(spec): 模型计费 - 记录零价免费模型设计

* fix(billing): 模型定价 - 支持零价免费模型

* fix(config): 系统模型目录 - 支持零价模型
2026-08-24 21:32:56 +08:00
ddCat
7043c8ac7a feat(agent): 画布 Agent - 重构工作流上下文与技能交互 2026-08-24 12:09:15 +08:00
ddCat
af41893678 feat(*): 插件中心与模型协议 - 完善声明式协议运行时并增加功能开放控制 2026-08-23 23:19:27 +08:00
ddCat
70a6640ecf fix(*): 画布与任务详情 - 优化生成参数展示、批量上传和默认模型状态 2026-08-23 09:08:20 +08:00
kinoko
d77432693e feat(ark-assets): 方舟素材库 - 支持私域素材授权 (#294) 2026-08-23 08:27:55 +08:00
ddCat
1bb5d1423a fix(*): 模型目录 - 修复前台开关、系统模型价格与访问控制 2026-08-22 20:57:31 +08:00
kinoko
c34f1ea476 feat(models): 统一模型规格价格与路由 2026-08-22 17:00:08 +08:00
dlh
800e91cc20 feat(canvas): 画布背景 - 默认网格由点阵改为线条
新建画布、读取未指定背景的画布、公开分享页,以及 InfiniteCanvas 组件自身的 prop
默认值,统一改为 lines。

四处默认值必须一起改:store 的新建与恢复分支各一份、分享页一份、组件 prop 默认一份。
漏掉任意一处就会出现「自己的画布是线条、分享出去变点阵」这类不报错的不一致。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-22 12:33:10 +08:00
ddCat
9327b75c2e feat(canvas): 画布插件与视觉 - 合并 PR #289 并保留任务计费边界 2026-08-22 10:01:41 +08:00
QAyong
ce5af1b6c8 feat(plugin): 插件系统 - 新增插件中心与可展开配置 2026-08-21 19:13:34 +08:00
ddCat
16359271f6 fix(canvas): 项目画风执行 - 自动同步模型路由与画风计划 2026-08-21 14:53:33 +08:00
ddCat
0071e9416c fix(*): 模型与数据同步 - 完善鉴权、供应商模型和本地持久化能力 2026-08-20 22:58:31 +08:00
ddCat
d2a089f1ec feat(canvas): 画布能力 - 完善 LibTV 导入与资源预览 2026-08-19 07:16:07 +08:00
ddCat
778551127c feat(platform): 创作能力整合 - 新增 Gemini Images 图片请求协议 2026-08-18 21:42:22 +08:00
ddCat
a23b4dda93 feat(platform): 创作能力整合 - 合并导演台与运行恢复改动 2026-08-18 21:01:36 +08:00
ddCat
8c5f56a551 feat(platform): 模型管理与后台能力 - 新增逻辑模型路由和响应拦截 2026-08-18 20:42:25 +08:00
ddCat
e5b50d91a6 feat(canvas): 导演台能力整合 - 合并 PR #252 控制与交互改动 2026-08-18 20:27:06 +08:00
ddCat
bda114b29e fix(runtime): 本地任务恢复 - 恢复本地画布和延迟视频任务 2026-08-18 15:16:05 +08:00
QAyong
d3a029732f feat(canvas): 导演台 - 完善骨骼控制、对象管理与面板交互 2026-08-17 19:46:50 +08:00
ddCat
49ea744f05 fix(features): 功能开放 - 兼容历史系统代理任务并修正前端格式 2026-08-15 14:00:14 +08:00
MasterChiefCN
f83ff03df3 feat(features): 功能开放 - 增加自定义渠道开关 2026-08-15 13:25:50 +08:00
ddCat
57e1820f41 feat(runtime): 即梦本机运行时 - 接入安全生成闭环与桌面本机渠道
Refs #225

Co-authored-by: zkhyww <127009345+zkhyww@users.noreply.github.com>
2026-08-15 12:45:29 +08:00
jax-novita
7f0229463e feat(media): 视频渠道 - 新增 Novita 异步视频生成协议
Co-authored-by: jax-novita <jax-novita@users.noreply.github.com>
Original-PR: https://github.com/ddcat-ai/open-ai-canvas/pull/206
2026-08-14 10:04:21 +08:00
爱笑的毛毛虫
62b9c420dd feat(canvas): 新增视频节点字幕体系与多轨时间线编辑(关联 #187) (#191)
* fix(ci): 后端测试 - 修复 responses 流式测试数据与 Grok 生图测试 SSRF 放行

* feat(canvas): 新增视频节点字幕体系与多轨时间线编辑(关联 #187)

---------

Co-authored-by: zhaoyue <zhaoyue@rongshantech.com>
2026-08-08 18:28:28 +08:00
ddCat
6b5f176baa feat(*): 图片模型渠道 - 新增 Grok JSON 生图与单图编辑协议 2026-08-07 14:58:26 +08:00
ddCat
b518489fdd feat(*): 模型能力配置 - 支持模型级视频限制校验与协议管理 2026-08-06 15:34:45 +08:00
爱笑的毛毛虫
6671c331e3 fix(canvas): 主题存储 - 修复非法 theme 值导致 /create 崩溃 (#155)
useThemeStore persist 无 merge 校验,坏 session/后端同步失败时可能将
非法 theme 值写入 localStorage,导致 canvasThemes[非法值] 为 undefined,
渲染时访问 theme.node 抛出 "Cannot read properties of undefined
(reading 'node')",/create 页面崩溃。

4 层防线(只加校验,不回退代码):
- useThemeStore persist merge 白名单校验,非法值回退 dark
- useThemeStore setTheme 写入前校验,防止同步路径绕过 merge
- normalizeConfigSnapshot 入口兜底 undefined/partial 快照
- ModelPicker 与 CanvasResourceMentionTextarea 消费端加 fallback

Closes #154

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-06 08:32:27 +08:00
ddCat
cd85a45936 fix(api): Token 账单 - 按真实用量结算预授权差额 (#145)
Closes #145
2026-08-05 17:06:07 +08:00
ddCat
40a1a86563 feat(canvas): 导演台 - 增加彩色骨骼演员、姿势预设与单一构图回写 2026-08-05 16:22:11 +08:00
ddCat
f439d600ba feat(*): 功能开放与页面布局 - 新增运维开关并优化后台及创作界面空间利用 2026-08-04 16:24:18 +08:00
ddCat
d4018123e1 feat(*): 分镜创作体系 - 重构画风、提示词模板与视频生成链路 2026-08-04 15:03:41 +08:00
ddCat
6058602bf2 feat(canvas): 绘图工具 - 集成 Excalidraw 并支持后台切换默认引擎 2026-08-03 14:58:49 +08:00
爱笑的毛毛虫
3fb5545c11 fix(canvas): 分镜脚本节点文字溢出与视频模型下拉异常 #84 (#85)
* fix(canvas): 分镜脚本节点文字溢出与视频模型下拉异常 #84

- CompactInput 补齐 overflow-y-auto/whitespace-pre-wrap/break-words,长文本不再横向溢出撑开列宽
- filterModelsByCapability 增加 modelCosts[].protocol 协议层回退,未显式配置 capability 时通过协议识别能力
- isVideoModelName 扩展 pika/runway/gen-3/hunyuan-video 等主流视频模型名关键字
- ModelPicker.options 保留当前选中 value,避免过滤后 options 为空触发跳转设置页

* fix(canvas): 模型过滤协议反向排除 + 分镜脚本节点模型选择提示 #84

- filterModelsByCapability 协议层提升至最高优先级,协议明确属于其他能力时直接排除,
  防止 video/image/audio 协议的模型被误标为 text 后混入文本下拉
- isVideoModelName 补充 cogvideo/mochi/latte/stable-video/svd/animatediff/ltx-video/minimax-video/abab-video 等关键字
- isImageModelName 补充 nano-banana/ideogram/recraft/playground/leonardo 等关键字
- 分镜脚本节点 ModelPicker 包裹 Tooltip,提示"脚本生成仅支持文本模型"

* fix(canvas): 节点标题截断修复 — flex min-width 约束 + 宽度边界 + hover tooltip

- NodeExternalHeader: 容器增加 max-w-full 双重约束,窄节点时不越界,宽节点时上限 240px
- NodeExternalHeader: 标题 span 增加 min-w-0,解决 flex min-width:auto 导致 truncate 失效
- 所有节点标题(绘图/技能/角色参考/音频/分镜脚本)增加 title 属性,hover 显示完整标题
- AudioNodeContent: 标题 span 增加 min-w-0,修复 flex 子项截断

* fix(canvas): 节点顶部标题真正截断 — JS 计算 maxWidth + overflow-hidden + flex-1

- NodeExternalHeader 容器: 移除 Tailwind 级联冲突的 max-w-[240px]/max-w-full,
  改用 JS 计算 Math.min(240, node.width) 作为 inline style maxWidth,
  从根本上解决两个 max-width 声明的优先级不确定问题
- 容器增加 overflow-hidden 作为第二道防线
- 内部 text/input/button 元素改用 flex-1 + min-w-0 替代固定 max-w-[Npx],
  让 flex 子项自动填充可用空间,文本在剩余空间内截断

* fix(canvas): 节点标题缩放溢出 — 考虑 canvas zoom scale

- maxHeaderWidth 改为 Math.min(240, node.width * scale),
  因为 header 的视觉宽度 = maxHeaderWidth(inverseScale 与 canvas scale 抵消),
  而节点的视觉宽度 = node.width * scale,两者必须比较同一维度
- 修复 zoom 缩小时(scale < 1)header 视觉宽度超过节点视觉宽度的溢出问题

---------

Co-authored-by: sikongyue <3155157671@qq.com>
2026-08-03 08:40:04 +08:00
ddCat
8c573352d5 feat(*): 创作体验 - 支持资源技能引用并统一生成反馈与画布列表展示 2026-08-02 22:29:44 +08:00
ddCat
8de9b42c00 feat(*): 画布创作 - 支持文本多模态生成并优化媒体节点、连接线与视频预览
Fixes #59
2026-07-31 19:44:02 +08:00
ddCat
6de81049bf fix(api): 渠道请求头 - 补充自定义 Header 配置并应用到上游请求
Refs #39
2026-07-29 20:57:24 +08:00
ddCat
c33e05ff63 feat(api): 火山模型协议 - 接入方舟与即梦图片视频生成并支持 AK/SK 凭证 2026-07-29 18:08:01 +08:00
ddCat
651b3467b2 fix(*): 模型请求协议 - 支持模型独立选协议并修正视频多参考请求 2026-07-28 23:05:15 +08:00
ddCat
5d1a19fdf4 fix(media): 媒体资产 - 修复音视频持久化恢复导致的 Web 构建失败 2026-07-27 10:56:34 +08:00
ddcat666
ea15000541 feat: 完成短剧项目空间与结构化资产创作闭环 (#38)
* feat(canvas): 短剧项目空间 - 建立项目章节与画布关联 MVP

* feat(canvas): 短剧项目空间 - 完善项目资产、镜头与流程闭环

Refs #30

* fix(deploy): 本地部署 - 修复前端构建并忽略本地 PostgreSQL 配置

* feat(*): 短剧项目空间 - 完成项目、章节、资产、角色与画布创作闭环

Refs #30

---------

Co-authored-by: ddCat <ddcat666@88.com>
2026-07-27 10:45:11 +08:00
ddcat666
61d12ec3ff feat(admin): 资源与策略 - 后台统一维护账号配额与运行时请求限制 (#37)
Fixes #35

Co-authored-by: ddCat <ddcat666@88.com>
2026-07-23 21:19:07 +08:00
ddCat
b832668813 fix(canvas): 图像参数 - 移除透明背景误拦截并支持 21:9 尺寸 2026-07-23 19:28:07 +08:00
ddcat666
012f61238b fix(platform): 渠道并发 - 支持后台热配置并等待空闲槽位 (#34)
Co-authored-by: ddCat <ddcat666@88.com>
2026-07-23 18:35:51 +08:00
naidalao
3ae52d4fd1 feat(canvas): 生图设置 - 支持透明背景输出 (#29) (#31)
Co-authored-by: linxi <linxi@enjoysoftware.cn>
2026-07-23 13:27:21 +08:00