Skip to content

[ChatGPT Web 4/8] OpenCode Chat 多轮与真实工具 #571

Description

@NOirBRight

Parent

#567

What to build

OpenCode 通过 Gateway 的 Chat Completions 路径使用网页模型,在保留用户配置的前提下完成真实多轮和工具任务,并建立后续非 Codex 客户端可复用的会话绑定规则。

本任务属于用户批准的同一首版:自动管理独立运行组件、单 ChatGPT 账号、Codex CLI/Desktop + Claude Code + OpenCode、完整 Codex V2 明文生命周期。所有客户端继续通过现有 Gateway。

Acceptance criteria

  • 采集并脱敏固定真实 OpenCode 版本的请求约定,明确 session、turn、客户端作用域及请求重放/工具续传的身份来源。
  • Web 特有身份适配集中在独立模块;不按提示词、HTTP 连接或无作用域 call_id 猜测会话。无可靠身份时采用明确隔离或拒绝策略。
  • 通过现有 Provider Injection/Client Projection 接入,保留其他 Provider、模型选择与用户配置。
  • 真实 OpenCode 使用 Chat Completions 路径完成至少两轮文本、流式工具参数、实际工具执行和最终答复。
  • OpenCode 的工具和权限继续由其自身负责;Gateway 不伪造 Codex 环境权限或 Collaboration 调度器。
  • 并行同文会话、工具续传、重试、取消、错误终止均不串线、不重复执行,并保留正确 call pairing。
  • 提供可供 Messages 路径复用的非 Codex 会话合同和公共测试,记录实际客户端版本及协议选择。

Verification

风险分类:strict。Chat 公共 HTTP/SSE 往返及会话绑定测试;真实 OpenCode 任务、双会话隔离、配置读回、取消和工具错误证据。

按仓库 verification policy 运行受影响的本地完整检查和本任务要求的真实证据;Python 使用仓库 3.13+ launcher。测试公共接口,避免私有 handler seam。记录精确候选 SHA、组件/客户端版本及脱敏结果。

Design constraints and evidence

  • 遵守既有 Route Plan、Provider Injection、Client Projection 和客户端执行归属;不换选定模型、不新建 Gateway 工具/代理执行器。
  • 复用上游版本起点为 a13cd09950969f43e3b7e25c71fa43efaf5446c5;替换版本需要重新验证合同。
  • 本地 Spike 2924d113(spike/chatgpt-web-v2-clients)证明适配方向,不是本任务的完成证据;真实工具结果当时是模拟的。父规格记录已观察结果和限制。该本地提交未推送。
  • 规划基线 7185c1a1;实施使用独立分支,先协调路由/转换/Provider UI/客户端设置的既有未提交工作,不覆盖或当作已合入。

Blocked by

统一验收与修复记录(2026-09-28)

修复源码 48df8345;修复与复验报告 · 59项矩阵 · 原始审计。

保持开放:三个已复现缺陷已经修复,完整功能验收仍未完成。

条目 验收状态 依据与缺口
571.1 部分已验证 本轮捕获真实 OpenCode 1.18.32 的 X-Session-Id,适配器可以解析;完整 turn/replay/续传合同未齐。
571.2 部分已验证 显式 session 绑定和缺失身份拒绝有实现及测试;完整客户端作用域待真实并发验收。
571.3 部分已验证 Provider Injection/Client Projection 有实现;真实客户端配置读回与切回旧模型未齐。
571.4 尚未验证 只有真实客户端请求格式捕获;没有真实 OpenCode 网页两轮+工具最终答复。
571.5 已验证 Gateway 源码只转发声明/回执,不执行 OpenCode 工具,也不为其新增 Codex 调度器。
571.6 部分已验证 HTTP/SSE 合成隔离、回执、重放和错误测试存在;真实并发/取消未齐。
571.7 部分已验证 共享非 Codex 模块和公开合同测试存在;真实 OpenCode 与 Claude 标头均已识别,完整真实工具验收仍未齐。

原始F1/F2/F3复现保留为历史证据;修复状态以复验报告为准。合同测试、真实请求采集、真实模型调用和完整发行验收分别记录。

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

ready-for-agentFully specified, ready for an AFK agent

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions