跳到主要内容
OpenClaw 集成 GitHub Copilot GPT-5.4 修复指南 | 极客日志
JavaScript Node.js AI
OpenClaw 集成 GitHub Copilot GPT-5.4 修复指南 综述由AI生成 本文解决了 OpenClaw 中 GitHub Copilot GPT-5.4 模型不可用的问题。核心原因在于配置未启用 Responses API 以及缺少 IDE 认证头。修复方案包括修改 openclaw.json 配置文件,将模型 API 设为 openai-responses,并对运行时包进行代码修补以注入必要的 IDE 请求头及调整路由逻辑。操作完成后需重启网关并验证连接稳定性。
心动瞬间 发布于 2026/4/8 更新于 2026/5/24 16 浏览概述
本文记录如何在 OpenClaw 中让 github-copilot/gpt-5.4 模型正常工作。如果该模型在 OpenCode 中可用但在 OpenClaw 中失败,通常是因为配置未完全对接以及运行时路由问题。
最终解决方案需要两步:
修改 ~/.openclaw/openclaw.json 配置文件
对已安装的 OpenClaw 运行包进行运行时补丁
这是因为问题不仅在于模型注册,还涉及 OpenClaw 对 GitHub Copilot Responses API 流量的传输路由处理。
症状表现
调试过程中可能出现以下错误:
症状一:模型被拒绝
github-copilot/gpt-5.4 ... not allowed
症状二:IDE 认证头缺失
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
根本原因分析
主要存在四个独立的问题:
1. 模型配置与白名单不匹配
OpenClaw 虽然能看到提供者,但 github-copilot/gpt-5.4 并未完全接入 Agent 默认使用的活动模型配置路径。
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。
因此,针对 gpt-5.4 使用以下配置是错误的:
{ "api" : "openai-completions" }
{ "api" : "openai-responses" }
4. OpenClaw 传输路由仅支持 openai 即使将 gpt-5.4 改为 openai-responses,OpenClaw 仍可能回退到通用流路径,因为其嵌入式 Runner 仅对 openai 提供者激活了 Responses 传输。
这导致 OpenClaw 继续向 GitHub Copilot GPT-5.4 发送 /chat/completions 请求。
涉及文件
配置文件 ~/.openclaw/openclaw.json
已安装的 OpenClaw 运行时包 ~/.nvm/versions/node/v22.x.x/lib/node_modules/openclaw/dist/reply-*.js
重新应用脚本 ~/.openclaw/workspace/ken-patchs/reapply-openclaw-copilot-gpt54-patches.mjs
步骤一:修复 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 }
Agent 模型注册 { "agents" : { "defaults" : { "models" : { "github-copilot/gpt-5.4" : { } } } } }
步骤二:修补 OpenClaw 以注入 Copilot IDE 头 OpenClaw 需要在发送提供者请求前附加 Copilot IDE 头。
在运行时包中找到合适位置(通常在其它提供者包装器附近),添加如下包装器:
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 );
步骤三:修补 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
步骤四:验证并重启
验证配置 JSON node -e "JSON.parse(require('fs').readFileSync('~/.openclaw/openclaw.json', 'utf8')); console.log('OK')"
验证修补后的包语法 node --check "~/.nvm/versions/node/v22.x.x/lib/node_modules/openclaw/dist/reply-*.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 包,升级或重装可能会覆盖它。
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