提供商

GitHub Copilot

GitHub Copilot 是 GitHub 的 AI 编程助手。它可让你访问 GitHub 账户和套餐所支持的 Copilot 模型。OpenClaw 能以三种不同方式将 Copilot 用作模型提供商或智能体运行时。

在 OpenClaw 中使用 Copilot 的三种方式

内置提供商(github-copilot)

使用原生设备登录流程获取 GitHub 令牌,然后在 OpenClaw 运行时将其交换为 Copilot API 令牌。这是默认且最简单的方式,因为它不需要 VS Code。

  • 运行登录命令

    bash
    openclaw models auth login-github-copilot

    系统会提示你访问一个 URL 并输入一次性代码。在流程完成之前,请保持 终端处于打开状态。

  • 设置默认模型

    bash
    openclaw models set github-copilot/claude-opus-4.7

    或在配置中设置:

    json5
    {  agents: {    defaults: { model: { primary: "github-copilot/claude-opus-4.7" } },  },}
  • Copilot SDK harness 插件(copilot)

    如果你希望由 GitHub 的 Copilot CLI 和 SDK 管理所选 github-copilot/* 模型的底层 Agent loop,请安装外部 @openclaw/copilot 插件。

    bash
    openclaw plugins install @openclaw/copilot

    然后为模型或提供商启用该运行时:

    json5
    {  agents: {    defaults: {      model: "github-copilot/gpt-5.5",      models: {        "github-copilot/gpt-5.5": {          agentRuntime: { id: "copilot" },        },      },    },  },}

    如果你希望这些智能体轮次使用原生 Copilot CLI 会话、由 SDK 管理的线程状态, 以及由 Copilot 管理的压缩,请选择此方式。如果没有显式启用 agentRuntimegithub-copilot/* 模型将继续使用内置提供商。完整的 运行时契约请参阅 Copilot SDK harness

    Copilot Proxy 插件(copilot-proxy)

    使用 Copilot Proxy VS Code 扩展作为本地桥接。OpenClaw 会连接 代理的 /v1 端点(默认为 http://localhost:3000/v1),并使用你配置的 模型列表。

    copilot-proxy 插件随 OpenClaw 提供,且默认启用。使用以下命令配置基础 URL 和模型 ID:

    bash
    openclaw models auth login --provider copilot-proxy --set-default

    GitHub Enterprise(数据驻留)

    如果你的组织使用支持数据驻留的 GitHub Enterprise 租户(例如 your-org.ghe.com 这样的 *.ghe.com 主机),Copilot 将位于租户本地端点, 而不是公共 github.com。OpenClaw 将此作为一等身份验证选项提供,因此你 无需手动编辑 URL。

  • 选择 Enterprise 身份验证选项

    在新手引导或 openclaw models auth 中,选择 GitHub Copilot(Enterprise / 数据驻留)。系统会提示你输入 Enterprise 域名(例如 your-org.ghe.com),然后针对该租户运行设备登录。

    仅输入租户根域名(your-org.ghe.com)。不接受 api.your-org.ghe.comcopilot-api.your-org.ghe.com 等派生服务主机; OpenClaw 会根据租户根域名自动派生这些端点。

    bash
    openclaw models auth login --provider github-copilot --method device-enterprise
  • 将域名持久化到配置

    所选主机会存储在提供商参数中,以便后续令牌刷新和补全请求自动指向该租户:

    json5
    {  models: {    providers: {      "github-copilot": { params: { githubDomain: "your-org.ghe.com" } },    },  },}
  • 设备流程、令牌交换和补全请求会分别解析到 https://your-org.ghe.com/login/device/codehttps://api.your-org.ghe.com/copilot_internal/v2/tokenhttps://copilot-api.your-org.ghe.com。数据驻留令牌带有租户标记且不含代理 提示,因此补全服务的基础 URL 会回退到租户的 Copilot 主机,而不是公共端点。

    可选标志

    命令 标志 说明
    openclaw models auth login-github-copilot --yes 无需提示即可覆盖现有身份验证配置文件
    openclaw models auth login --provider github-copilot --method device --set-default 同时应用提供商推荐的默认模型
    bash
    # 跳过重新登录确认openclaw models auth login-github-copilot --yes # 一次完成登录并设置默认模型openclaw models auth login --provider github-copilot --method device --set-default

    非交互式新手引导

    设备登录流程需要交互式 TTY。对于无头设置,可使用 openclaw onboard --non-interactive 导入现有的 GitHub OAuth 访问令牌:

    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 会推断使用 GitHub Copilot 提供商的身份验证选项。如果省略该标志,新手引导将依次回退到 COPILOT_GITHUB_TOKENGH_TOKENGITHUB_TOKEN。将 COPILOT_GITHUB_TOKEN 设置后使用 --secret-input-mode ref,可以存储由 环境变量支持的 tokenRef,而不是在 auth-profiles.json 中存储明文。

    需要交互式 TTY

    设备登录流程需要交互式 TTY。请直接在终端中运行,不要在非交互式脚本或 CI 流水线中运行。

    模型可用性取决于你的套餐

    Copilot 模型的可用性取决于你的 GitHub 套餐。如果某个模型被拒绝,请尝试 其他 ID(例如 github-copilot/gpt-5.5)。当前模型列表请参阅 GitHub 的 各 Copilot 套餐支持的模型

    从 Copilot API 实时刷新目录

    设备登录(或环境变量)身份验证路径解析出 GitHub 令牌后,OpenClaw 会按需 从 ${baseUrl}/models(VS Code Copilot 使用的同一端点)刷新模型目录, 使运行时无需频繁变更清单,即可跟踪每个账户的使用权限和准确的上下文窗口。 新发布的 Copilot 模型无需升级 OpenClaw 即可显示,并且上下文窗口会反映 各模型的实际限制(例如 gpt-5.x 系列为 400k,内部 claude-opus-*-1m 变体为 1M)。

    当设备发现被禁用、用户没有 GitHub 身份验证配置文件、令牌交换失败或 /models HTTPS 调用出错时,内置静态目录会继续作为可见的回退方案。 若要选择退出并完全依赖静态清单目录(适用于离线或隔离网络场景):

    json5
    {  plugins: {    entries: {      "github-copilot": {        config: { discovery: { enabled: false } },      },    },  },}
    传输协议选择

    Claude 模型 ID 会自动使用 Anthropic Messages 传输协议。Gemini 模型使用 OpenAI Chat Completions 传输协议;GPT 和 o 系列模型继续使用 OpenAI Responses 传输协议。OpenClaw 会根据模型引用选择正确的传输协议。

    请求兼容性

    OpenClaw 会在 Copilot 传输协议上发送 Copilot IDE 风格的请求标头 (VS Code 编辑器/插件版本和 vscode-chat 集成 ID),将工具结果的后续 轮次标记为由智能体发起,并在轮次包含图像输入时设置 Copilot 视觉标头。

    环境变量解析顺序

    OpenClaw 按以下优先级顺序从环境变量解析 Copilot 身份验证信息:

    优先级 变量 备注
    1 COPILOT_GITHUB_TOKEN 优先级最高,Copilot 专用
    2 GH_TOKEN GitHub CLI 令牌(回退)
    3 GITHUB_TOKEN 标准 GitHub 令牌(优先级最低)

    设置多个变量时,OpenClaw 会使用优先级最高的变量。设备登录流程 (openclaw models auth login-github-copilot)会将令牌存储到身份验证 配置文件存储区,并优先于所有环境变量。

    令牌存储

    登录流程会将 GitHub 令牌存储到身份验证配置文件存储区(配置文件 ID 为 github-copilot:github),并在 OpenClaw 运行时将其交换为短期有效的 Copilot API 令牌。你无需手动管理该令牌。

    记忆搜索嵌入

    GitHub Copilot 也可以作为记忆搜索的嵌入提供商。 如果你订阅了 Copilot 并已登录,OpenClaw 无需单独的 API 密钥即可将其用于嵌入。

    配置

    显式设置 memorySearch.provider 以使用 GitHub Copilot 嵌入。如果存在 GitHub 令牌,OpenClaw 会从 Copilot API 发现可用的嵌入模型,并自动选择最佳模型。

    json5
    {  agents: {    defaults: {      memorySearch: {        provider: "github-copilot",        // 可选:覆盖自动发现的模型        model: "text-embedding-3-small",      },    },  },}

    工作原理

    1. OpenClaw 解析你的 GitHub 令牌(来自环境变量或身份验证配置文件)。
    2. 将其交换为短期有效的 Copilot API 令牌。
    3. 查询 Copilot /models 端点以发现可用的嵌入模型。
    4. 选择最佳模型(偏好顺序:text-embedding-3-smalltext-embedding-3-largetext-embedding-ada-002)。
    5. 将嵌入请求发送到 Copilot /embeddings 端点。

    模型可用性取决于你的 GitHub 套餐。如果没有可用的嵌入模型,OpenClaw 会跳过 Copilot 并尝试下一个提供商。

    相关内容

    Was this useful?
    On this page

    On this page