Commit Graph

75 Commits

Author SHA1 Message Date
ddcat666
5f359f2b1d feat(canvas): 画布同步 - 新增操作事务、预演保存与并发恢复能力 2026-10-11 22:36:47 +08:00
ddcat666
a8fbee6266 feat(media): 可美 Seedream - 接入图片协议与尺寸能力 2026-10-10 04:51:22 +08:00
ddcat666
ffd7701b22 feat(canvas): AI 拆图 - 支持图层规划编辑与素材复用 2026-10-10 04:49:54 +08:00
ddcat666
ffe28adfab fix(agent): 分镜绑定 - 明确连线方向与字段纠正提示 2026-10-10 04:47:20 +08:00
ddcat666
6a8a707213 fix(agent): 模型输出 - 校验超限并要求分批纠正 2026-10-10 04:46:25 +08:00
ddcat666
a6cc804791 fix(agent): 画布审批 - 修复归属校验与大事件刷新 2026-10-10 04:45:12 +08:00
Codex
1b08bd64dd feat(protocol): 可美 KM Seedream - 接入图片生成与编辑 2026-10-09 18:02:19 +08:00
Codex
e9227e7941 feat(canvas): AI 拆图 - 完善规划、图层编辑与素材复用 2026-10-09 18:02:18 +08:00
ddcat666
5e69106d8f fix(canvas): 画布同步 - 版本冲突先核对并合并,本地保存与云端状态分开展示
本地持久化记录保存时间和日志令牌,同步面板区分本地与云端,不再用提示打断编辑。冲突时先尝试合并,无法合并才保留草稿并暂停自动提交;未登录时生成结果留在本地,登录后再继续上传。
2026-10-09 17:17:38 +08:00
tanzui
ea26a604f0 fix(agent): 分镜绑定 - 明确连线方向并提供字段纠正提示 2026-10-09 12:19:33 +08:00
tanzui
8266c3b664 fix(agent): 模型输出 - 提前校验超限并有限纠正 2026-10-09 10:27:35 +08:00
tanzui
a3de731bf1 fix(agent): 画布审批 - 大事件改用快照刷新避免执行回滚 2026-10-09 10:11:49 +08:00
ddcat666
e224ea1015 fix(canvas): 画布引用 - 统一角色与图片编号并保持生成资源顺序 2026-10-08 14:20:45 +08:00
Catlaxy AI
9bc255467d fix(upload): 分片上传 - 先预留配额并原子提交容量 (#679)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-10-06 09:42:48 +08:00
Catlaxy AI
3698249254 fix(media): 资源交付 - 按内容识别上传类型并统一重试与附件交付 (#678)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-10-06 09:35:50 +08:00
Catlaxy AI
fe2b892f1f feat(skills): 技能管理 - 支持后台维护一级分类 (#694)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-10-06 09:28:03 +08:00
Catlaxy AI
fb4af9bd34 feat(skills): 技能管理 - 增加可选的平台子分类策展 (#693)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:24:21 +08:00
tanzui
53ee5b0cbd fix(projects): 短剧项目 - 修复同名创建重试 (#691)
Co-authored-by: tanzui <305375675@.com>
2026-10-06 09:24:11 +08:00
Catlaxy AI
19841cb9c5 fix(auth): 注册唯一性检查识别 Gmail 邮箱别名
合并 #681:注册唯一性检查识别 Gmail 邮箱别名
2026-10-06 09:23:04 +08:00
Catlaxy AI
a71e03b131 fix(auth): 登录限流按解析后的用户身份共享计数
合并 #680:登录限流按解析后的用户身份共享计数
2026-10-06 09:22:29 +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
12125e18f6 feat(web): 角色与音频工作台 - 完善素材选择、生成参数与同步交互 2026-10-01 09:43:02 +08:00
ddcat666
6ad1adc197 feat(canvas): 条件读取与历史 - 减少画布同步传输并校准版本 2026-09-29 08:26:29 +08:00
ddcat666
fdade39c61 fix(database): 数据库迁移 - 对齐迁移校验和并同步文档 2026-09-27 09:45:46 +08:00
ddcat666
98f1b31e20 feat(canvas): 云端 Agent - 缩减画布目录上下文并展示实时用量 2026-09-24 23:54:59 +08:00
✨await
672bb0be73 feat(auth): 注册服务协议 - 名称与条款改为后台可配置并同步注册页展示
后端:
- RegistrationSettingRequest 协议字段改为可选指针,注册开关单独保存不再覆盖协议正文
- 新增 RegistrationAgreement / AgreementTitleForMessage:标题未配置时跟随品牌名生成,读取失败返回空标题而非猜一个不存在的协议名
- PublicAuthSettings 下发 agreementTitle / agreementContent,首用户分支同样携带
- 新增 registration_agreement_test.go 覆盖品牌名兜底、存储合并与失败降级

前端:
- 注册页协议标题与条款改为消费后台配置;读取失败时隐藏协议入口并支持重新读取
- 验证码获取按钮内联到输入框右侧,联系方式为空即禁用;sms_email 双通道合并为单输入框
- 协议弹窗重排:条目标题独立成行加重、空态虚线提示、底部补充同意说明;深浅主题适配
- 协议勾选行改为状态化区域,复选框适配 AntD 6 结构(方框在 .ant-checkbox 本体,修正深色主题白底白勾)
- 后台「服务协议名称与条款」区块补齐表单内边距并对齐区块头/页脚,协议名称限宽

文档:http-api.mdx 更新协议字段语义与失败降级说明;pending-test.mdx 增加手工验证清单
2026-09-24 16:56:44 +08:00
AetherNo2332
abf593c6c9 feat(cloud-agent): 上下文计量 - 每步发出 context_pressure 读数并用上游实测定锚 (#601) 2026-09-24 13:35:15 +08:00
AetherNo2332
b701b3efd1 feat(agent): 运行详情分页与增量读取契约 (#600)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-09-24 11:31:09 +08:00
AetherNo2332
c4b9a426ab feat(agent): 上下文压缩 - 超预算时生成检查点并安全续轮 (#598)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-09-24 11:15:31 +08:00
ddcat666
a79b54ada5 fix(*): 平台稳定性 - 修复会话隔离、运行时缓存与部署镜像更新链路 2026-09-24 06:05:04 +08:00
itsWyatt-K
33baecde28 feat(agent): 技能用量 - 按用户运行日志统计检索与读取 (#590) 2026-09-23 16:22:44 +08:00
Codex Audit
bfd7256cad docs(progress): 画布媒体与 Agent - 记录复测结果和资源直连边界 2026-09-23 11:11:56 +08:00
ddCat
487c34bfeb refactor(media): 资源分发 - 统一资源访问策略与云存储重定向 2026-09-22 21:41:00 +08:00
ddCat
48a82ded74 feat(media): 作品保存恢复 - 按原任务重试交付并避免重复生成计费 2026-09-22 15:47:24 +08:00
ddCat
acbb354e97 fix(canvas): Agent 识图 - 交付真实图片字节并纠正视觉状态 2026-09-22 15:27:10 +08:00
ddCat
2af633caec feat(auth): 注册协议 - 合并同意校验并顺延迁移版本 2026-09-22 11:58:49 +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
1d43d2d986 Merge remote-tracking branch 'origin/pr-588' into codex/pr-557-589-security-integration 2026-09-22 11:19:54 +08:00
ddCat
6a4180230e Merge remote-tracking branch 'origin/pr-587' into codex/pr-557-589-security-integration
# Conflicts:
#	backend/internal/app/cloud_agent_runtime.go
2026-09-22 11:19:54 +08:00
ddCat
c8a91fd2e9 fix(canvas): 模型生成 - 保留安全的上游失败原因并展示到用户卡片 2026-09-22 10:48:25 +08:00
AetherNo2332
9d0bce6bb5 fix(cloud-agent): 续轮交接 - 用有界结构化事实帧替代跨轮散文收束
续轮(POST /agent/runs 带 parentId)过去只把「上一轮已结束(failed)。…已提交生成任务:
a, b」这段散文塞进下一轮历史:新轮看不到上一轮真实改过哪些节点,也无法可靠区分「这是
服务端交接」还是「用户自己写的一句话」。

- 与轮内既有事实帧(cloud_agent_context_frame.go 的 task_repository 帧)同构,把跨轮交接
  也改成有界结构化帧:source=server、kind=run_handoff,带 parentRunId / status /
  failureReason / submittedTaskIds / canvasChanges / omittedCanvasChanges / authority。
  画布改动取自上一轮真实 canvas_updated 事件,最多 12 组(operation、去重后的
  nodeId/title、actionCount),超出只记 omittedCanvasChanges,不静默丢。
- 身份改由 providerTextMessage.AgentContextSource 结构体字段承载,canonical 装配时原样
  透出;isCloudAgentContinuationMessage 要求「来源元数据 + 【运行状态】前缀 + JSON
  source=server/kind=run_handoff」三者同时成立,用户逐字复制帧 JSON 也拿不到该身份
  (此前按内容前缀猜,用户自己写一句「上一轮已结束(…)」就会被认成交接)。
- 旧格式兼容:升级前落库的散文交接没有来源字段,改按「紧跟 assistant 回复 + 旧版文案
  前缀」识别,只用于历史裁剪与轮次计数;canonical 身份仍只认结构体字段。
- cloudAgentLegacyHistory 重建时把落库的 agentContextSource 一起搬,身份不在重建口丢失。
- 帧按字节封顶:单个 nodeId 截 64 字符、整帧 8 KiB,超限按最近改动优先裁剪并累计
  omittedCanvasChanges;失败原因过既有脱敏口径 cloudAgentSafeUserMessage。
- 不搬运 dev 专有内容:不引入事件读取上限常量(上游本就返回全量事件),硬闸口径按上游
  的 64 KiB 注释,也不引入 `dropped := 0` / `_ = dropped` 这类死代码。
- docs/content/docs/backend/http-api.mdx 补帧字段与「非授权」口径。

帧只被 isCloudAgentContinuationMessage 用于「历史怎么裁、怎么数轮」;写入与收费闸门读的
是落库策略(审批闸、生成次数闸、视频秒数闸、工具授权),不读消息内容,因此帧不构成重放
写入、重复提交付费任务或扩大权限的授权依据。
2026-09-22 01:32:21 +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
080e4b901e feat(cloud-agent): 看图工具 canvas_inspect_image 与同批多图工具结果配对
云端 Agent 过去只能凭标题或提示词猜画面:上游既有的 image_text_detect / image_annotation_render
是"组织 OCR 请求"和"渲染标注图当参考"两种不同能力,模型自己从不看像素。本 PR 新增只读工具
canvas_inspect_image,把画面本身交给模型。

- 交付走与生成任务参考图同一套短时签名链接(providerResourceURL),Agent 上下文只增长一个
  URL,不内联 base64:一张 500 KB 的内联图片会同时顶穿请求体硬限与压缩阈值。
- 能力门控:仅当本轮渠道模型声明 text.references.maxImages > 0 时暴露该工具;VisionEnabled 在
  建 run 时按渠道模型合同定格并持久化(工具授权每步从落库状态重建,客户端传入值被忽略)。
- 上下文治理:图片保留最近 3 个工具轮次,同一张图一轮内最多附图 2 次(之后只回执文字,确需
  重看传 refresh=true),超出保留轮次换成逐图文字占位符并落 context_images_pruned 事件。
- 视觉锚点:模型看过后写进正文的一句观察记入 ReferenceAssets[].VisualNote 并跨轮继承,下一轮
  不必重复看图,也不再对这张图声称"没有视觉识别证据"。
- 同批多图合并成一条 user 消息:图片只能挂 user 消息(tool 角色只接受字符串),逐张 append 会让
  历史退化成 tool → user(图) → tool → user(图),被上游以"tool_calls 之后缺少对应 tool 消息"
  拒绝。改为先缓冲到 PendingImageInspections,等整批 tool 结果入历史后合并成一条;两个 flush 点
  共用同一个幂等助手,ask_user 提前结束路径单独 flush。缓冲必须进检查点:一次推进只执行一个
  调用,整批跨越多次转移,每次转移都从 StateJSON 重新解码。
- 附带把上述 400 从"渠道余额不足"归类里拆出来(原文含 insufficient 会落进额度类目掩盖真因),
  归为"会话里的工具调用与结果不匹配"。
- 文档补该能力口径与工具全集条目;前端零改动。
2026-09-22 01:32:07 +08:00
ddCat
dc1ad68015 fix(*): 素材库与画布 - 修复批量删除刷新、选择布局及工具引用 2026-09-21 20:14:05 +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
ddCat
85de99071d fix(canvas): 云端 Agent - 参数错误有限重试并折叠中间失败 2026-09-21 09:30:38 +08:00
陈泽
316386a2bd feat(auth): 注册协议 - 增加同意校验并预留影策协议正文 2026-09-20 22:57:31 +08:00
ddCat
9148ceab66 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
ddCat
0ea9f7d94b fix(canvas): 画布智能体 - 严格校验模型选择并修正任务与 DNS 错误诊断 2026-09-20 12:47:07 +08:00