Skip to content

[Compatibility] 适配 Codex CLI 0.154.0 #24

Description

@kot4ri

预检 / Pre-flight checks

  • 我搜索过现有 issue,确认没有重复
  • 这是 WebUI 与 Codex app-server 协议的兼容需求,不是要求 Codex CLI 新增能力

要解决的问题

Codex CLI 已发布 0.154.0。项目当前锁定 0.153.2,而 0.154.0 的 app-server wire schema 新增了若干必填响应字段;如果只改依赖版本,手写 OpenAPI DTO、前端 SDK 与 MCP 前端类型会继续停留在旧协议。

主要差异包括:

  • Thread.originator
  • GetAccountRateLimitsResponse.ordinaryUsageAllowed
  • RateLimitSnapshot.normalModelSlug
  • McpServerStatus.toolsError
  • account/rateLimits/read 新增可选参数
  • 若干新的 requirements/configuration 类型及 path 类型别名调整

此外,上游从 rust-v0.154.0 起删除了 codex-rs/app-server/README.md,原有 vendored 文档刷新流程需要相应说明。

期望的做法

将依赖和 Docker 默认版本升级至 0.154.0,重新生成并逐项比较 app-server schema;同步手写 DTO、前端 SDK、MCP 类型和 bundled model catalog,并更新 vendored 文档说明。

已完成的候选实现位于:

https://github.com/kot4ri/codex-webui/tree/chore/codex-cli-0.154.0

替代方案

仅升级 npm 依赖能让进程启动,但会留下过期的手写协议镜像,后续字段消费和 OpenAPI 客户端类型不完整,因此不足以作为版本迁移。

涉及区域

  • 对话与线程
  • 集成:MCP
  • 设置与账号
  • 部署:Docker

验证

  • pnpm lint
  • pnpm test:55 个文件、452 项通过
  • cd web && pnpm test:30 个文件、299 项通过
  • 后端与前端生产构建
  • 使用 0.154.0 真实 app-server 验证 initializemodel/listthread/list
  • Docker 镜像中验证 Codex CLI、Bubblewrap、better-sqlite3node-pty

参与意愿

  • 如果方案被接受,我愿意提 PR 实现

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions