提供商

GitHub Copilot

GitHub Copilot 是 GitHub 的 AI 编码助手。它会根据你的 GitHub 账户和订阅方案提供对 Copilot 模型的访问。OpenClaw 可以通过两种不同方式将 Copilot 用作模型提供商。

在 OpenClaw 中使用 Copilot 的两种方式

内置提供商(github-copilot)

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

  • 运行登录命令

    openclaw models auth login-github-copilot
    

    系统会提示你访问一个 URL 并输入一次性代码。请保持终端打开,直到流程完成。

  • 设置默认模型

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

    或者在配置中设置:

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

    使用 Copilot Proxy VS Code 扩展作为本地桥接。OpenClaw 会连接到该代理的 /v1 端点,并使用你在那里配置的模型列表。

    可选标志

    标志 描述
    --yes 跳过确认提示
    --set-default 同时应用该提供商推荐的默认模型
    # 跳过确认
    openclaw models auth login-github-copilot --yes
    
    # 登录并一步设置默认模型
    openclaw models auth login --provider github-copilot --method device --set-default
    

    非交互式新手引导

    如果你已经拥有用于 Copilot 的 GitHub OAuth 访问令牌,可以在无头设置期间通过 openclaw onboard --non-interactive 导入它:

    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_TOKEN,然后是 GITHUB_TOKEN。将 --secret-input-mode ref 与已设置的 COPILOT_GITHUB_TOKEN 一起使用,可以在 auth-profiles.json 中存储由环境变量支持的 tokenRef,而不是明文。

    需要交互式 TTY

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

    模型可用性取决于你的订阅方案

    Copilot 模型的可用性取决于你的 GitHub 订阅方案。如果某个模型被拒绝,请尝试其他 ID(例如 github-copilot/gpt-4.1)。

    传输方式选择

    Claude 模型 ID 会自动使用 Anthropic Messages 传输。GPT、o-series 和 Gemini 模型则继续使用 OpenAI Responses 传输。OpenClaw 会根据模型 ref 选择正确的传输方式。

    请求兼容性

    OpenClaw 会在 Copilot 传输中发送 Copilot IDE 风格的请求头,包括内置压缩、工具结果以及图像后续轮次。除非该行为已经针对 Copilot API 完成验证,否则它不会为 Copilot 启用提供商级别的 Responses continuation。

    环境变量解析顺序

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

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

    当设置了多个变量时,OpenClaw 会使用优先级最高的那个。设备登录流程(openclaw models auth login-github-copilot)会将其令牌存储在认证配置文件存储中,并且优先于所有环境变量。

    令牌存储

    登录会将 GitHub 令牌存储在认证配置文件存储中,并在 OpenClaw 运行时将其交换为 Copilot API 令牌。你无需手动管理该令牌。

    Memory search 嵌入

    GitHub Copilot 还可以作为 memory search 的嵌入提供商。如果你拥有 Copilot 订阅并且已经登录,OpenClaw 可以在无需单独 API 密钥的情况下将其用于嵌入。

    自动检测

    memorySearch.provider"auto"(默认值)时,GitHub Copilot 会以优先级 15 尝试 —— 排在本地嵌入之后、OpenAI 和其他付费提供商之前。如果存在 GitHub 令牌,OpenClaw 会从 Copilot API 发现可用的嵌入模型,并自动选择最佳模型。

    显式配置

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

    工作原理

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

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

    相关内容