Files
ycode/docs/Responses协议与真实对话验收-2026-10-16.md
T

3.9 KiB
Raw Blame History

Responses 协议与真实对话验收(2026-10-16)

用户选择恢复原有 API 服务后,重新检查发现当前模型已由用户更新为 gpt-6-luna,接口为完整 /v1/responses。旧 YCode 连接测试在它后面追加 /chat/completions;OMP 又固定使用 openai-completions。此前的旧模型连接拒绝属于历史结果,不能作为新配置不可用的依据。

修复

  • src/shared/openai-endpoint.ts 统一区分完整 Responses 地址、完整 Chat Completions 地址和普通 API 根。明确 /responses 选择 Responses,其余根保持 Chat 兼容;用户落盘地址和密钥保持原值。
  • src/main/omp-model.ts 选择真实 OMP openai-responses 适配器,给 SDK 提供 API 根,避免重复拼接。协议及有效根进入配置 fingerprint,活动回合仍使用自己的不可变配置。
  • src/main/models.ts 分协议构造未保存配置连接测试,正确识别 Responses output,包括短 token 预算导致的合法 reasoning/incomplete。错误不回显上游正文或秘密。
  • src/main/gateway/responses.ts 与 Gateway 入口兼容备用内核的 Responses 输入、图像、工具历史、流式文本/reasoning/function-call 及终态。只有合法 completed 终态才交付可执行工具调用;失败、截断和 incomplete 不冒充完成。

协议依据:OpenAI 官方流式响应说明、官方 Responses 流事件定义。这是对用户自定义网关协议的兼容,没有查询或推断该模型的公开供应商可用性,没有迁移用户模型。

验证

  • 最终 npm run build,含两端 typecheck,通过。日志 .tmp/responses-final-build-20261016.log。
  • 模型注册表 focused 回归通过:完整/尾斜线路径、请求 schema、无鉴权、留空保留旧密钥、不写配置、非法结果和 HTTP 错误。
  • 实际 OMP loader 接受 openai-responses,SDK 根为 /v1;.tmp/omp-responses-loader-nz5Pns/report.json。该检查没有调用用户上游。
  • 隔离生产 App → preload/IPC → 实际 OMP → 受控 Responses 上游,28/28;两轮历史、准确路径、认证、禁工具、token 参数、取消及真实 transcript。.tmp/responses-integration-UbxGhB/report.json。
  • 备用 Gateway 30/30,含实际 fallback runTurn 工具执行与回填、文本/推理、非法终态、失败和取消;旧 Chat smoke 通过。.tmp/gateway-responses-7RoDVm/report.json。
  • 修改后的旧 Chat 实际 OMP 能力回归22/22仍通过,覆盖无鉴权、禁工具/图像、token配置及真实回复,.tmp/model-capabilities-PEJKAM/report.json。
  • 实际用户配置连接测试成功。随后经真实生产 DOM 发送两条简短验收消息,真实远程上游两轮均为 done,第二轮正确回忆第一轮验证码。 .tmp/live-responses-acceptance-HP2ruM/report.json;没有使用受控响应替代。这两轮保留在此前专用测试会话 b54d80bd-ff69-4ec8-9bb1-e21b31b2b9a9,没有向 WorkBuddy 发消息。
  • 另从真实 sessions.json 核对最后四条 user/assistant/user/assistant,两个 assistant 均 done、内容匹配、modelId 为当前模型;完成后返回原会话。更新时先检查活动回合及草稿,第一次检查遇到忙状态未关闭窗口,空闲后才更新;未丢弃用户输入。

没有在报告中记录真实端点主机、API Key 或任意上游诊断正文;真实测试只记录状态、长度和预期文本匹配布尔值。

范围限制

本轮证明真实供应商的简单两轮文本对话与保存,不能替代所有模型/工具/图像/复杂 reasoning 的验收。备用 Gateway 现有历史契约未保存 encrypted reasoning 等不透明上下文;对要求这些数据连续回传的供应商仍需扩展。UI 的文字栅格与全状态动效差异仍按持续进度文档跟踪,本次协议修复不构成整个 UI 1:1 通过。