OpenClaw + GitHub Copilot GPT-5.4 技术修复指南
概述
本文档记录了如何在 OpenClaw 中使 github-copilot/gpt-5.4 正常工作,当该模型在 OpenCode 中可用但在 OpenClaw 中失败时。
最终解决方案需要:
- 修改
~/.openclaw/openclaw.json配置文件 - 修补已安装的 OpenClaw 运行时包
档记录了在 OpenClaw 中配置 GitHub Copilot GPT-5.4 模型的技术修复方案。主要问题在于模型注册不完整及传输路由错误。解决方案包括更新 openclaw.json 配置文件以指定正确的 API 模式(openai-responses),以及修补运行时 bundle 以注入 IDE 认证头并启用 Responses 传输路由。修复后需重启网关并验证连接稳定性。
本文档记录了如何在 OpenClaw 中使 github-copilot/gpt-5.4 正常工作,当该模型在 OpenCode 中可用但在 OpenClaw 中失败时。
最终解决方案需要:
~/.openclaw/openclaw.json 配置文件这是因为问题不仅涉及模型注册,还涉及 OpenClaw 对 GitHub Copilot Responses API 流量的传输路由问题。
调试过程中可能出现以下错误:
github-copilot/gpt-5.4 ... not allowed
HTTP 400: bad request: missing Editor-Version header for IDE auth
No API provider registered for api: github-copilot
HTTP 400: model "gpt-5.4" is not accessible via the /chat/completions endpoint
gateway disconnected: closed | idle
存在四个独立的问题。
OpenClaw 可以看到提供者,但 github-copilot/gpt-5.4 未完全连接到智能体默认使用的活动模型配置路径。
GitHub Copilot 需要 IDE 风格的头进行认证。OpenClaw 通过通用的 OpenAI 兼容路径发送请求,因此未包含所需的头。
所需头:
User-Agent: GitHubCopilotChat/0.35.0
Editor-Version: vscode/1.107.0
Editor-Plugin-Version: copilot-chat/0.35.0
Copilot-Integration-Id: vscode-chat
没有这些头,Copilot 返回:
missing Editor-Version header for IDE auth
gpt-5.4 必须使用 Responses API,而不是 /chat/completions。
因此对于 gpt-5.4 以下配置是错误的:
{"api":"openai-completions"}
必须改为:
{"api":"openai-responses"}
openai,未处理 github-copilot即使将 gpt-5.4 更改为 openai-responses,OpenClaw 仍回退到通用流路径,因为其嵌入式运行器仅为 openai 提供者激活了 Responses 传输。
这导致 OpenClaw 继续向 GitHub Copilot GPT-5.4 发送 /chat/completions 请求。
~/.openclaw/openclaw.json
~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/dist/reply-DhtejUNZ.js
~/.openclaw/workspace/ken-patchs/reapply-openclaw-copilot-gpt54-patches.mjs
更新 ~/.openclaw/openclaw.json 中的 GitHub Copilot 提供者块。
使用:
{"baseUrl":"https://api.individual.githubcopilot.com","api":"openai-completions"}
为什么保持提供者 API 为 openai-completions?
github-copilot 会导致运行时/提供者注册失败设置 gpt-5.4 模型条目为:
{"id":"gpt-5.4","name":"GPT-5.4","api":"openai-responses","reasoning":true,"input":["text","image"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":128000,"maxTokens":64000}
确保存在以下内容:
{"agents":{"defaults":{"models":{"github-copilot/gpt-5.4":{}}}}}
OpenClaw 需要在发送提供者请求之前附加 Copilot IDE 头。
在 ~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/dist/reply-DhtejUNZ.js 中,在其他提供者包装器附近添加如下包装器:
const GITHUB_COPILOT_IDE_HEADERS = {
"User-Agent": "GitHubCopilotChat/0.35.0",
"Editor-Version": "vscode/1.107.0",
"Editor-Plugin-Version": "copilot-chat/0.35.0",
"Copilot-Integration-Id": "vscode-chat"
};
function createGitHubCopilotHeadersWrapper(baseStreamFn) {
const underlying = baseStreamFn ?? streamSimple;
return (model, context, options) => {
return underlying(model, context, {
...options,
headers: { ...GITHUB_COPILOT_IDE_HEADERS, ...options?.headers }
});
};
}
然后在提供者包装器逻辑中应用它:
if(provider === "github-copilot") agent.streamFn = createGitHubCopilotHeadersWrapper(agent.streamFn);
找到决定使用哪个流传输的分支。
原始行为:
} else if(params.model.api === "openai-responses" && params.provider === "openai") {
将其替换为:
} else if(params.model.api === "openai-responses" && (params.provider === "openai" || params.provider === "github-copilot")) {
为什么这很重要:
github-copilot 从未进入 Responses 传输分支streamSimplestreamSimple 击中 /chat/completions修补后:
github-copilot + openai-responses 使用正确的 Responses 传输node -e "JSON.parse(require('fs').readFileSync('/home/water/.openclaw/openclaw.json','utf8')); console.log('OK')"
node --check "~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/dist/reply-DhtejUNZ.js"
openclaw gateway restart
github-copilot/gpt-5.4himissing Editor-Version header for IDE auth
model "gpt-5.4" is not accessible via the /chat/completions endpoint
No API provider registered for api: github-copilot
由于运行时修补会覆盖已安装的 OpenClaw 包,升级或重新安装可能会清除它。
使用重新应用脚本:
node ~/.openclaw/workspace/ken-patchs/reapply-openclaw-copilot-gpt54-patches.mjs openclaw gateway restart
api: "github-copilot"?这看起来很诱人,但 OpenClaw 的运行时路径在此设置中没有兼容的已注册流式提供者,导致运行时/提供者注册失败。
openai-completions 上?因为 GitHub Copilot GPT-5.4 无法通过 /chat/completions 访问。它必须通过 Responses API。
OpenCode 已经正确处理了 GitHub Copilot 传输路径,包括所需的 Copilot 头和正确的 API 模式,而 OpenClaw 需要配置和运行时修复。
node ~/.openclaw/workspace/ken-patchs/reapply-openclaw-copilot-gpt54-patches.mjs openclaw gateway restart openclaw status
配置修复和运行时修补到位后,github-copilot/gpt-5.4 可在 OpenClaw 中工作且网关保持稳定。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online