Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>CodeX pluginNew to Visual Studio Code? Get it now.
CodeX plugin

CodeX plugin

qdusxg4536

|
5 installs
| (0) | Free
修复 CodeX 历史记录并管理 CodeX 服务商。
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

CodeX plugin

这是一个用于 VS Code 的 CodeX 插件,修复部分 Windows 安装中编辑已发送消息失败的问题,并提供 CodeX 服务商管理界面。

CodeX 在创建本地默认会话时,可能会选择 legacy 历史模式。插件会在当前 App Server 支持分页历史时,将这个选择修复为 paginated。持久会话以及不支持分页历史的服务端继续使用 legacy 模式。插件还会让历史请求显式使用所有 provider,确保迁移到 OpenAI 的本地会话在切换到自定义服务商后仍然出现在历史列表中。CodeX app-server 将 modelProviders: [] 解释为所有 provider,而 null 只查询当前 provider。

插件通过 VS Code 扩展 API 找到已安装的 openai.chatgpt 扩展,只修改 CodeX Webview 入口引用的文件,并把原始文件备份到插件存储目录。修复操作可以重复执行,CodeX 更新后也会再次检查。

安装

在每个使用 CodeX 的 VS Code 扩展主机中安装对应的 VSIX 文件:

code --install-extension codex-history-fix-1.6.9.vsix

Windows、Linux、macOS、Remote SSH、容器和 WSL 都需要在安装了 CodeX 的同一个扩展主机中安装本插件。服务商文件和 ccman 进程使用该扩展主机自己的用户环境。例如,远程 Linux 主机需要单独安装 ccman,并使用远程主机上的 ~/.ccman/codex.json。

安装后重新加载一次 VS Code 窗口。插件会在启动时运行,并在新的 CodeX Webview 打开前修复当前 CodeX 文件。

如果以前安装过 codex-tools.codex-history-fix,请先在扩展面板中卸载它,再保留 qdusxg4536.codex-history-fix。两个发行者使用相同的 VS Code 视图 ID,同时安装会导致其中一个扩展激活失败,后续补丁和迁移命令也不会完整生效。

默认目标扩展 ID 是 openai.chatgpt。如果内部版本使用其他 ID,可以在 VS Code 设置中修改 codexHistoryFix.targetExtensionId。将 codexHistoryFix.autoPatch 设为 false 可以关闭启动时自动修复,命令面板中的手动修复命令仍可用。

侧栏界面

点击活动栏中的 CodeX plugin 图标,可以打开历史修复状态和 CodeX 服务商页面。状态页面显示是否修复成功、本次修复数量以及之前已生效的修复数量,也可以通过“修复历史对话”按钮恢复空闲旧会话的分页历史。

CodeX 服务商页面读取本地 ccman 配置,可以列出、添加、编辑、删除和切换服务商。添加和编辑表单只把 API Key 交给本机安装的 ccman,由 ccman 写入本地文件,不会把 API Key 发送给远程服务。当前使用的服务商会始终排在列表第一位。

添加服务商和编辑服务商使用同一个弹窗。顶部的加号用于添加服务商,服务商卡片里的编辑按钮用于修改服务商信息。切换或删除会直接执行,页面会在操作完成后刷新列表。

在插件启动时,插件会向已安装的 CodeX 扩展加入一个很小的主机桥接。切换服务商时,ccman 会更新 ~/.codex/config.toml 和 ~/.codex/auth.json,随后让 CodeX 重建长期运行的 codex app-server 进程。桥接在线程创建、恢复和分叉请求中把 modelProvider 固定为 OpenAI,并注入当前服务商的 API 地址与 OpenAI Key 认证配置。因此继续旧会话和新建会话都会使用当前服务商,同时保持 OpenAI provider 标识不变。切换会中断正在执行的请求;如果 CodeX 在插件修复前已经启动,桥接可能无法加载,此时重新加载一次 VS Code 窗口即可。

服务商页面依赖扩展主机中可用的 ccman。安装命令如下:

npm install -g ccman

远程主机请在远程终端执行。如果 Linux 或 macOS 页面提示找不到 ccman,请确认 VS Code Server 继承了 npm 全局 bin 目录,并且在该环境中执行 command -v ccman 可以找到 ccman。

命令面板还提供 CodeX:切换服务商 和 CodeX:刷新服务进程(无需重载 VS Code)。

从 Explorer 引用文件

在 CodeX 输入框中,可以直接把 VS Code 左侧 Explorer 文件树里的文件或目录拖进输入框。插件会读取 VS Code Explorer 提供的 text/uri-list 或路径文本,并通过 CodeX 已有的文件引用接口生成蓝色、可点击的文件节点,效果与输入 @ 后选择文件相同。操作系统文件管理器拖放仍由 CodeX 原有的附件处理逻辑负责。

旧会话迁移

命令面板提供 CodeX:迁移旧会话到分页历史。该命令调用 CodeX 官方的 migrate-rollouts --apply,会保留会话 ID,跳过正在写入的会话,并报告已迁移、已经是分页模式、跳过和失败的数量。迁移只处理本地 rollout 文件,不会改写持久会话或远程会话。

CodeX plugin 状态页还提供“迁移所有对话到当前 provider”。该操作会把本地会话索引和 rollout 元数据统一改为 OpenAI provider,保留会话 ID 和消息内容;迁移前会确认,并将变更记录备份到扩展全局存储。操作会重启 CodeX,正在生成的请求会中断,仍处于写入状态的会话会跳过。此功能需要扩展主机中有 Python 3(py、python 或 python3)。

1.6.6 修复了 Windows \\?\ 扩展路径导致 rollout 文件和会话索引无法对应的问题。如果之前的迁移报告显示已经迁移很多会话,但历史列表只显示少量记录,安装新版本后再次运行一次“迁移所有对话到当前 provider”即可补齐数据库索引;已经改过的 rollout 文件不会重复改写。

1.6.7 修正了历史请求的 provider 参数:null 只查询当前服务商,空数组才表示所有服务商。升级后重新加载 VS Code,插件会把已经写入的 1.6.6 补丁从 null 自动升级为 [],不需要手动还原 CodeX 文件。

1.6.8 修复了切换服务商后继续旧对话仍使用旧 API 地址的问题。升级后重新加载 VS Code,插件会把旧的 turn/start 路由补丁升级为在线程恢复、创建和分叉请求中应用当前 provider 配置。

1.6.9 支持从 VS Code Explorer 直接拖放文件或目录到 CodeX 输入框,并生成蓝色、可点击的文件引用节点。

开发

本项目使用原生 Node.js,可以在不安装 TypeScript 工具链的服务器上打包。运行语法检查:

npm run check

使用 VS Code 扩展管理器打包:

npx @vscode/vsce package

如果未来 CodeX 文件中的会话类结构发生变化,插件会在 CodeX plugin 输出通道报告版本不支持,并停止修改无关代码。

许可证

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft