Editor agent refactored #76

Merged
kdletters merged 122 commits from editor-agent-refactored into master 2026-07-17 21:03:15 +08:00

122 Commits

Author SHA1 Message Date
k88936 0f3c63a6c6 refactor: improve result reconciliation by distinguishing retryable errors and fatal failures 2026-07-17 19:05:44 +08:00
k88936 15c8a2f8b1 remove logs in repo 2026-07-17 18:13:51 +08:00
k88936 9c75ef6af9 Merge remote-tracking branch 'origin/master' into editor-agent-refactored
# Conflicts:
#	docs/README.md
#	src/components/image-editor/EditorAgentConversation/EditorAgentConversationPanelView.tsx
#	src/components/image-editor/EditorAgentConversation/useEditorAgentConversation.ts
#	src/components/image-editor/EditorAgentConversationPanelView.test.tsx
#	src/components/image-editor/ImageCanvasStageView.tsx
2026-07-17 17:39:28 +08:00
k88936 2829344d3d comment: prevent infinite loop in result reconciliation on fatal errors 2026-07-17 17:22:18 +08:00
k88936 0d22ee5d71 Merge remote-tracking branch 'origin/master' into editor-agent-refactored 2026-07-17 16:26:57 +08:00
k88936 9b42c64300 删除停止(思考)
解释: 停止是原来sse留下来的, 现在思考时间相对调用各种美术工具时间短, 且美术工具调用不阻塞对话,调用前已有确认取消
2026-07-17 16:04:45 +08:00
k88936 c43836d881 rename new proc 2026-07-17 13:20:30 +08:00
k88936 908d51c92b fix: add missing params 2026-07-17 13:13:34 +08:00
k88936 2103d88836 Merge remote-tracking branch 'origin/master' into editor-agent-refactored
# Conflicts:
#	server-rs/crates/api-server/src/editor_agent.rs
2026-07-17 10:02:13 +08:00
k88936 8519d29283 adjust system prompt to adapt to gpt 5.4 mini 2026-07-16 20:59:02 +08:00
kdletters 6f8f01a004 Merge branch 'master' into editor-agent-refactored 2026-07-16 19:35:54 +08:00
k88936 c99769736c Merge remote-tracking branch 'origin/master' into editor-agent-refactored
# Conflicts:
#	docs/technical/【前端架构】图片画布编辑器MVP接入方案-2026-06-11.md
#	docs/technical/【后端架构】外部生成Worker化方案-2026-06-03.md
#	docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md
#	server-rs/crates/api-server/src/editor_agent.rs
#	server-rs/crates/api-server/src/external_generation_worker.rs
#	server-rs/crates/spacetime-client/src/lib.rs
#	server-rs/crates/spacetime-client/src/mapper.rs
#	server-rs/crates/spacetime-client/src/mapper/external_generation.rs
2026-07-16 19:32:14 +08:00
k88936 621022ea4f fix: 会话快速切换pollute message 2026-07-16 18:50:46 +08:00
k88936 e7da2fe788 fix: 会话快速切换响应乱序 2026-07-16 17:51:01 +08:00
k88936 ce2806dea8 add retry in result reconciliation logic 2026-07-16 17:41:06 +08:00
k88936 ca4bf6db5e persist error message in oss doc 2026-07-16 17:18:08 +08:00
k88936 9dc65e1d47 impl client message id and client retry 2026-07-16 16:51:13 +08:00
k88936 2a84e6d89b limit llm message sliding window size 2026-07-16 15:45:19 +08:00
k88936 0f4ec0ddd5 update old doc 2026-07-16 15:31:47 +08:00
k88936 0866878d9e follow master change, use gpt-5.4-mini max_tokens=1024 2026-07-16 13:05:37 +08:00
k88936 862038b955 Merge remote-tracking branch 'origin/master' into editor-agent-refactored 2026-07-16 11:13:44 +08:00
k88936 a45ae07767 not show loading on reload to prevent scollable jumpy 2026-07-16 11:13:39 +08:00
k88936 bee9e6ee8a resolve warning 2026-07-16 11:12:53 +08:00
k88936 701b2338c7 legacy doc migration 2026-07-16 11:01:27 +08:00
k88936 2f344ed107 reload after failed task 2026-07-16 10:15:18 +08:00
k88936 b8004a04e7 simplify confirm and cancel logic 2026-07-15 20:30:09 +08:00
k88936 3a30198fef rollback optimistic message on send failure 2026-07-15 19:24:47 +08:00
k88936 9856acb8c3 fix message id mismatch in frontend 2026-07-15 19:18:34 +08:00
k88936 c6bfdafc43 fix source mismatch in test code 2026-07-15 19:01:25 +08:00
k88936 b021ffbc08 validate editor agent message request 2026-07-15 18:15:29 +08:00
k88936 a2926674dd restore context and image_args functions as test utils 2026-07-15 18:08:35 +08:00
k88936 2113c33789 frontend message dont depend on message.id 2026-07-15 17:26:40 +08:00
k88936 acb8149a12 revert wrong merge 2026-07-15 17:01:18 +08:00
k88936 f5c4e9ed15 Merge remote-tracking branch 'origin/master' into editor-agent-refactored 2026-07-15 16:33:16 +08:00
k88936 0e8f437b25 split components 2026-07-15 16:29:59 +08:00
k88936 50eec83cdb clean code 2026-07-15 16:23:14 +08:00
k88936 79bef5a238 fix field name mismatch 2026-07-15 16:01:31 +08:00
k88936 29a3fd9b84 update data structure for icon gen tool 2026-07-15 15:47:38 +08:00
k88936 e39d5fb278 storage generated assets metadata in external job payload (only for editor agent source) 2026-07-15 15:47:17 +08:00
k88936 fda0931716 add test dependency for ImageId 2026-07-15 15:45:18 +08:00
k88936 7b31e736d1 move code 2026-07-15 14:49:24 +08:00
k88936 7c58cb11f2 Merge remote-tracking branch 'refs/remotes/origin/master' into editor-agent-refactored
# Conflicts:
#	vitest.config.ts
2026-07-15 13:49:46 +08:00
k88936 4484a9caec disable icons gen since conflict with master's change 2026-07-15 13:48:21 +08:00
k88936 ddb508e729 恢复编辑器 Agent 稳定任务标识
保留外部生成任务稳定 job id 与去重键

供异步结果查询按固定任务标识回填
2026-07-15 13:41:20 +08:00
k88936 d55f4ba71c 新增外部生成任务结果查询
新增仅返回任务结果的 SpacetimeDB procedure

编辑器 Agent 回填改用结果查询接口

补齐客户端绑定与接口文档
2026-07-15 13:36:00 +08:00
k88936 9a6bf8d86d 回退外部生成任务分支改动
恢复外部生成 worker 的 master 行为

恢复画布生成任务默认入队标识

移除 Agent 自定义任务标识入口
2026-07-15 13:30:58 +08:00
k88936 9ff8e0a297 split code 2026-07-15 11:13:37 +08:00
kdletters 8fa0ce4101 Merge branch 'master' into editor-agent-refactored 2026-07-14 20:59:02 +08:00
k88936 1d5f8c2cbd Merge remote-tracking branch 'origin/master' into editor-agent-refactored 2026-07-14 20:26:15 +08:00
k88936 54e662ca24 fix no assets ref in resp 2026-07-14 20:26:07 +08:00
k88936 db2ea496ad fix compile err 2026-07-14 17:30:56 +08:00
k88936 f0cbadcea1 合并 master 的画布资源命名更新
合并 origin/master 的资源命名、图集拆分告警与相关后端契约更新

保留编辑 Agent 完成任务后的任务列表和画布刷新流程

保留编辑生成结果的轻量化持久化处理
2026-07-14 14:00:37 +08:00
k88936 3796445b3b refresh on gen job done 2026-07-14 13:10:19 +08:00
k88936 d25d9a2935 reconcile on get req 2026-07-14 13:09:59 +08:00
k88936 4ea9a1bd39 only poll on not complete 2026-07-14 13:09:03 +08:00
k88936 696d6935b4 moved code 2026-07-14 11:49:33 +08:00
k88936 18381ec283 impl simple display 2026-07-14 10:51:31 +08:00
k88936 21c39ee8db log and doc 2026-07-14 10:51:21 +08:00
k88936 d0451f8226 task list call back
forward call back
2026-07-14 10:36:10 +08:00
k88936 16943476ea mirror backend change 2026-07-14 10:24:10 +08:00
k88936 afe32d0166 fix status mismatch 2026-07-14 10:17:05 +08:00
k88936 abc6e7c800 extend external generate job to get return value 2026-07-13 19:58:12 +08:00
k88936 5c67bc7714 add status field for persistence result in chat doc 2026-07-13 19:57:17 +08:00
k88936 2128bb109c split code 2026-07-13 19:56:39 +08:00
k88936 97a1e1663e remove unused test 2026-07-13 17:16:09 +08:00
k88936 3f215d352a inline 2026-07-13 17:12:16 +08:00
k88936 af6b8021ac clean code 2026-07-13 15:30:41 +08:00
k88936 4e0c0c8cd9 修正外部任务摘要状态读取边界
移除从轻量任务摘要读取主任务结果载荷的错误实现。

画布 Agent 继续轮询摘要状态,并通过画布完成回写刷新工程结果。
2026-07-13 15:01:34 +08:00
k88936 7f6d5722be Merge remote-tracking branch 'origin/master' into editor-agent-refactored
# Conflicts:
#	server-rs/crates/api-server/src/editor_generation_queue.rs
#	src/components/image-editor/ImageCanvasEditorView.test.tsx
#	src/components/image-editor/ImageCanvasEditorView.tsx
2026-07-13 14:31:08 +08:00
k88936 6edb826324 兼容旧版本,新增字段 id 的反序列化逻辑 2026-07-13 14:29:17 +08:00
k88936 6beaab0454 更新编辑器代理消息文档版本为 2 2026-07-13 14:25:19 +08:00
k88936 f774a791e8 画布Agent关联外部生成任务
工具消息改为保存外部任务 ID 与取消事实,不再复制执行状态。

确认请求以稳定身份提交外部任务,并由前端查询任务状态和结果。

同步更新画布 Agent 测试与执行契约文档。
2026-07-13 14:24:24 +08:00
k88936 04654bf760 扩展外部生成任务结果与稳定入队
支持调用方提供任务 ID 和去重键,复用既有外部任务队列。

保存并投影编辑器生成结果,供任务消费者恢复展示。
2026-07-13 14:21:09 +08:00
k88936 4f64e945e3 preset executing status for all in tool calls 2026-07-13 11:30:57 +08:00
k88936 9d28d7f2b9 Merge branch 'master' into editor-agent-refactored
# Conflicts:
#	docs/project-memory/shared-memory/decision-log.md
2026-07-10 20:52:03 +08:00
k88936 83acd0e7c1 log and doc 2026-07-10 20:47:04 +08:00
k88936 88368cd900 prepare info display to user for review 2026-07-10 20:46:27 +08:00
k88936 ffde522b1e 合并画布 Agent 工具计价实现 2026-07-10 20:27:52 +08:00
k88936 c623ffed9c price compute 2026-07-10 20:25:21 +08:00
k88936 7077557d8c update video component to use poster attribute 2026-07-10 19:48:57 +08:00
k88936 c55a90d23e centralize data key query instead of using obj key. 2026-07-10 19:06:39 +08:00
k88936 532b6434bd fix context logic 2026-07-10 18:04:05 +08:00
k88936 5411965762 fix mut borrow 2026-07-10 17:50:10 +08:00
k88936 a3f7332dfe extend media display 2026-07-10 17:35:08 +08:00
k88936 0911c825d4 inject prompt 2026-07-10 17:32:47 +08:00
k88936 e652563c23 impl image gen tools 2026-07-10 17:32:43 +08:00
k88936 5444b5cb39 fix title display mistake 2026-07-10 17:16:04 +08:00
k88936 79b21bc073 adjust toolLabel 2026-07-10 16:25:09 +08:00
k88936 10d7f09cbf impl image gen tool 2026-07-10 16:15:38 +08:00
k88936 e1ae49f114 fix re enter problem 2026-07-10 15:56:41 +08:00
k88936 c077767e0d include attachments 2026-07-10 15:38:52 +08:00
k88936 2b7f4ffe19 fix terminate cond 2026-07-10 15:07:32 +08:00
k88936 337d358ede move context to tool own. fix memory not update. 2026-07-10 14:21:58 +08:00
k88936 e5eee1dd4e impl confirm cancel flow 2026-07-10 11:51:13 +08:00
k88936 74361af6bd replace onEditorAgentGenerationResult with onEditorAgentCanvasRefreshRequested and update related logic 2026-07-10 11:42:41 +08:00
k88936 365ada84e3 remove SSE-based implementation for editor agent 2026-07-10 11:42:36 +08:00
k88936 084214e2ed provide thumbnail for audio and adjust style 2026-07-10 11:42:12 +08:00
k88936 48f165c16c Refactor: move editor agent hook 2026-07-10 11:40:20 +08:00
k88936 eeaa0f4766 Refactor: reuse existing ResolvedAssetVideo 2026-07-10 11:40:04 +08:00
k88936 5fb7ec03d1 Refactor: split EditorAgent conversation components 2026-07-10 11:39:47 +08:00
k88936 19e6da8ff3 clean code 2026-07-10 11:36:04 +08:00
k88936 d7d888a20d update prompt logic in editor_agent to clarify tool call behavior and user interaction 2026-07-10 10:57:46 +08:00
k88936 2709563c60 clean data structure 2026-07-10 10:45:20 +08:00
k88936 37b4329fee remove old editor_agent.rs 2026-07-10 10:26:08 +08:00
k88936 c2b25e9ca0 confirm / cancel api 2026-07-10 10:25:42 +08:00
k88936 a2babca6a6 migrate the api usage 2026-07-10 09:10:33 +08:00
k88936 db2e8cca8d reimpl the agent 2026-07-10 08:46:58 +08:00
k88936 97d340ad4c change EditorAgentMessage.id type from String to usize 2026-07-10 08:40:51 +08:00
k88936 5499af9ac1 remove llm_chat_agent example and unused dependencies from module-editor-agent 2026-07-10 06:02:18 +08:00
k88936 73d2b07d52 refactor: simplify agent memory handling and improve message flow logic 2026-07-10 05:43:06 +08:00
k88936 36ac392fdc fix return value 2026-07-09 22:16:16 +08:00
k88936 476a555f22 refactor: rename flow enums and improve tool interaction logic 2026-07-09 21:55:23 +08:00
k88936 71a00056bf improve tool call logging and error messaging 2026-07-09 20:02:59 +08:00
k88936 4149d35e2d add "System" role to EditorAgentMessageRole enum 2026-07-09 19:52:14 +08:00
k88936 d3c4b3fe0c refactor: simplify memory trait requirements and remove unused tool hooks 2026-07-09 19:40:36 +08:00
k88936 c3493d5458 refactor: enhance system prompt handling and tool integration in LlmChatAgent 2026-07-09 18:24:33 +08:00
k88936 ae4538a59a refactor editor agent structures 2026-07-09 18:06:40 +08:00
k88936 b1851c0ab8 improve error handling for tools: add classification and handling for recoverable and fatal tool failures 2026-07-09 17:51:16 +08:00
k88936 d0a4581683 continue and retry instead of crash encounter invalid json output 2026-07-09 16:49:50 +08:00
k88936 6d13239c1c tool out put include id 2026-07-09 16:49:25 +08:00
k88936 d639f0207f agent module 2026-07-09 16:43:07 +08:00
k88936 964e7e040a at least it runs 2026-07-09 11:49:28 +08:00