最近在折腾本地 AI 环境的时候,不少朋友都在反馈一个让人头秃的问题:明明网络通了、模型也拉下来了,结果一跑 vibe 这类操作,终端直接弹出一串英文报错,任务直接挂掉。

报错信息示例:remote compaction v2 expected exactly one compaction output item

终端中出现的 Fatal error 报错信息

特别是用 Codex CLI 配合 CC Switch(不管你是走路由模式还是非路由模式)以及 AxonHub 的组合拳时,去调用 GPT-5.5、GPT-5.4 或者 5.4 mini 这些模型,很容易踩坑。

典型的报错现场

很多小伙伴在配置完一切,满心欢喜准备测试的时候,终端却无情地吐出了这段 Lua 风格的错误信息:

编辑配置文件 yaml 示例

打开配置文件修改 name 参数

Error running remote compact task: Fatal error: remote compaction v2 expected exactly one compaction output item, got 0 from 1 output items

看起来是不是有点懵?

"Remote compact task" 听起来像是远程压缩任务失败,又像是数据处理流程断了。很多人第一反应是去检查模型文件是不是损坏了,或者是不是硬盘空间不够了,甚至怀疑是不是内存溢出了。但实际上,这往往和模型文件本身没多大关系,问题的根源大概率藏在你没注意到的配置细节里。

问题根源分析:别被名字坑了

经过多方排查和实测,这个报错的核心原因通常在于配置文件中的 name 参数与系统期望值冲突

在某些特定的 Codex 环境或者中介层中,如果配置里的 name 直接使用了像 "OpenAI" 这类敏感或默认的标识,后端在进行任务分发和结果回收(也就是那个 remote compaction 过程)时,可能会出现识别错误。它期望收到一个明确的输出结果,结果因为名称冲突导致返回了 0 个有效项,从而触发 Fatal error。

简单来说,就是系统"脸盲"了,不知道该把结果交给谁,直接把任务给掐了。

一行代码解决的实操方案

既然知道病灶在哪,药方就很简单了。你不需要重装环境,也不需要重新下载模型。

请打开你的配置文件,找到定义模型名称或者服务提供商名称的地方(通常是 name 字段),将其中的 "OpenAI" 修改为其他的自定义名称。

例如:

  • 原配置:name: "OpenAI"
  • 修改为:name: "MyGPT" 或者 name: "Custom-AI-Provider"

修改步骤回顾:

  1. 定位 Codex 或 CC Switch 的配置文件(通常是 .yaml, .json.toml 格式)。
  2. 搜索关键字 OpenAI
  3. 将该值替换为一个不包含特殊字符且具有唯一性的字符串。
  4. 保存配置并重启相关的服务(CLI 或 AxonHub)。
  5. 再次运行你的 vibe 命令,大概率就能跑通了。

总结

搞技术遇到报错是常事,尤其是这种涉及到底层中间件交互的 "Fatal error",很容易让人产生自我怀疑。但很多时候,问题并没有那么复杂,可能就只是一个参数命名的小坑。

下次再遇到 remote compaction v2 这类报错,记得先检查一下你的 name 配置,换个马甲,也许问题就迎刃而解了。省钱省时,还能顺便给自己的配置加点个性化标识,何乐而不为?

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭