Commit Graph

114 Commits

Author SHA1 Message Date
ddCat
0df4b65e70 feat(canvas): 创作体验 - 合并 PR #282 并优化引用、风格与素材文件夹 2026-08-21 09:23:31 +08:00
ddCat
2b4dc1df66 refactor(canvas): 节点注册表 - 合并 PR #284 并收敛类型判据 2026-08-21 09:18:17 +08:00
ddCat
87ff997020 fix(*): MiniMax 视频能力 - 放行参考素材视频生成并统一操作推导 2026-08-20 23:43:59 +08:00
ddCat
11ee5aafec fix(*): 模型与数据同步 - 完善鉴权、供应商模型和本地持久化能力 2026-08-20 22:58:31 +08:00
dlh
a4585fdc2a refactor(canvas): 节点注册表 - 收敛素材类型、生成模式与输入计数判据
把三条按类型分支的语义判据收进注册表:
- resourceKind  原 canvas-resource-references.ts,作为 @ 引用素材时的类型
- generationMode 原 canvas-connection-policy.ts,作为生成节点时的模式
- inputKind     原 canvas-connection-policy.ts,被容量校验计数时的类别

resourceKind 与 inputKind 刻意分成两个字段:它们语义不同——空图片节点不是素材
(不进 @ 引用),但照样计入 imageCount。合成一个会静默改掉连线容量校验。

两处必须保住的语义,均已由测试钉住:
1. 角色卡(workflowKind === character)是跨类型覆盖,对任何节点类型生效,
   属于查注册表之前的前置判定,因此留在调用点而不进 per-type 定义。
2. 排除必须早于覆盖。原实现先 return 掉生成配置与背板,之后才判角色卡;
   若把角色卡判定提前,带角色元数据的配置/背板节点会被多算成 characterCount。

新增 test/canvas-node-registry.test.ts(19 用例 / 77 断言)并加入 package.json
的 test 列表——该列表是显式枚举,不加进去文件不会跑。补测的原因是
canvas-resource-references.test.ts 只覆盖 collectUpstreamVideoNodes,
本次改动的 resourceKind 此前零覆盖,而这类判据出错不报错、只会让 @ 引用少收素材。

顺带内联 nodeGenerationMode(迁移后退化为单行转发)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-20 22:27:23 +08:00
dlh
af84cf5772 refactor(canvas): 节点注册表 - 收敛节点展示与几何知识到单一数据源
每加一种画布节点,叫什么、长什么样、能不能自由拉伸要在 4-5 处各写一遍。
实际后果是节点标签出现三份且互相矛盾(NODE_DEFAULT_SIZE.title / 创建菜单 label /
搜索弹窗 nodeTypeLabel),canvas-node-size.ts 里还有第四份硬编码兜底。

新增 lib/canvas/node-registry/,镜像现有 tool-registry/ 的结构:
静态定义带 satisfies Record<CanvasNodeType, ...> 做编译期穷尽性检查
(往枚举加成员不补定义即编译失败),再注册进模块级 Map 并按 ownerId 归属,
为后续扩展留出隔离位。

尺寸与初始 metadata 的数据源仍是 constant/canvas.ts 的 NODE_SPECS,定义文件读它
而非复制,现有约 40 处布局计算未动;渲染层 nodeContentRenderers 已是查表结构,
本次不改。

标签刻意分三个字段各司其职,界面文案零变化:
- defaultTitle 新建节点默认名(Note/Audio/未命名背板 原样保留)
- label UI 短标签
- listLabel 列表标签,缺省派生为 label + 节点;背板显式钉住为背板

接入 3 处调用点:创建菜单标签与图标、搜索弹窗类型标签、canvas-node.tsx 的
minWidth/minHeight 与 keepRatio。导演台落在节点分区但开的是工作台、不是节点类型,
故不走注册表。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-20 22:22:28 +08:00
ddCat
72d851c52b fix(web): 构建与测试 - 修复会话类型和图标依赖兼容 2026-08-20 19:48:02 +08:00
dlh
7a817d6847 feat(canvas): 技能 - 新增 AI 起草技能草稿并保存为我的技能
- 技能编辑器新增「AI 起草」:描述想法后用文本模型生成 name/description/instruction/tag 草稿并回填表单
- 复用后端文本任务通道 runBackendGenerationTask 与现有技能保存/启停 API
- 容错解析 JSON,失败回退首行作名称;未配置文本模型时引导到设置页
2026-08-20 19:46:19 +08:00
dlh
a95ff6f0d0 fix(canvas): 画布空间网格 - 修复点/线网格过淡不可见 2026-08-20 18:49:01 +08:00
echoD886
77818e08ce chore(web): 文件夹主题 - 修复前端格式检查 2026-08-20 16:50:50 +08:00
echoD886
d5895a07a6 feat(assets): 文件夹主题 - 新增多主题皮肤并同步主线 2026-08-20 16:33:51 +08:00
echoD886
5d775071e4 feat(assets): 素材库与画布 - 新增可交互通用文件夹 2026-08-20 15:16:45 +08:00
ddCat
6228e530a9 refactor(web): 工作区布局与技能库 - 完成侧栏导航、分页与卡片一致性改造 2026-08-20 10:15:44 +08:00
sikongyue
46c3d51dcb fix(web): 工作区布局 - 账户中心浮层改不透明并与影策展开一致
- 根因:AntD 6 Popover 背景容器类已由 .ant-popover-inner 改为 .ant-popover-container,全局浮层覆盖规则未命中;且主题 token colorBgElevated 为 0.96 半透明,主区账户中心展开因此透出下层内容\n- 主题唯一源:elevatedBackground 深浅主题均改为不透明(alpha 1),所有 AntD 浮层(popover/dropdown/select/modal)不再半透明,与侧栏切换器浮层实底背景一致\n- 全局覆盖适配 AntD 6:.ant-popover-inner -> .ant-popover-container(背景/边框/圆角/去阴影),.ant-popover-inner-content 分隔线 -> .ant-popover-content
2026-08-20 00:48:27 +08:00
dlh
35dee568c9 feat(create): 创作对话文本模式接入 text-replay 持久化与回放
把后端既有但未接线的 text-replay 能力在前端打通:前端直连模型生成正文时,
把生成过程/结果持久化到后端任务,支持刷新重放与任务中心可见。

后端(最小配套,text-replay 本为前端自管设计):
- 新增 TaskStatusTextReplay 任务状态:不排入 worker 队列、不计费、不执行,
  仅作为正文增量(text-deltas)的存储容器;
- CreateTask 识别 input.replay=true 的请求,走 createTextReplayTask 轻量创建;
- 新增 POST /tasks/:id/text-replay-complete: 写入最终正文、置为 succeeded、
  触发 text-deltas 归并,使 queryTaskTextReplay 能读到 finalText。

前端:
- 新增 creation-text-replay.ts 发布器: start 建任务、publish 节流上报增量、
  finish 存最终全文,失败静默降级不阻塞生成;
- create 文本模式生成时接入发布器,正文流不经展示改动、额外持久化到后端。

测试: 新增 isTextReplayTaskRequest 纯函数测(本地)、text-replay 闭环仓测
(建任务后写增量 -> complete -> succeeded + finalText,CI/cgo 验证)。
build/vet/tsc 全绿。
2026-08-19 22:04:41 +08:00
dlh
1502ccfc1d fix(canvas): 节点模型配置 - 清理音频参数并纳入回归测试
修复 PR #265 遗漏的音频节点参数残留,并将新增回归测试加入 web test 脚本。

Co-authored-by: dlh <2773843782@qq.com>
2026-08-19 20:52:11 +08:00
dlh
6ecf4f4a10 fix(canvas): 节点模型配置 - 切换模型时清理生成参数残留
修复 issue #254;集成 PR #265,保留原 PR 开发者为提交作者。
2026-08-19 20:34:12 +08:00
ddCat
d47975f9bc refactor(core): 模型路由与画布 - 收敛渠道模型映射并优化交互 2026-08-19 20:27:26 +08:00
kinoko
0e272f3b83 feat(canvas): TapNow - 支持公开画布导入 (#255)
(cherry picked from commit 9b96135a5e409b4718e6204ab4212b7ef22635aa)
2026-08-19 11:58:06 +08:00
ddCat
1c4ce44112 revert(canvas): TapNow 公开画布导入 - 撤销 main 误合并 2026-08-19 11:54:58 +08:00
kinoko
6fc49b4712 feat(canvas): TapNow - 支持公开画布导入 (#255)
(cherry picked from commit 9b96135a5e409b4718e6204ab4212b7ef22635aa)
2026-08-19 11:34:23 +08:00
ddCat
c7452b701d fix(platform): 模型能力 - 修复图片时长误判与后台默认参数同步 2026-08-19 09:57:37 +08:00
ddCat
6a698129bd fix(platform): 模型能力 - 修复前台默认参数与后台空状态 2026-08-19 09:08:34 +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
QAyong
d3a029732f feat(canvas): 导演台 - 完善骨骼控制、对象管理与面板交互 2026-08-17 19:46:50 +08:00
ddCat
115eb76bad feat(canvas): 模型选择 - 合并 PR #249 同名模型能力路由
# Conflicts:
#	web/src/pages/create/index.tsx
2026-08-17 17:12:42 +08:00
dyhhhhh
ea657f179d fix(canvas): 画布图片生成 - 参考图超限时停止生成并提示清理连线
保留全部已连接参考图,在首次生成、重试和任务入口统一校验模型上限。
2026-08-17 16:54:56 +08:00
ddCat
bed5796521 fix(models): 模型目录 - 保留人工能力并按声明发送视频分辨率 2026-08-17 12:56:51 +08:00
✨await
cbd598e8c1 fix(web): 模型分组 - 画布图片参数对齐创作页规则,宽高比直接取模型组并集 values,质量等能力取路由模型配置 2026-08-17 11:34:02 +08:00
✨await
ad0923a892 fix(web): 模型分组 - 生成/重试/工具链按当前尺寸路由最低价兼容模型,尺寸检查不再依赖输入摘要 2026-08-17 11:27:53 +08:00
✨await
f152fb7449 feat(web): 模型分组 - 同显示名模型族按参数路由最低价模型且模型始终可切换 2026-08-17 11:04:37 +08:00
Codex
b24d3e897f fix(web): 模型目录 - 禁止端点元数据伪造视频分辨率 2026-08-16 23:00:26 +08:00
Codex
6d6ad67dae fix(models): 模型目录 - 识别公共视频能力并按声明发送分辨率 2026-08-16 22:35:20 +08:00
ddCat
e26ed02c2e fix(admin): 渠道模型 - 补充 1440P 分辨率并支持自定义档位 2026-08-15 22:11:02 +08:00
ddCat
b9d432f218 fix(canvas): 创作工作台 - 恢复连续对话并完善附件、媒体占位与生成分辨率
Fixes #231

Fixes #233
2026-08-15 22:01:42 +08:00
WindC0X
0e251c3c8f feat(canvas): 画布媒体工作流 - 支持批量连线、失败重试与模型能力增强
合并 PR #230。保留当前主线样式与组件结构,吸收批量连线、失败批次重试、媒体模型能力和相关后端增强,并修复集成检查发现的分辨率选择器启用条件与测试稳定性问题。
2026-08-15 15:48:16 +08:00
ddCat
d3dda8998c fix(platform): 工作区体验 - 避免页面切换全屏加载并优化启动状态与积分摘要 2026-08-15 13:51:15 +08:00
ddCat
b2a7eef35d feat(billing): 火山方舟视频计费 - 支持真实 Token 预授权与结算
Refs #228

Co-authored-by: MasterChiefCN <49179444+MasterChiefCN@users.noreply.github.com>
2026-08-15 12:58:05 +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
ddCat
93b466b7a2 fix(canvas): 画布生成 - 隔离派生任务状态并修复视频模型切换 2026-08-15 03:30:08 +08:00
ddCat
abcf3e1787 feat(canvas): 画布创作对话 - 统一流式 Markdown 展示与交互修复 2026-08-15 02:31:42 +08:00
ddCat
d89a5a5b7b refactor(*): 用户工作台 - 统一画布、任务中心与设置页产品化交互 2026-08-14 23:44:55 +08:00
dlh
89f63a0881 fix(canvas): 视频片段 - 精确裁切视频并提取音轨
Co-authored-by: dlh <2773843782@qq.com>
Original-PR: https://github.com/ddcat-ai/open-ai-canvas/pull/224
2026-08-14 20:45:26 +08:00
dlh
2cdf3a29f1 fix(canvas): 时间线导出 - 修复黑场顺序、无源片段对齐与裁切偏移
Closes #198

Co-authored-by: dlh <2773843782@qq.com>
Original-PR: https://github.com/ddcat-ai/open-ai-canvas/pull/222
2026-08-14 20:44:50 +08:00
ddCat
6912689b86 fix(platform): 工作台界面 - 统一卡片、控件与弹窗视觉并清理重复样式 2026-08-14 20:20:37 +08:00
ddCat
acbbbe1078 fix(canvas): 创作界面 - 统一素材选择并修复画布顶栏与暗色交互 2026-08-14 18:35:43 +08:00