Commit Graph

438 Commits

Author SHA1 Message Date
VicoHu
357450e52c feat(canvas): 媒体产出模型与选用模型分离 (#597)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-09-24 09:28:16 +08:00
ddcat666
e77c26d2b0 fix(*): 平台稳定性 - 修复会话隔离、运行时缓存与部署镜像更新链路 2026-09-24 06:05:04 +08:00
ddCat
8a35a0ea98 perf(canvas): 画布渲染 - 降低大画布节点开销 2026-09-24 00:12:53 +08:00
Wyatt_K
841e5e5109 feat(agent): 场景胶囊 - 为会话挂载预设技能组合 (#608) 2026-09-23 16:15:34 +08:00
Codex Audit
92bbab8257 fix(canvas): 画布媒体 - 修复预览首帧音量和创作状态展示 2026-09-23 11:10:45 +08:00
ddCat
bc0d109428 feat(auth): 登录注册 - 添加短信通知与组合验证支持 2026-09-22 23:46:15 +08:00
ddCat
c6548cc196 refactor(media): 资源分发 - 统一资源访问策略与云存储重定向 2026-09-22 21:41:00 +08:00
ddCat
f8cd3ff9fe feat(canvas): 创作入口 - 突出 Agent 主入口并优化响应式交互 2026-09-22 15:48:32 +08:00
ddCat
da24992afe feat(canvas): 画布外观 - 默认使用黑色点网格并保留自定义配置 2026-09-22 15:47:49 +08:00
ddCat
2cd30b9951 feat(media): 作品保存恢复 - 按原任务重试交付并避免重复生成计费 2026-09-22 15:47:24 +08:00
ddCat
b667605902 fix(canvas): Live2D 外观 - 补齐随部署发布的 Cubism Core 运行库 2026-09-22 14:17:27 +08:00
ddCat
40b1a9eeda Merge remote-tracking branch 'origin/pr-589' into codex/pr-557-589-security-integration
# Conflicts:
#	docs/content/docs/backend/http-api.mdx
2026-09-22 11:20:54 +08:00
ddCat
86a1f4671e Merge remote-tracking branch 'origin/pr-585' into codex/pr-557-589-security-integration 2026-09-22 11:10:48 +08:00
ddCat
d67df01dd5 fix(agent): 画布助手 - 恢复 Skills 引用提示 2026-09-22 09:35:11 +08:00
AetherNo2332
d6ecdd528b fix(cloud-agent): 布局工具参数错误按字段归类,审批卡补整理徽标
- canvas_arrange_nodes 的参数契约错误改用上游既有的 cloudAgentFieldError:
  snapshotHash 缺失按 required、mode/align/gap/nodeIds/groups 非法按 invalid_value、
  nodeIds/groups 超限按 item_count。原先一律 BadAuthRequest(*AppError),按上游运行期的
  errors.As 顺序会走 failCloudAgentAdmission 把整轮判死,模型拿不到可纠正回执。
- 审批卡补 .canvas-agent-approval-operation-arrange_nodes 徽标配色(与新增/修改/连线同一组),
  并补一条前端用例:arrange_nodes 预览项不得被 operation() 当成未知值丢掉。
2026-09-22 01:40:43 +08:00
AetherNo2332
cc7af37d27 feat(canvas): 云端 Agent 画布布局 - 新增 canvas_arrange_nodes 与新增节点自动落位
云端 Agent 此前只能新建节点与连线,既不会排版也不能移动已有节点:模型只能用几十个
update_node 手算坐标,或者让用户自己拖。

- 新增 backend/internal/canvas/layout:把前端既有的画布布局算法(web/src/lib/canvas/
  canvas-layout.ts,本 PR 不改该文件)按同一套常量移植到服务端,提供 Kahn 拓扑分层 flow、
  媒体泳道 byType、row/column/grid、对齐与等距、分组分带、AABB 重叠检测与空位搜索。
- 新增写工具 canvas_arrange_nodes:snapshotHash 必需,mode∈{auto,flow,byType,row,column,
  grid},可传 nodeIds、groups(只做横向位置分带,不建容器、不改层级)、align、gap、dryRun。
  只改坐标,不改内容、不建连线、不增删节点;一次最多 50 个节点 / 12 组。锁定节点、背板等
  容器、隐藏批次子节点与已归属背板的子节点保持不动并在回执里说明;整批复用现有 mutation
  记录与事件管线,审批与撤销走同一条路径。
- add_node 省略坐标时不再落到 (0,0):优先贴合本批连线的对端(输入在左、输出在右),否则
  追加到同泳道同类节点之后,冲突则扫描空位;只给一个轴时保留该轴。agentCanvasOp.X/Y 改为
  指针以区分"没给坐标"与"坐标 0"。
- update_node 的 patch 新增 x/y(PatchField.Limit 校验 ±1e6),供模型微调单个节点。
- 系统行为策略新增「布局与整理」一节并升版到 8;docs 补工具说明与工具全集;前端同步审批
  预览联合类型、面板文案与徽标。
- 工具 schema 预算按实测从 24000 上调到 25000(21 个工具 24788 字节),并改正注释里
  "上游约 23.4 KB"的说法(上游 20 个工具实测 22777 字节)。
2026-09-22 01:32:20 +08:00
AetherNo2332
4febdf3c0e fix(cloud-agent): 工具失败归类与可行动字段
工具失败此前只有一句自然语言(tool_failed + text),无法区分"模型自己出的错"和真实的
权限/状态/上游问题:模型拿不到可自纠的反馈,排查时分不清该改提示词、改权限还是等上游。

- 新增 backend/internal/app/cloud_agent_tool_error_class.go:把失败归成
  invalid_model_output(幻觉工具名;本轮契约之外、只被 contextScope 挡掉的调用)、
  schema_error(缺必填字段/类型错/未知字段/非法 JSON)、state_conflict(画布在读取之后被改动)、
  permission_violation(只读轮发起写入等真实授权边界)、upstream_failure(上游 4xx/5xx、
  超时、媒体上游拒绝),其余归 tool_error。
- 每类附 retryable 与稳定的 requiredAction(fix_arguments / reread_canvas /
  use_advertised_tools / ask_user / report_to_user),写进 tool_failed 的回执与载荷顶层。
  只加标注:没有任何放行或拒绝逻辑读它。
- 缺必填字段的通用判定:各工具的校验点抛的多是普通 AppError,从错误类型看不出"模型漏了字段"。
  现在用本轮实际暴露的 schema 的 required 与参数比对,命中即按参数契约错误处理(回传 schema 与
  guidance 供模型自纠);只在业务侧确实按参数问题拒绝(400/422)时套用,已分类的参数错误不套壳。
- 幻觉工具名的拒绝文案更具体:过去一律"工具未获本轮权限授权",现在指向"不存在的工具 + 只使用
  本轮工具表里列出的工具"。
- 前端工具卡失败时显示归类标签,比统一的"执行失败"更能说明下一步该做什么。
2026-09-22 00:53:32 +08:00
ddCat
0146a232a7 fix(*): 素材库与画布 - 修复批量删除刷新、选择布局及工具引用 2026-09-21 20:14:05 +08:00
ddCat
4e0b0a9256 feat(*): 画布助手 - 新增 Live2D 配置导入与模型渲染支持 2026-09-21 14:11:29 +08:00
ddCat
4f9e79f67f feat(canvas): 模型选择 - 支持彩色展示标签并优化目录与积分交互 2026-09-21 11:11:10 +08:00
ddCat
f3a58416cd fix(ui): 提示浮层 - 修复键盘触发并补真实交互回归
Original-Commit: ff42bb969a037f3271e3da59b752f513c3112b2d
2026-09-21 09:55:26 +08:00
Rou
b57767eb8b fix(model-picker): 模型选择 - 修复候选报价显示与同渠道模型跳回 (#556)
Original-Commit: 7a5e17e2112c3c23e081a1ecf3c33a654cf1e907
fix(model-picker): 模型选择 - 修复候选报价显示与同渠道模型跳回
2026-09-21 09:37:51 +08:00
AetherNo2332
0f909a77b0 fix(web): 基础控件 FloatingDock - 宿主没有 matchMedia 时不再渲染失败 (#563)
Original-Commit: 3da77b3931a675de06b02c1bba93f112d253041b
fix(web): 基础控件 FloatingDock - 宿主没有 matchMedia 时不再渲染失败

`window` 存在不代表 `matchMedia` 存在(SSR 垫片、嵌入式 webview、部分 DOM polyfill),
而 FloatingDock 在渲染期直接取 `window.matchMedia("(pointer: coarse)").matches`,
取不到就抛 TypeError,整个 dock(画布工具栏/素材托盘/缩放控件)渲染失败。
仓库里同一模式已有先例:canvas-workspace-tool-panel 用 typeof 守卫。

抽 coarsePointerQuery():两个都探测,取不到按"非触屏"处理,useEffect 也提前返回;
能取到时行为不变。新增源码级守卫用例(上游原态失败、补丁后通过)。
2026-09-21 09:37:19 +08:00
AetherNo2332
c4172295c3 chore(web): 前端格式 - 统一十个文件的 Prettier 格式 (#561)
Original-Commit: ade0049c0b80733dfea563bac2aae9260e373cf0
style(web): 前端格式 - 补 Prettier 格式(10 个文件)

这 10 个文件(3 个组件/样式与设置页、4 个 admin 主题与控件、1 个 lib、2 个测试)
用仓库自带 Prettier 检查会 warn,`bun scripts/check-changed-formatting.mjs` 在改动到它们时
会直接判红。本次只做格式化,不改任何行为:合并的 CSS 声明、去掉多余换行与括号、
统一链式调用换行。

验证:prettier --write 后 `check-changed-formatting.mjs` 通过、typecheck 通过、
1940 条前端测试全过、eslint 通过。
2026-09-21 09:37:19 +08:00
AetherNo2332
425cc369fb fix(web): 基础控件 Tooltip - 子元素可触发并保留键盘可达性 (#560)
Original-Commit: 38b5909fa78902048345ad8d8e00248660830ad5
fix(web): 基础控件 Tooltip - 子元素可触发并保留键盘可达性

react-aria-components 的 TooltipTrigger 通过 context 下发 hover/focus 处理与 triggerRef,
只有消费该上下文的组件才会真正挂上;原来包一层普通 span,既不读 context 也拿不到 ref,
所以悬停/聚焦都不弹气泡(有定位也无基准)。

包装层改为 Focusable + excludeFromTabOrder:悬停与聚焦都能触发、气泡有定位基准,
外层不占 Tab 位,键盘焦点仍落在内层控件上,导航顺序不变。
2026-09-21 09:37:19 +08:00
ddCat
6eea2552f8 fix(canvas): 云端 Agent - 参数错误有限重试并折叠中间失败 2026-09-21 09:30:38 +08:00
ddCat
bdc4bd8dd6 feat(canvas): 多模态表格 - 合并 PR #549 并保留本地交互与校验 2026-09-20 17:18:46 +08:00
ddCat
e93bf3ca39 feat(canvas): 画布工作区 - 整合侧栏与风格预设并修复提示词回填
选择性整合 #547,保留主分支节点与工具条设计。新增默认折叠的节点、资产、任务和历史面板,风格与预设保留在节点内,移除重复入口。

补齐工具权限、提示词解析、资源引用保护及数据库迁移,修复提示词清空和连续编辑后的生成配置同步。

验证:前端全量 1925 项测试、构建、类型检查及 lint 通过;后端 go test ./... 通过。真实模型、PostgreSQL 实库与登录态页面验收仍待进行。

Refs #547

Co-authored-by: bensharp <bensharp@qq.com>
2026-09-20 16:40:08 +08:00
Codex
559f212c2f merge: official v1.5.6 with multimodal storyboard enhancements 2026-09-20 13:05:42 +08:00
Codex
007575f56f feat(canvas): support multimodal video storyboard tables 2026-09-20 12:59:23 +08:00
ddCat
46c498ff87 feat(*): 系统渠道与画布 - 支持多规格批量调价及 Agent 入口拖动 2026-09-20 11:18:19 +08:00
ddCat
609ab70203 fix(web): 导演台检查 - 隔离开发复现入口的外观初始化请求 2026-09-20 09:35:07 +08:00
ddCat
ad82559cda fix(workspace): 创作工作台 - 修复线上样式层级并优化 Agent、菜单与素材密度 2026-09-20 05:29:52 +08:00
ddCat
ec5abc967e feat(canvas): 交互可读性 - 优化连线、字号与工作条 2026-09-19 22:29:41 +08:00
ddCat
db9e18da1e fix(canvas): 远程媒体 - 统一资源地址并校验视频缓存 2026-09-19 22:29:09 +08:00
ddCat
14a78c3c18 fix(canvas): 打光效果 - 保留主干四列预设布局 2026-09-19 21:04:12 +08:00
cn-derekdu
5f73916e17 fix(ci): 质量检查 - 同步格式、前端断言与存储降级 2026-09-19 21:04:03 +08:00
libiao320-cmd
8b68c6ef12 fix(canvas): 打光效果 - 修复预设文字重叠 2026-09-19 21:03:54 +08:00
ddCat
3bf21d79af feat(canvas): 生成合同 - 统一节点参数并补充模型上下文能力 2026-09-19 20:32:05 +08:00
ddCat
6f2f0eb490 refactor(web): 样式体系 - 拆分模型选择、滚动条与编辑器样式 2026-09-19 20:28:16 +08:00
Codex
376770aad6 fix: restore list mode entry in text composer 2026-09-19 20:25:53 +08:00
Codex
d3bec84363 merge: preserve batch canvas enhancements on v1.5.4 2026-09-19 15:48:07 +08:00
Codex
7f389875cb merge: official v1.5.4 release 2026-09-19 15:36:02 +08:00
Codex
4bb65cec26 fix: harden list mode and batch generation flow 2026-09-19 15:35:11 +08:00
Codex
6cad9a608d fix: replace custom context menu with hover X button, restore native right-click 2026-09-19 14:55:41 +08:00
Codex
67da7af88c feat: add right-click and keyboard delete for batch table reference thumbnails
- Right-click on reference thumbnail shows context menu with 删除素材
- Delete/Backspace key removes the hovered reference cell
- Both actions only work within the batch table, on the specific thumbnail
2026-09-19 14:36:20 +08:00
Codex
5b9abfcc97 feat: add list mode for AI-powered batch table generation
- Add text/list toggle in prompt panel
- List mode: AI analyzes connected images + prompt, outputs structured JSON table
- Batch table node renders AI-generated text columns as read-only content
- Column names and row count determined by AI (3-6 columns, N rows)
2026-09-19 14:25:24 +08:00
Codex
97e6b045d9 feat: 批量创作表增加完整生成设置对话框,参考图上限提升到10
- 新增 BatchGenerationSettingsDialog 组件:模型选择 + 图像质量/尺寸/宽高比/透明背景/生成张数
- 替换原简单确认框为完整设置面板,用户可在生成前调整参数
- 参考图列上限从 6 提升到 10,列宽调整为 72px 以适配
2026-09-19 13:35:15 +08:00
ddCat
338c0ed860 feat(models): 模型目录与计费 - 按展示名分组并隔离管理员积分成本 2026-09-19 09:54:27 +08:00
ddCat
a3a5afe51f fix(canvas): Agent 面板 - 移除 PR #539 QAyong 提交中的无效 hover 背景
PR #539 作者:QAyong
2026-09-19 08:29:58 +08:00