资讯动态

openclaw-cn 接入 GitHub Copilot:设备登录、令牌兑换与 Copilot Proxy 双方案实战

发布时间:2026/10/15 23:50:20 来源:尧图企业网站定制
人工智能AI Agent即时通讯后端本地部署语音【免费下载链接】openclaw-cn中文社区版OpenClaw同原版保持定期更新已内置钉钉、企业微信、飞书、QQ、微信以及国内网络环境优化。你的专属个人AI助手。支持所有操作系统和平台。项目地址https://gitcode.com/gh_mirrors/op/openclaw-cn点击查看免费下载导读GitHub Copilot 不只是一个编辑器内的代码补全工具它同时也是一个可供第三方应用调用的模型供应商。openclaw-cn中文社区版 OpenClaw内置了github-copilot供应商允许你用自己的 GitHub 账户与 Copilot 订阅直接驱动 Claude、GPT、Gemini、Grok 等模型而无需额外申请 API Key。本文围绕 GitHub Copilot 官方文档 展开完整讲解两条接入路径的配置步骤、CLI 命令、可选参数与配置文件写法并结合仓库源码说明登录流程、令牌兑换与缓存机制的底层实现。读完本文你将能够在 openclaw-cn 中通过设备流程一键登录 Copilot并把github-copilot/gpt-4o这类模型设为默认模型。什么是 GitHub Copilot 供应商GitHub Copilot 是 GitHub 推出的 AI 编程助手其模型访问权限绑定你的 GitHub 账户与订阅计划。openclaw-cn 把 Copilot 视为一个模型供应商你只需要拥有 GitHub 账号和有效的 Copilot 订阅就能获得多个主流模型的访问权。在 openclaw-cn 中使用 Copilot 有两种方式方式供应商 ID是否需要 VS Code适用场景内置供应商github-copilot否默认且最简单使用原生设备登录流程Copilot Proxy 插件copilot-proxy是已在 VS Code 中运行 Copilot Proxy或需要经过代理路由1) 内置 GitHub Copilot 供应商github-copilot这是官方推荐路径。openclaw-cn 通过 GitHub 的**设备授权流程device flow**获取 GitHub token然后在运行时将其兑换为 Copilot API token。整个过程不依赖 VS Code只需要交互式终端。2) Copilot Proxy 插件copilot-proxy对应仓库中的 copilot-proxy 插件。该插件把Copilot ProxyVS Code 扩展当作本地桥接openclaw-cn 连接代理的/v1端点使用你在扩展中配置的模型列表。适合已经运行 Copilot Proxy 的场景但需要启用插件并保持 VS Code 扩展持续运行。CLI 登录设备流程一键接入内置供应商的登录命令位于 models-cli.ts核心命令为openclaw-cn models auth login-github-copilot执行后终端会显示一个授权 URL 和一次性代码例如Visit: https://github.com/login/device Code: ABCD-EFGH你需要访问该 URL、输入代码并完成授权。在完成授权之前请保持终端打开否则设备代码过期后需要重新登录。登录流程的可选参数# 指定认证配置文件 ID默认 github-copilot:github openclaw-cn models auth login-github-copilot --profile-id github-copilot:work # 已有配置文件时跳过覆盖确认直接覆盖 openclaw-cn models auth login-github-copilot --yes参数说明与 github-copilot-auth.ts 中的实现一一对应--profile-id id认证配置文件的 ID默认值为github-copilot:github。适合在同一个 GitHub 账户下区分工作/个人配置或轮换多个订阅账户。--yes布尔开关。当profileId已存在时默认会提示重新运行将覆盖现有凭据加上--yes可跳过确认直接覆盖。设备流程的底层实现从源码可以看到完整的设备授权链路github-copilot-auth.ts发起POST https://github.com/login/device/code请求携带固定的CLIENT_IDIv1.b507a08c87ecfe98与scope: read:user拿到device_code、user_code、verification_uri、expires_in和interval。以interval为轮询间隔持续向https://github.com/login/oauth/access_token发起urn:ietf:params:oauth:grant-type:device_code类型的请求直到拿到access_token。轮询期间需要处理三种典型错误authorization_pending等待授权继续轮询、slow_down请求过快需额外等待、expired_token/access_denied代码过期或被拒绝直接报错退出。拿到 GitHub token 后写入认证配置文件并通过applyAuthProfileConfig把github-copilot供应商配置同步进模型配置最终显示 Done。需要特别注意的是该命令要求交互式终端TTY。源码在函数入口处显式检查了process.stdin.isTTY非 TTY 环境会直接抛出 github-copilot login requires an interactive TTY.。因此在脚本化、后台或 CI 环境中无法直接执行此命令请务必在真实终端中运行。令牌兑换与缓存运行时如何变成 Copilot API Token登录时拿到的是 GitHub token而调用模型需要的是 Copilot API token。openclaw-cn 在运行时完成兑换核心实现在 github-copilot-token.ts兑换接口GET https://api.github.com/copilot_internal/v2/token请求头携带Authorization: Bearer githubToken。缓存机制兑换结果token、expiresAt、updatedAt写入状态目录下的credentials/github-copilot.token.json。再次运行时若缓存仍在有效期源码中保留了 5 分钟的过期安全余量直接复用缓存不再请求网络。动态 Base URLCopilot 返回的 token 是以分号分隔的键值串其中包含proxy-ep...字段。deriveCopilotApiBaseUrlFromToken会把proxy.xxx转换为api.xxx作为 API 地址若无法解析则回退到默认地址https://api.individual.githubcopilot.com。这一点在 github-copilot-token.test.ts 中有对应的单测验证。运行时调用点在 pi-embedded-runner 的 run.ts 与 compact.ts 中每当模型供应商为github-copilot时都会调用resolveCopilotApiToken完成兑换。此外openclaw-cn 还支持通过环境变量直接提供 GitHub token无需走交互式登录。从 resolveImplicitCopilotProvider 的实现看它会依次读取COPILOT_GITHUB_TOKEN、GH_TOKEN、GITHUB_TOKEN若这些环境变量为空则回退到认证配置中的首个github-copilotprofile。设置默认模型登录完成后把 Copilot 的某个模型设为默认模型openclaw-cn models set github-copilot/gpt-4o对应配置文件示例JSON5{ agents: { defaults: { model: { primary: github-copilot/gpt-4o } } } }配置路径的含义github-copilot是供应商 IDgpt-4o是模型 ID。除了gpt-4o还可以尝试其他 ID例如github-copilot/gpt-4.1、github-copilot/claude-sonnet-4.5等。内置模型清单openclaw-cn 在 github-copilot-models.ts 中维护了一份完整的 Copilot 可用模型清单该清单独立于上游 pi-ai 内置列表避免上游更新滞后。从源码看内置模型按厂商分为四组Anthropic Claudeclaude-haiku-4.5、claude-opus-4.5、claude-opus-4.6上下文窗口 200K、claude-sonnet-4、claude-sonnet-4.5Google Geminigemini-2.5-pro、gemini-3-flash-preview、gemini-3-pro-previewOpenAI GPTgpt-4.1、gpt-4o、gpt-5、gpt-5-mini、gpt-5.1、gpt-5.1-codex、gpt-5.1-codex-max、gpt-5.1-codex-mini、gpt-5.2、gpt-5.2-codexxAIgrok-code-fast-1这些模型定义统一使用openai-completions或openai-responses针对 GPT-5 系列API 协议、成本记为零、支持文本与图片输入。另外buildCopilotModelDefinition提供了兜底逻辑当请求的模型 ID 不在清单中时会按通用参数128K 上下文、16K 最大输出自动生成一个临时定义因此配置中出现较新的模型 ID 也不会直接失败。方案二Copilot Proxy 插件如果你选择 Copilot Proxy 方案仓库中提供了现成的 copilot-proxy 插件。启用插件内置插件默认处于禁用状态需要先启用openclaw-cn plugins enable copilot-proxy启用后需要重启 Gateway 才能生效。认证配置openclaw-cn models auth login --provider copilot-proxy --set-default认证时插件会通过交互式向导询问两个问题实现见 index.tsCopilot Proxy base URL代理服务地址默认http://localhost:3000/v1。注意该地址必须包含/v1后缀插件会自动为未以/v1结尾的地址补全。Model IDs逗号分隔要暴露给 openclaw-cn 的模型列表默认包含gpt-5.2、gpt-5.1、claude-opus-4.5、claude-sonnet-4.5、gemini-3-pro、grok-code-fast-1等主流模型。配置完成后插件会写入copilot-proxy:local认证 profile并把供应商配置baseUrl、apiKey: n/a、authHeader: false、模型定义列表以及默认模型写入模型配置。由于本地代理不做鉴权apiKey固定为占位值且关闭了authHeader请求头注入。使用前提Copilot Proxy VS Code 扩展必须处于运行状态否则/v1/chat/completions端点不可达可用模型取决于你的 Copilot 订阅计划若某模型被拒绝可编辑配置中models.providers.copilot-proxy下的模型列表该方案与内置供应商相比多了一层本地代理适合需要复用 VS Code 内已有会话的场景。使用注意事项必须使用交互式终端设备流程登录依赖 TTY请直接在终端执行不要在 IDE 内嵌终端工具或后台进程中运行。模型可用性取决于订阅计划GitHub Copilot 不同订阅如 Copilot Pro、Copilot Business 等开放的模型集合不同。若某模型在运行时被 API 拒绝请换用其他模型 ID例如从gpt-4o换成gpt-4.1或参考上文内置清单逐个尝试。凭据存储与兑换时机登录后 GitHub token 保存在 openclaw-cn 的认证配置中auth-profiles.json运行时才兑换为短期有效的 Copilot API token并缓存到credentials/github-copilot.token.json缓存过期后会自动重新兑换无需重新登录。provider 自动注入只要认证配置中存在github-copilotprofile 或设置了相关环境变量openclaw-cn 在生成models.json时就会自动注入github-copilot供应商见 models-config.ts无需手动编写 provider 定义仅当你在配置中显式定义了该 provider 时显式配置会优先生效。总结openclaw-cn 为 GitHub Copilot 提供了开箱即用的支持内置供应商通过设备流程完成无 VS Code 依赖的登录运行时自动把 GitHub token 兑换为 Copilot API token 并缓存复用Copilot Proxy 插件则为已在使用 VS Code Copilot Proxy 的用户提供桥接方案。两条路径共享同一个模型命名空间github-copilot/model-id配置上只需一条openclaw-cn models set命令即可切换默认模型。相关实现可进一步查阅 github-copilot-auth.ts、github-copilot-token.ts、github-copilot-models.ts 与 copilot-proxy 插件 源码以及 模型供应商概念文档。赞分享人工智能AI Agent即时通讯后端本地部署语音【免费下载链接】openclaw-cn中文社区版OpenClaw同原版保持定期更新已内置钉钉、企业微信、飞书、QQ、微信以及国内网络环境优化。你的专属个人AI助手。支持所有操作系统和平台。项目地址https://gitcode.com/gh_mirrors/op/openclaw-cn点击查看免费下载相关推荐OpenClaw GitHub Copilot 代理运行时插件openclaw/copilot接入指南OpenClaw GitHub Copilot 代理运行时插件openclaw/copilot接入指南 OpenClaw 默认使用内嵌embeddedAI 应用AI Agent交互助手后端即时通讯网关Godot Web 导出指南从浏览器白屏到即点即玩一份就够Godot Web 导出指南从浏览器白屏到即点即玩一份就够 如果你曾经把 Godot 项目导成 HTML5 丢进浏览器点开后却只看到一片白屏那多半不是游文档教程游戏开发Vercel OIDC 令牌兑换全解析深入 exchangeVercelOidcToken 的实现与实战Vercel OIDC 令牌兑换全解析深入 exchangeVercelOidcToken 的实现与实战 exchangeVercelOidcToken 是CLI后端云原生创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑