Appearance
使用 GitHub Copilot 作为 OpenClaw 模型提供商,有内置设备登录和 Copilot Proxy 插件两种方式。设备登录(openclaw models auth login-github-copilot)是最简单的选择,不需 VS Code;非交互式部署可通过 openclaw onboard --non-interactive 导入已有 GitHub OAuth Token。注意:设备登录必须运行在交互式终端中,模型可用性取决于你的 GitHub 套餐,且 OpenClaw 会自动从 Copilot API 刷新模型目录。
OpenClaw 配置 GitHub Copilot 模型提供商
GitHub Copilot 是 GitHub 的 AI 编程助手,根据你的账号套餐提供对应模型。OpenClaw 支持两种方式将 Copilot 用作模型提供商。
两种接入方式
内置提供商(github-copilot)
使用本机设备授权登录(Device Flow)获取 GitHub Token,运行时自动换取 Copilot API Token。这是默认且最简单的路径,不需要 VS Code。
执行登录命令
bashopenclaw models auth login-github-copilot终端会提示你访问一个 URL 并输入一次性验证码。保持终端打开直到完成。
设置默认模型
bashopenclaw models set github-copilot/claude-opus-4.7或在配置中:
json5{ agents: { defaults: { model: { primary: "github-copilot/claude-opus-4.7" } }, }, }
Copilot Proxy 插件(copilot-proxy)
使用 Copilot Proxy VS Code 扩展作为本地桥接。OpenClaw 连接代理的 /v1 端点,使用你在那里配置的模型列表。
选择此方式的前提是你已经在 VS Code 中运行 Copilot Proxy 或需要经过它路由。必须启用插件并保持 VS Code 扩展运行。
可选参数
| 参数 | 说明 |
|---|---|
--yes | 跳过确认提示 |
--set-default | 同时应用提供商推荐的默认模型 |
bash
# 跳过确认
openclaw models auth login-github-copilot --yes
# 一步登录并设置默认模型
openclaw models auth login --provider github-copilot --method device --set-default非交互式部署
如果已有 GitHub OAuth 访问 Token,可在无交互设置(openclaw onboard --non-interactive)中导入:
bash
openclaw onboard --non-interactive --accept-risk \
--auth-choice github-copilot \
--github-copilot-token "$COPILOT_GITHUB_TOKEN" \
--skip-channels --skip-health也可省略 --auth-choice:只要传入 --github-copilot-token,OpenClaw 会自动推断使用 GitHub Copilot 提供商。如果省略该参数,按以下顺序回退读取环境变量:COPILOT_GITHUB_TOKEN → GH_TOKEN → GITHUB_TOKEN。使用 --secret-input-mode ref 并设置 COPILOT_GITHUB_TOKEN,可以存储环境变量引用的 tokenRef 而不是明文到 auth-profiles.json。
交互 TTY 要求
设备登录流程需要交互式 TTY。直接在终端运行,不能在非交互脚本或 CI 管道中使用。
模型可用性取决于你的 GitHub 套餐
Copilot 模型可用性依据 GitHub 套餐。如果某个模型被拒绝,尝试其他 ID(例如 github-copilot/gpt-4.1)。
实时模型目录刷新
一旦设备登录或环境变量路径解析出 GitHub Token,OpenClaw 按需从 ${baseUrl}/models(VS Code Copilot 使用的同一端点)刷新模型目录,运行时跟踪每账号权益和准确上下文窗口,无需 OpenClaw 升级即可看到新发布的 Copilot 模型。上下文窗口反映实际模型限制(例如 gpt-5.x 系列 400k,内部 claude-opus-*-1m 变体 1M)。
当发现被禁用、用户没有 GitHub Auth Profile、Token 交换失败或 /models HTTPS 调用出错时,回退到静态捆绑目录。若要完全依赖静态清单(离线/隔离环境),配置:
json5
{
plugins: {
entries: {
"github-copilot": {
config: { discovery: { enabled: false } },
},
},
},
}传输协议选择
Claude 模型 ID 自动使用 Anthropic Messages 传输;GPT、o 系列和 Gemini 模型使用 OpenAI Responses 传输。OpenClaw 根据模型引用自动选择正确传输。
请求兼容性
OpenClaw 在 Copilot 传输上发送 Copilot IDE 样式的请求头,包括内置压缩、工具结果和图像后续轮次。除非已验证 Copilot API 的行为,不会启用提供者级别的 Responses 续传。
环境变量优先级
OpenClaw 按以下优先级解析 Copilot 认证环境变量:
| 优先级 | 变量 | 说明 |
|---|---|---|
| 1 | COPILOT_GITHUB_TOKEN | 最高优先级,Copilot 专属 |
| 2 | GH_TOKEN | GitHub CLI Token(回退) |
| 3 | GITHUB_TOKEN | 标准 GitHub Token(最低) |
同时设置多个变量时,OpenClaw 使用优先级最高的。设备登录流程(openclaw models auth login-github-copilot)存储的 Token 位于授权配置中,优先于所有环境变量。
Token 存储
登录将 GitHub Token 存储在 Auth Profile Store 中,运行时自动换取 Copilot API Token,无需手动管理。
WARNING
设备登录命令需要交互式 TTY。无交互部署时使用非交互式部署方式。
记忆搜索嵌入
GitHub Copilot 也可以作为记忆搜索的嵌入提供商。如果你已有 Copilot 订阅且已登录,OpenClaw 可用它生成嵌入向量,无需单独的 API 密钥。
自动检测
当 memorySearch.provider 设为 "auto"(默认)时,GitHub Copilot 在优先级 15 被尝试——位于本地嵌入之后、OpenAI 等付费提供商之前。如果 GitHub Token 可用,OpenClaw 自动从 Copilot API 发现可用嵌入模型并选择最佳模型。
显式配置
json5
{
agents: {
defaults: {
memorySearch: {
provider: "github-copilot",
// 可选:覆盖自动发现的模型
model: "text-embedding-3-small",
},
},
},
}工作原理
- OpenClaw 解析你的 GitHub Token(环境变量或 Auth Profile)。
- 换取短期 Copilot API Token。
- 查询 Copilot
/models端点发现可用嵌入模型。 - 选择最佳模型(优先选择
text-embedding-3-small)。 - 向 Copilot
/embeddings端点发送嵌入请求。
模型可用性取决于 GitHub 套餐。如果没有可用嵌入模型,OpenClaw 跳过 Copilot 并尝试下一个提供商。
相关资源
常见问题
设备登录一直失败怎么办?
确认你在交互式终端中直接运行 openclaw models auth login-github-copilot,不要在后台或 CI 管道执行。检查网络是否能访问 GitHub 的 OAuth 端点。如果仍失败,使用非交互式方式(需要已有 GitHub OAuth Token)。
怎么在无界面服务器上配置 GitHub Copilot?
使用非交互式部署命令:提前准备好 GitHub OAuth Token 并导出为 COPILOT_GITHUB_TOKEN 环境变量,然后运行 openclaw onboard --non-interactive --accept-risk --skip-channels --skip-health。Token 将通过环境变量导入。
模型返回 404 或拒绝是什么意思?
表示你的 GitHub 套餐不包含该模型。请尝试其他模型 ID,例如 github-copilot/gpt-4.1,或升级你的 GitHub 套餐。OpenClaw 会自动从 Copilot API 刷新可用模型列表,你也可以配置 discovery.enabled: false 使用静态清单。