Commit Graph

47 Commits

Author SHA1 Message Date
43c3dd3568 chore(sync): 上游同步 - 快照导入 upstream/main@e70fe1b9(v1.6.5)并重放本项目差异 2026-10-12 11:52:01 +08:00
ddcat666
87ecb3000c refactor(*): 代码质量 - 优化前后端实现并完善协议与画布验证 2026-10-08 19:38:57 +08:00
jiabx
be0b2f9b67 fix(agent): 画布助手 - 工具参数超限改为纠偏回执,不再判死整个运行 (#701)
* fix(agent): 画布助手 - 工具参数超限改为纠偏回执,不再判死整个运行

* fix(agent): 画布助手 - 桥接优先回放参数回执,结构类调用问题整步拒绝

---------

Co-authored-by: Future <jiaboxuan1205@163.com>
2026-10-08 12:15:22 +08:00
ddcat666
5acddb9ecb feat(agent): 经验记忆 - 按任务相关度排序召回,并过期清理待批准记忆
召回按主题、情境和中文双字命中加权;30天未处理的待批准记忆会在记录和压缩调度时过期,成功计数写入运行态以免事件窗口截断后误拦。
2026-10-08 10:54:40 +08:00
jiabx
5bf838ebbe fix(agent): 插话 - 独立运行时路径的送达与退回 (#673)
复现:Agent 运行中发送插话,独立 Agent 运行时(Pi)下既不送达模型也不退回用户,插话一直停在待送队列里。

原因与修法:插话送达点原本只有旧 Go 执行循环(advanceCloudAgent 开步前出队);Pi 运行时接手执行后调度循环不再推进。现把 Pi 路径的送达搬到 /model 模型步:出队、规范历史追加与 delivered 事件同在入队的一次 CAS 写入里,响应携带 steeringMessages 交给运行时 session.steer。完成、失败、取消、审批拒绝与步数耗尽统一退回;最终回答之后的插话在预算富余时续跑一步。完成闸一次带走多条插话时,合并后的续跑提示词也记入指纹,避免被恢复闸当成遗留提示词清空。
2026-10-05 13:39:57 +08:00
ddcat666
76ca0fd247 feat(agent): 云端 Agent 运行时 - 完善 Pi 桥接、上下文压力与临时故障重试 2026-10-04 02:20:30 +08:00
ddcat666
b1d854ee51 refactor(*): 平台架构 - 拆分后端领域模块与画布前端组件并补充测试 2026-09-30 10:01:39 +08:00
ddcat666
64a3273c50 fix(agent): Agent 运行 - 截断工具参数纠偏重试并修复 ask_user 后续跑与清单状态
模型返回不完整的工具参数 JSON 时,Pi 桥接带 truncated_tool_arguments 纠偏上下文重做同一步,不再把整轮判为中断。ask_user 进入提问后结束本轮 Pi 调用;续轮会话快照缺失时改用服务端 canonical 历史。继承的待办清单挂到新一轮,等待用户确认时清单显示暂停而非停止。
2026-09-30 03:41:25 +08:00
ddcat666
354d86a70b feat(canvas): Agent 审批 - 节点直接生成时自动关闭同节点的待审批任务
用户在画布节点上直接提交生成后,同画布 Agent 对该节点等待中的 generate_media 审批关闭为 superseded_by_node,Agent 带着「用户已手动提交」的结果继续,不重复提交、不扣费。审批卡片识别目标节点正在生成时禁用「同意执行」并提示原因。
2026-09-30 03:40:14 +08:00
ddcat666
b0ebe60993 feat(deploy): 画布 Agent - 独立 yingce-agent 容器并修复运行中断
生产会话不再因 stdout 管道提前关闭被误判失败。设置 YINGCE_AGENT_URL 后只走独立容器,失败不回退到内嵌进程。
2026-09-29 21:41:36 +08:00
ddcat666
400e0dbe4c fix(*): 支付与Agent运行 - 修复商品策略并保证审批恢复稳定 2026-09-29 11:07:11 +08:00
ddcat666
14a051b664 refactor(agent): Pi 会话运行时 - 接入原生 Agent 与 Skills 工具链 2026-09-29 08:21:11 +08:00
ddcat666
dec41754e2 fix(agent): 修复上下文压缩检查点保存失败 2026-09-27 18:31:24 +08:00
ddcat666
a8a605519b fix(agent): 云端 Agent - 限制确认循环次数 2026-09-27 09:45:46 +08:00
ddcat666
1a4598e496 feat(agent): 云端 Agent - 加固运行时并新增导演工具 2026-09-27 09:45:43 +08:00
ddcat666
f4480b129b feat(cloud-agent): 云端 Agent - 完善运行时与资源持久化 2026-09-26 17:05:36 +08:00
ddcat666
21b311b90b feat(*): 云端 Agent - 增强画布上下文读取并接入 Gemini 缓存 2026-09-26 02:21:47 +08:00
AetherNo2332
2b774a2ec7 feat(cloud-agent): 上下文计量 - 每步发出 context_pressure 读数并用上游实测定锚 (#601) 2026-09-24 13:35:15 +08:00
AetherNo2332
28e9eff01f feat(agent): 运行详情分页与增量读取契约 (#600)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-09-24 11:31:09 +08:00
AetherNo2332
1da3d373fb feat(agent): 上下文压缩 - 超预算时生成检查点并安全续轮 (#598)
Co-authored-by: ddcat666 <26564566+ddcat666@users.noreply.github.com>
2026-09-24 11:15:31 +08:00
itsWyatt-K
1eed747cb3 feat(agent): 技能用量 - 按用户运行日志统计检索与读取 (#590) 2026-09-23 16:22:44 +08:00
Codex Audit
a218996e23 fix(backend): Agent 任务 - 限制循环读取并收紧提交后的取消边界 2026-09-23 11:09:57 +08:00
ddCat
58bf197156 fix(canvas): Agent 识图 - 交付真实图片字节并纠正视觉状态 2026-09-22 15:27:10 +08:00
ddCat
c1d628b873 fix(agent): 执行边界 - 遵守策略上限并压缩工具协议 2026-09-22 11:43:42 +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
60cae78677 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
b0af3acf29 Merge remote-tracking branch 'origin/pr-586' into codex/pr-557-589-security-integration 2026-09-22 11:10:48 +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
157517c2bd 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
AetherNo2332
9f37065e47 feat(cloud-agent): 单步输出上限与秒级墙钟,超时/空输出可自恢复
画布 Agent 一轮要跑很多步模型调用,此前只有"按任务类型的分钟级超时":某一步卡住只能等
整轮判死;更根本的是每一步请求根本不带输出上限,不写 max_tokens 时上游按剩余上下文放行,
思考模型可以把单步拖到几分钟,且偶发把整个输出预算花在推理上、正文与工具调用皆空。

- 新增运行时策略 task.agentStepTimeoutSeconds 与 task.agentStepMaxOutputTokens:秒级墙钟
  与单步输出上限,都支持环境变量给部署级默认值、管理端热更新;旧配置 JSON 缺字段按默认值
  回填,无需数据迁移。
- 单步墙钟到点中止这一步时不再把整轮判死:以可识别标记记为该步失败,运行期关掉上游思考
  重试同一步一次(model_failure_recovered / step_timeout_retried),重试仍超时才以可读原因
  (model_step_timeout)结束本轮。
- 空输出催办用尽后新增一级升级:关思考 + 放大输出预算重试同一步
  (model_failure_recovered / empty_output_escalated),而不是直接判死。放大档在原值上翻倍
  并以 131072 封顶,策略值为 0 时用 32768 兜底,让重试仍然有界。
- 输出上限真正下发到上游:textOptions.maxOutputTokens 成为任务信封字段,Agent 的两条请求
  路径(内置协议与声明式协议)组装请求体时写入 max_tokens / max_output_tokens,与既有的
  input.MaxOutputTokens 取较小值,避免策略上限超过模型声明的物理上限。
- task_worker:执行时限改用带画布 Agent 分支的 taskExecutionTimeout;执行时限到点本身不再
  被当成"租约丢失",否则任务会停在 running 等租约过期后被反复重跑(实测一次调用被重跑成
  三次上游请求)。续租仍用上游已合入的"不继承父 context 取消"的独立 context。
2026-09-22 01:20:36 +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
6eea2552f8 fix(canvas): 云端 Agent - 参数错误有限重试并折叠中间失败 2026-09-21 09:30:38 +08:00
ddCat
be5f2733b6 fix(canvas): 画布智能体 - 严格校验模型选择并修正任务与 DNS 错误诊断 2026-09-20 12:47:07 +08:00
ddCat
b52bc9d5f2 feat(agent): 云端 Agent - 增加上下文预算、任务事实与终态恢复保障 2026-09-19 20:43:20 +08:00
Codex
6ee9d1dcb2 feat(image): integrate PoloX image editing workflows
Add WaveSpeed image editing and image tools plugins, canvas image editing workflows, layer selection, and Cloud Agent image tools with approval-safe transient references.
2026-09-18 20:34:28 +08:00
ddCat
90add8c466 chore(release): 版本发布 - publish v1.5.1 2026-09-18 15:26:26 +08:00
ddCat
e5a5f0ccc8 fix(agent): 云端 Agent - 媒体失败可续跑并补齐快照哈希
生成任务失败不再把整轮判死,漏传画布快照由服务端补当前内容哈希,没有偏好层时不暴露空的 profile 读取。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 23:31:54 +08:00
ddCat
d9abe41ceb feat(agent): Agent 工作台 - 计划插话记忆、统一模型选择器并修复摘要与视频入库
将计划清单、运行中插话和个人记忆接入云端 Agent;全站模型选择器统一为左右二级菜单。画布摘要按预算截断不再整轮拒绝,首页视频未知宽高可入库。README 补充贡献者 morrow。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 20:21:25 +08:00
ddCat
f52702b70f feat(agent): Agent 生成审批 - 支持改模型参数、忽略位置漂移并取消 8 轮硬限制
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-16 22:59:38 +08:00
ddCat
da0531f6eb feat(agent): 批量创作表 - 注册节点能力与读写工具 2026-09-15 20:56:33 +08:00
ddCat
be9b22a697 feat(agent): 云端创作助手 - 增加创作锚点、媒体准入与结构化分镜能力 2026-09-15 13:37:21 +08:00
ddCat
18d4bcbca6 fix(agent): 画布助手 - 完善不限预算与技能分页上下文卸载 2026-09-15 09:19:54 +08:00
ddCat
7dc807a4a2 fix(agent): 优化预算与技能按需加载 2026-09-15 07:04:08 +08:00
ddCat
14acf89030 fix(agent): 修复流式推理与工具参数重试 2026-09-15 05:22:07 +08:00
ddCat
57b00dbfc0 fix(agent): Agent - 终止画布审批预览异常循环 2026-09-14 22:15:56 +08:00
ddCat
01486872c4 feat(canvas): 云端 Agent - 完成策略分层、节点能力注册与可解释审批改造 2026-09-14 17:58:21 +08:00
ddCat
4b0e9d8965 chore: commit workspace updates 2026-09-14 01:11:56 +08:00