feat/AGC codex的工具调用 持久化处理 #282

Merged
kdletters merged 37 commits from feat/agc-codex-native-tool-call-info into master 2026-09-08 22:04:38 +08:00

37 Commits

Author SHA1 Message Date
kdletters e5fb787e94 Merge branch 'master' into feat/agc-codex-native-tool-call-info
Project CI / Repository checks (pull_request) Successful in 17m27s
Project CI / Backend tests (pull_request) Failing after 16m3s
Project CI / Frontend tests (pull_request) Successful in 16m13s
Project CI / Native shell tests (pull_request) Failing after 15m31s
2026-09-08 22:04:19 +08:00
k88936 4508b6aaca 修正直连鉴权失败对话测试文案
Project CI / Backend tests (pull_request) Successful in 8m0s
Project CI / Repository checks (pull_request) Successful in 2m34s
Project CI / Frontend tests (pull_request) Successful in 3m9s
Project CI / Native shell tests (pull_request) Successful in 21m3s
让 DirectProject 持久化鉴权失败消息与当前用户可见文案一致。
2026-09-08 10:38:06 +08:00
k88936 bfd6bb76cb Merge branch 'master' into feat/agc-codex-native-tool-call-info
Project CI / Repository checks (pull_request) Failing after 1m56s
Project CI / Frontend tests (pull_request) Failing after 1m40s
Project CI / Native shell tests (pull_request) Failing after 5m5s
Project CI / Backend tests (pull_request) Successful in 7m4s
2026-09-07 17:26:49 +08:00
k88936 dee508c9c1 合并模型目录与DirectProject运行时变更
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
合并 AGC 模型目录、LLM 计费与平台会话链路。

保留 DirectProject 原始事件历史持久化、用户消息预写和增量 itemId 语义。

保留安全活动状态、中间进度文本和受控工具边界。
2026-09-07 16:33:40 +08:00
k88936 928fc6ffbc 实现 DirectProject 用户消息预写与回显过滤
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
在 turn/start 前幂等写入 AGC 规范化 user item

过滤 Codex userMessage 与 raw role=user 回显,保留 assistant/tool/partial 落盘

补充用户消息来源隔离回归测试
2026-09-07 15:41:04 +08:00
k88936 ef64d2fa52 明确 DirectProject 用户消息持久化来源
规定 AGC 在 turn/start 前幂等预写规范化 user item

规定 Codex user echo 只做观察与关联,不再追加历史

记录本地 user 写入入口与 Codex echo 过滤入口必须分离
2026-09-07 15:40:21 +08:00
k88936 908541f639 完善 DirectProject 上下文标签过滤
覆盖 Codex 内部与外部上下文包裹格式

保持普通用户文本的完整标签引用可见
2026-09-07 11:35:19 +08:00
k88936 3ef3e40383 传递 DirectProject 回合用户标识
向 turn/start 发送稳定 clientUserMessageId

补充项目模式协议参数回归断言
2026-09-07 11:28:21 +08:00
k88936 330605e682 补充 DirectProject 尾行修复测试
覆盖幂等扫描遇到未完成 JSONL 尾行的追加路径
2026-09-07 11:25:12 +08:00
k88936 06911e6f27 同步 DirectProject 历史恢复约定
记录上下文用户消息过滤与坏线程淘汰规则

明确 clientUserMessageId 不提供回合级 exactly-once
2026-09-07 11:11:48 +08:00
k88936 b6d6476459 修复 DirectProject 历史与线程初始化
尾行损坏时先允许底层 JSONL 追加逻辑修复

历史注入失败时淘汰未完成初始化的 Codex thread

turn/start 传递稳定 clientUserMessageId
2026-09-07 11:05:33 +08:00
k88936 0b0d48d9b4 过滤 DirectProject 上下文用户消息
识别 Codex 环境与上下文标签形式的 user item

补充无 passthrough 元数据的回归测试
2026-09-07 10:51:34 +08:00
k88936 86d74033c0 Merge branch 'master' into feat/agc-codex-native-tool-call-info
Project CI / Repository checks (pull_request) Successful in 3m4s
Project CI / Frontend tests (pull_request) Successful in 4m11s
Project CI / Backend tests (pull_request) Successful in 7m18s
Project CI / Native shell tests (pull_request) Successful in 21m23s
2026-09-05 19:45:18 +08:00
k88936 d1f080478e 修复 DirectProject 对话权限与原生命令门禁
Project CI / Backend tests (pull_request) Failing after 15s
Project CI / Repository checks (pull_request) Failing after 15s
Project CI / Frontend tests (pull_request) Successful in 2m46s
Project CI / Native shell tests (pull_request) Successful in 18m19s
补充 DirectProject 原生对话读写命令的 native-only 白名单

复用项目级 DirectProject 写权限检查,避免连续回合重复读取策略

更新 AppSurface 测试以覆盖 Rust 负责历史持久化的直连语义
2026-09-05 19:25:20 +08:00
k88936 29ab89768c Merge branch 'master' into feat/agc-codex-native-tool-call-info
Project CI / Native shell tests (pull_request) Failing after 31m38s
Project CI / Repository checks (pull_request) Failing after 34m24s
Project CI / Frontend tests (pull_request) Failing after 34m25s
Project CI / Backend tests (pull_request) Successful in 54m13s
2026-09-05 13:42:50 +08:00
k88936 1a08df517f 让 Direct 对话遵守项目写入确认
Project CI / Backend tests (pull_request) Failing after 15s
Project CI / Repository checks (pull_request) Failing after 15s
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Direct 回合启动前检查 conversation.write 策略

确认后复用同一 clientTurnId 重试,拒绝则不启动回合
2026-09-05 13:30:57 +08:00
k88936 38d3789f29 说明 Direct 对话消息持久化边界
标注 messages 仅是乐观界面投影

说明 Direct 历史由 Rust 原始响应负责写入
2026-09-05 13:06:59 +08:00
k88936 1f2e9ed87a 同步 DirectProject 原始历史约定
记录当前不预写用户消息的实现边界

补充缺失 itemId 的回退累积规则
2026-09-05 12:04:03 +08:00
k88936 15a906931b 保留缺少 itemId 的 DirectProject 增量
为协议异常的增量生成稳定回退 item 标识

避免丢失用户可见流文本和异常收尾历史
2026-09-05 11:56:30 +08:00
k88936 9a48503e15 避免 DirectProject 落盘阻塞 Tokio
将原始响应历史写入移到 spawn_blocking

保持事件顺序并避免阻塞异步收集循环
2026-09-05 11:54:53 +08:00
k88936 baba45323a 优化 DirectProject 增量历史累积
仅在 DirectProject 模式记录增量文本

避免其他工作区为每个事件创建无用副本
2026-09-05 11:52:56 +08:00
k88936 462db8f3bf 修复 DirectProject 异常历史收尾
异常收尾时尝试写入全部未完成消息

保留首个落盘错误并避免后续部分历史被丢弃
2026-09-05 11:51:36 +08:00
k88936 61c33cd3c7 修复 DirectProject 首次历史写入
Project CI / Native shell tests (pull_request) Failing after 3m25s
Project CI / Repository checks (pull_request) Failing after 15s
Project CI / Backend tests (pull_request) Failing after 15s
Project CI / Frontend tests (pull_request) Failing after 1m47s
历史文件不存在时跳过幂等反向扫描

保留首条带 id item 的正常追加
2026-09-05 10:56:04 +08:00
k88936 1fdfe4624c 更新 DirectProject 历史过滤约定
记录用户消息只由 Codex 原始 item 产生

记录内部启动上下文不进入项目历史
2026-09-05 10:51:24 +08:00
k88936 ad3d04f51a 清理 DirectProject 原始历史写入
取消 Rust 预写用户消息,改为只保存 Codex 原始回传

过滤技能、权限和环境上下文内部 item

增加内部上下文过滤回归测试
2026-09-05 10:51:06 +08:00
k88936 b0a1ee0de2 优化 DirectProject 历史幂等检查
按文件尾部反向分块查找带 id 的历史 item

避免每次追加都完整读取并扫描历史文件
2026-09-05 10:42:13 +08:00
k88936 7791bd7de0 分离 DirectProject 对话命令
新增 DirectProject 专用读写命令

恢复 legacy 对话命令的单一职责

更新工作台 DirectProject 读取调用
2026-09-05 10:40:28 +08:00
k88936 4731113d43 记录 DirectProject 缺失 itemId 协议告警
保留缺失 itemId 事件的现有丢弃行为并输出诊断日志
2026-09-04 22:03:36 +08:00
k88936 a401b9504a 修正 DirectProject 历史写入错误分类
将本地历史持久化失败映射为 InvalidRequest
2026-09-04 21:54:53 +08:00
k88936 6940cad2d3 登记 DirectProject 原始历史方案文档
在文档入口增加原始 item 持久化与异常恢复方案

同步 DirectProject 专题文档地图
2026-09-04 17:57:52 +08:00
k88936 c52c3aa106 补充 DirectProject 原始历史实现约定
记录线程注入与用户消息写入顺序

明确空 rawResponseItem 错误及浏览器只读边界

补充历史模块职责位置
2026-09-04 17:56:28 +08:00
k88936 2a0a15639c 拆分 DirectProject 历史收尾并停用浏览器写入
DirectProject 历史累计逻辑拆到独立回合模块

浏览器仅显示项目对话,Rust 负责原始 item 持久化

拒绝空 rawResponseItem 并更新测试适配
2026-09-04 17:56:02 +08:00
k88936 b116a5d75c 移除 DirectProject 文本窗口回放
删除旧的文本拼接、预算裁剪和遗漏标记逻辑

DirectProject 仅通过原始 item 注入恢复上下文

保留非 DirectProject 路径的既有会话实现
2026-09-04 17:31:48 +08:00
k88936 ee6c1b7f99 保留 DirectProject 历史测试适配入口
将测试用用户与助手消息写入原始 Responses item

不恢复生产环境旧聊天持久化逻辑
2026-09-04 17:27:29 +08:00
k88936 60f17af905 让项目聊天读取原始 item 历史
DirectProject 聊天命令写入 Responses message item

聊天读取从原始 item 投影 user/assistant 内容

保留 Agent session 旧会话读写路径
2026-09-04 17:20:33 +08:00
k88936 3d44af0a7d 接入 DirectProject 原始历史回放
新增 Codex Responses item JSONL 读写模块并启用 raw 事件

DirectProject 新线程使用 thread/inject_items 恢复历史

异常终态收尾累计 assistant 文本并移除旧文本 replay 写入
2026-09-04 17:17:35 +08:00
k88936 9ce0e89e43 补充 DirectProject Codex 原始历史恢复方案
Project CI / Repository checks (pull_request) Failing after 13s
Project CI / Backend tests (pull_request) Failing after 13s
Project CI / Frontend tests (pull_request) Successful in 3m47s
Project CI / Native shell tests (pull_request) Successful in 17m30s
新增 DirectProject 原始 Responses item 历史格式与异常收尾规则

明确 thread/inject_items 恢复流程及半成品处理边界

不涉及旧格式迁移、DirectHome 或审计账本
2026-09-04 17:02:26 +08:00