跳到主要内容
OpenClaw + GitHub Copilot GPT-5.4 技术修复指南 | 极客日志
JavaScript Node.js AI
OpenClaw + GitHub Copilot GPT-5.4 技术修复指南 综述由AI生成 档记录了在 OpenClaw 中配置 GitHub Copilot GPT-5.4 模型的技术修复方案。主要问题在于模型注册不完整及传输路由错误。解决方案包括更新 openclaw.json 配置文件以指定正确的 API 模式(openai-responses),以及修补运行时 bundle 以注入 IDE 认证头并启用 Responses 传输路由。修复后需重启网关并验证连接稳定性。
女王 发布于 2026/4/5 更新于 2026/5/24 28 浏览OpenClaw + GitHub Copilot GPT-5.4 技术修复指南
概述
本文档记录了如何在 OpenClaw 中使 github-copilot/gpt-5.4 正常工作,当该模型在 OpenCode 中可用但在 OpenClaw 中失败时。
最终解决方案需要:
修改 ~/.openclaw/openclaw.json 配置文件
修补已安装的 OpenClaw 运行时包
这是因为问题不仅涉及模型注册,还涉及 OpenClaw 对 GitHub Copilot Responses API 流量的传输路由问题。
症状
调试过程中可能出现以下错误:
症状 1:模型被拒绝
github-copilot/gpt-5.4 ... not allowed
症状 2:IDE 认证头缺失
HTTP 400 : bad request : missing Editor-Version header for IDE auth
症状 3:不支持的提供者模式
No API provider registered for api : github-copilot
症状 4:端点错误
HTTP 400 : model "gpt-5.4" is not accessible via the /chat/ completions endpoint
症状 5:网关不稳定
gateway disconnected: closed | idle
根本原因分析
存在四个独立的问题。
1. 模型配置与白名单不匹配
OpenClaw 可以看到提供者,但 github-copilot/gpt-5.4 未完全连接到智能体默认使用的活动模型配置路径。
2. 缺少 GitHub Copilot IDE 头
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
missing Editor-Version header for IDE auth
3. GPT-5.4 不是 Chat Completions 模型 gpt-5.4 必须使用 Responses API,而不是 /chat/completions。
{ "api" : "openai-completions" }
{ "api" : "openai-responses" }
4. OpenClaw 传输路由仅处理 openai,未处理 github-copilot 即使将 gpt-5.4 更改为 openai-responses,OpenClaw 仍回退到通用流路径,因为其嵌入式运行器仅为 openai 提供者激活了 Responses 传输。
这导致 OpenClaw 继续向 GitHub Copilot GPT-5.4 发送 /chat/completions 请求。
涉及文件
配置文件 ~/.openclaw/openclaw.json
已安装的 OpenClaw 运行时包 ~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/dist/reply-DhtejUNZ.js
重新应用脚本 ~/.openclaw/workspace/ken-patchs/reapply-openclaw-copilot-gpt54-patches.mjs
步骤 1:修复 OpenClaw 配置 更新 ~/.openclaw/openclaw.json 中的 GitHub Copilot 提供者块。
提供者级别要求 { "baseUrl" : "https://api.individual.githubcopilot.com" , "api" : "openai-completions" }
为什么保持提供者 API 为 openai-completions?
OpenClaw 运行时期望提供者保持在支持的通用适配器路径上
将整个提供者切换到 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" : { } } } } }
步骤 2:修补 OpenClaw 以注入 Copilot IDE 头 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 );
步骤 3:修补 OpenClaw 以正确路由 GitHub Copilot Responses } 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 传输分支
OpenClaw 回退到 streamSimple
streamSimple 击中 /chat/completions
GPT-5.4 拒绝该端点
github-copilot + openai-responses 使用正确的 Responses 传输
GPT-5.4 不再回退到 Chat Completions
步骤 4:验证并重启
验证配置 JSON 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"
重启网关
验证流程
将模型设置为 github-copilot/gpt-5.4
发送简单提示如 hi
确认网关保持连接
确认以下错误未再次出现:
missing 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 更新后重新应用 由于运行时修补会覆盖已安装的 OpenClaw 包,升级或重新安装可能会清除它。
node ~/.openclaw/workspace/ken-patchs/reapply-openclaw-copilot-gpt54-patches.mjs openclaw gateway restart
设计说明
为什么不将整个提供者切换到 api: "github-copilot"? 这看起来很诱人,但 OpenClaw 的运行时路径在此设置中没有兼容的已注册流式提供者,导致运行时/提供者注册失败。
为什么不保持 GPT-5.4 在 openai-completions 上? 因为 GitHub Copilot GPT-5.4 无法通过 /chat/completions 访问。它必须通过 Responses API。
为什么 OpenCode 之前可以工作? OpenCode 已经正确处理了 GitHub Copilot 传输路径,包括所需的 Copilot 头和正确的 API 模式,而 OpenClaw 需要配置和运行时修复。
推荐维护说明
将此指南与重新应用脚本路径一起保存在附近
任何 OpenClaw 升级后,重新运行修补脚本
如果 OpenClaw 更改其包文件名,相应更新脚本路径目标
如果 GitHub Copilot 更改所需的 IDE 头版本,更新运行时修补和重新应用脚本
快速恢复命令 node ~/.openclaw/workspace/ken-patchs/reapply-openclaw-copilot-gpt54-patches.mjs openclaw gateway restart openclaw status
最终状态 配置修复和运行时修补到位后,github-copilot/gpt-5.4 可在 OpenClaw 中工作且网关保持稳定。
相关免费在线工具 RSA密钥对生成器 生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
Mermaid 预览与可视化编辑 基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
随机西班牙地址生成器 随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online
Keycode 信息 查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
Escape 与 Native 编解码 JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
JavaScript / HTML 格式化 使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online