Commit Graph

421 Commits

Author SHA1 Message Date
naidalao
faef652125 fix(canvas): 生成失败提示 - 统一转换用户可读错误 (#669)
Co-authored-by: linxi <linxi@enjoysoftware.cn>
2026-10-05 13:27:39 +08:00
ddcat666
6d757b7001 fix(canvas): 媒体提示词 - 统一 Agent 更新与画布生成读取生成合同 2026-10-04 10:43:55 +08:00
DAO-QIN
853c7d2ce7 feat(*): 创作配置 - 支持 Midjourney、多图保存与自定义公告
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-10-04 10:43:31 +08:00
ddcat666
c83525b114 feat(canvas): 云端 Agent 交互 - 展示错误动作并支持连接器与提示词预填 2026-10-04 02:22:42 +08:00
ddcat666
6195d8d4f7 refactor(web): 界面工具 - 代码优化,替换重复的复制、打包、项目选择和主题切换实现
删除未再引用的文字扫光组件。复制提示、压缩包读写、项目多选和主题揭示的对外行为保持不变。
2026-10-01 11:40:08 +08:00
ddcat666
12125e18f6 feat(web): 角色与音频工作台 - 完善素材选择、生成参数与同步交互 2026-10-01 09:43:02 +08:00
ddcat666
b080674524 feat(media): 音频生成 - 支持 IndexTTS2 情感控制参数 2026-09-30 14:39:56 +08:00
ddcat666
d01e60d87e fix(canvas): 角色卡引用 - 修复三视图读取与本地图片生成(#650)
fix(canvas): 角色卡引用 - 修复三视图读取与本地图片生成
2026-09-30 11:58:54 +08:00
yepwait
6bbc2849dd fix(canvas): 角色卡引用 - 修复三视图读取与本地图片生成 2026-09-30 11:47:00 +08:00
medivh
45e51b1df5 fix(canvas): 分镜脚本 - 补齐拆镜输出契约并让镜头数与每镜时长生效 2026-09-30 11:13:54 +08:00
ddcat666
7f5d87ef1a refactor(*): 平台架构 - 拆分后端领域模块与画布前端组件并补充测试 2026-09-30 10:01:39 +08:00
ddcat666
10ea9d3fa0 feat(canvas): Agent 审批 - 节点直接生成时自动关闭同节点的待审批任务
用户在画布节点上直接提交生成后,同画布 Agent 对该节点等待中的 generate_media 审批关闭为 superseded_by_node,Agent 带着「用户已手动提交」的结果继续,不重复提交、不扣费。审批卡片识别目标节点正在生成时禁用「同意执行」并提示原因。
2026-09-30 03:40:14 +08:00
ddcat666
6ad1adc197 feat(canvas): 条件读取与历史 - 减少画布同步传输并校准版本 2026-09-29 08:26:29 +08:00
ddcat666
387d3562ad refactor(agent): Pi 会话运行时 - 接入原生 Agent 与 Skills 工具链 2026-09-29 08:21:11 +08:00
ddcat666
5df5e09c63 feat(web): 工作台 - 优化 Agent 工作区与技能库 2026-09-27 09:45:45 +08:00
ddcat666
e94375089e fix(quality): 前端代码质量 - 修复变更格式检查问题 2026-09-26 17:05:36 +08:00
ddcat666
993580a7bd feat(cloud-agent): 云端 Agent - 完善运行时与资源持久化 2026-09-26 17:05:36 +08:00
ddcat666
48e6a705ef merge: 合并 Agent 面板 UI 优化 PR #624 2026-09-26 06:20:01 +08:00
ddcat666
2cedc4c66b feat(*): 云端 Agent - 增强画布上下文读取并接入 Gemini 缓存 2026-09-26 02:21:47 +08:00
AetherNo2332
a1dc9b2686 fix(canvas): Agent 面板 - 读清单与看画面分档、操作行折叠动效与时间线标识清理
(cherry picked from commit 6c0cadcf9d0dad48a065598ff57b4bde1e135fcd)
2026-09-25 20:57:09 +08:00
AetherNo2332
0d6f2291f6 feat(cloud-agent): 操作记录 - 折叠成一行只报最新一步并支持展开完整记录
(cherry picked from commit fce39c847b046ec8b3f11a83f1e809a4a88100d6)
2026-09-25 20:57:09 +08:00
ddcat666
8a691f76c9 refactor(platform): 统一控件 - 收敛下拉选择与按钮输入交互样式 2026-09-25 00:01:09 +08:00
ddcat666
1dc1b6f6b5 fix(platform): 外观主题 - 保证经典黑白主题不可被修改或删除 2026-09-24 23:59:12 +08:00
ddcat666
3b254fce11 fix(*): 资源与技能 - 精简列表载荷并禁止对象存储静默降级 2026-09-24 23:57:13 +08:00
ddcat666
98f1b31e20 feat(canvas): 云端 Agent - 缩减画布目录上下文并展示实时用量 2026-09-24 23:54:59 +08:00
ddcat666
32a2e44040 fix(canvas): 创作工作区 - 收紧界面密度并改进 Agent 镂空标签 2026-09-24 10:07:05 +08:00
VicoHu
3ef40e1d21 feat(canvas): 媒体产出模型与选用模型分离 (#597)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-09-24 09:28:16 +08:00
ddcat666
a79b54ada5 fix(*): 平台稳定性 - 修复会话隔离、运行时缓存与部署镜像更新链路 2026-09-24 06:05:04 +08:00
ddCat
c7cb6e14a0 perf(canvas): 画布渲染 - 降低大画布节点开销 2026-09-24 00:12:53 +08:00
ddCat
d89b55d182 fix(auth): 登录主题 - 跟随应用外观并补齐回归 2026-09-24 00:12:53 +08:00
ddCat
e8c2c40715 fix(deploy): 前端资源 - 保留旧版本分片并恢复加载 2026-09-24 00:12:53 +08:00
ddCat
5b38272654 fix(canvas): 资源引用 - 校验递归素材并修复断链 2026-09-24 00:12:53 +08:00
cn-derekdu
d5741c98fe fix(canvas): 图片裁剪 - 修复云端图片跨域导致的确认裁剪无反应
裁剪属于像素级操作,需要先把图片画到 canvas 再导出。云端图片地址通常不带
CORS 头,canvas 会被标记为跨域,toDataURL 直接抛 SecurityError;而 loadImage
只挂了 onload、没有 onerror,加载失败时 Promise 永久挂起。两者叠加后,用户
侧的表现都是「点击确认裁剪没有任何反应」,控制台之外看不到原因。

- loadImage 补充 onerror,避免加载失败时 Promise 永不落地
- 仅对非 data:/blob: 的地址设置 crossOrigin=anonymous,本地资源设了反而
  可能取不到像素
- 新增 resolveCroppableImageSource():优先用本地媒体缓存 Blob 构造同源
  objectURL,取不到再回退原始地址,并在 finally 中 revoke
- cropImageNode 补充 try/catch 与失败提示,让错误可见而不是静默失败

无外部行为变化,仅修复失败路径与错误反馈。
2026-09-22 16:31:15 +08:00
Codex Audit
12796b048c fix(canvas): 画布媒体 - 修复预览首帧音量和创作状态展示 2026-09-23 11:10:45 +08:00
ddCat
c30393df14 feat(canvas): 画布外观 - 默认使用黑色点网格并保留自定义配置 2026-09-22 15:47:49 +08:00
ddCat
48a82ded74 feat(media): 作品保存恢复 - 按原任务重试交付并避免重复生成计费 2026-09-22 15:47:24 +08:00
ddCat
2cbe80369b 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
6f4bc29524 Merge remote-tracking branch 'origin/pr-585' into codex/pr-557-589-security-integration 2026-09-22 11:10:48 +08:00
ddCat
764ef95aa7 Merge remote-tracking branch 'origin/pr-579' into codex/pr-557-589-security-integration 2026-09-22 11:05:07 +08:00
ddCat
c8a91fd2e9 fix(canvas): 模型生成 - 保留安全的上游失败原因并展示到用户卡片 2026-09-22 10:48:25 +08:00
AetherNo2332
56598108d4 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
4e2df72eeb 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
6f45240599 fix(canvas): 画布批量生成 - 修复节点丢失、资源引用及刷新状态不一致 2026-09-21 21:13:29 +08:00
ddCat
dc1ad68015 fix(*): 素材库与画布 - 修复批量删除刷新、选择布局及工具引用 2026-09-21 20:14:05 +08:00
root
64832b2fb5 fix(canvas): 任务结果恢复 - 规范化分镜行文本字段 2026-09-21 20:13:22 +08:00
root
72c0a037de fix(canvas): 任务结果恢复 - 兼容结构化文本结果 2026-09-21 18:57:25 +08:00
ddCat
c5b81f696c feat(*): 画布助手 - 新增 Live2D 配置导入与模型渲染支持 2026-09-21 14:11:29 +08:00
ddCat
b8eefdad70 feat(canvas): 模型选择 - 支持彩色展示标签并优化目录与积分交互 2026-09-21 11:11:10 +08:00
Rou
19c9a207c9 fix(model-picker): 模型选择 - 修复候选报价显示与同渠道模型跳回 (#556)
Original-Commit: 7a5e17e2112c3c23e081a1ecf3c33a654cf1e907
fix(model-picker): 模型选择 - 修复候选报价显示与同渠道模型跳回
2026-09-21 09:37:51 +08:00
AetherNo2332
6c92c3be7a 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