编码智能体

GitHub Copilot CLI 接入指南

用 GitHub Copilot CLI 的自带密钥(BYOK)环境变量把它接入 RealRelay.ai:安装、设置提供商、检查连接并选择模型。

协议
OpenAI Chat Completions · Anthropic Messages
基础地址
https://www.realrelay.ai/v1
官方文档
docs.github.com
已对照工具官方文档核对
2026-10

概览

GitHub Copilot CLI 是 GitHub 推出的终端编码智能体。它会读取你的代码仓库、编辑文件,并在你批准后运行命令。启用自带密钥(BYOK)后,它会把请求发给你指定的提供商。它默认的提供商类型使用 OpenAI Chat Completions 协议,因此接入的是 RealRelay.ai 的 /v1/chat/completions 端点。对于 Claude 模型,你也可以改用 Anthropic 类型和 /v1/messages。

  • 一个从控制台的 API 密钥页面获取的 API 密钥。

  • openai 类型使用带 /v1 的基础地址;anthropic 类型使用不带 /v1 的站点地址。

  • 一个与 GET /v1/models 列出的完全一致的模型 ID,例如 z-ai/glm-5.2。

Copilot CLI 要求模型支持工具调用和流式输出,GitHub 建议上下文窗口至少 128K token。GitHub 的安装指南还把有效的 Copilot 订阅列为使用该 CLI 的前提条件。

安装

任选一种 GitHub 提供的安装方式。npm 包需要 Node.js 22 或更高版本。

npm (Node.js 22+)
npm install -g @github/copilotcopilot --version
Homebrew (macOS · Linux)
brew install --cask copilot-clicopilot --version
Windows PowerShell
winget install GitHub.Copilotcopilot --version
macOS · Linux
curl -fsSL https://gh.io/copilot-install | bashcopilot --version

如果 copilot --version 输出了版本号,说明安装成功。首次启动时,Copilot CLI 可能会要求你运行 /login 登录 GitHub。

配置

Copilot CLI 只从环境变量读取提供商配置,所以请把它们写进你的 shell profile。把 sk-*** 替换成你的密钥。

~/.zshrc · ~/.bashrc
1export COPILOT_PROVIDER_TYPE="openai"2export COPILOT_PROVIDER_BASE_URL="https://www.realrelay.ai/v1"3export COPILOT_PROVIDER_API_KEY="sk-***"4export COPILOT_MODEL="z-ai/glm-5.2"5export COPILOT_PROVIDER_MAX_PROMPT_TOKENS=1280006export COPILOT_PROVIDER_MAX_OUTPUT_TOKENS=32000

启动 Copilot CLI 之前,先运行 source ~/.zshrc,或者新开一个终端。

Windows PowerShell
1[Environment]::SetEnvironmentVariable("COPILOT_PROVIDER_TYPE", "openai", "User")2[Environment]::SetEnvironmentVariable("COPILOT_PROVIDER_BASE_URL", "https://www.realrelay.ai/v1", "User")3[Environment]::SetEnvironmentVariable("COPILOT_PROVIDER_API_KEY", "sk-***", "User")4[Environment]::SetEnvironmentVariable("COPILOT_MODEL", "z-ai/glm-5.2", "User")5[Environment]::SetEnvironmentVariable("COPILOT_PROVIDER_MAX_PROMPT_TOKENS", "128000", "User")6[Environment]::SetEnvironmentVariable("COPILOT_PROVIDER_MAX_OUTPUT_TOKENS", "32000", "User")

这些变量会保存到你的用户账户。启动 Copilot CLI 之前,先关闭并重新打开终端。

~/.zshrc · ~/.bashrc
1export COPILOT_PROVIDER_TYPE="anthropic"2export COPILOT_PROVIDER_BASE_URL="https://www.realrelay.ai"3export COPILOT_PROVIDER_API_KEY="sk-***"4export COPILOT_MODEL="anthropic/claude-sonnet-4-6"5export COPILOT_PROVIDER_MAX_PROMPT_TOKENS=1280006export COPILOT_PROVIDER_MAX_OUTPUT_TOKENS=32000

使用 Claude 模型时,用这一组替代第一组;RealRelay.ai 在 /v1/messages 上原生提供 Claude 模型。

  • COPILOT_PROVIDER_TYPE 默认为 openai;这里显式写出来,是为了切换到 anthropic 时只需改一行。

  • 除非每次都传 --model,否则必须设置 COPILOT_MODEL。

  • Copilot CLI 按知名模型名查找模型的限制,而 RealRelay.ai 的 ID 不属于这些知名名称。COPILOT_PROVIDER_MAX_PROMPT_TOKENS 和 COPILOT_PROVIDER_MAX_OUTPUT_TOKENS 告诉它最多发送多少、最多请求输出多少。示例值对这里提到的模型是安全的;你可以把它们调高到模型目录页上的限制。

  • 不要提交包含密钥的 profile 或 .env 文件。

验证

  1. 1

    直接调用端点

    用你的密钥运行这条命令。如果返回的 JSON 包含 choices 数组,说明地址、密钥和模型都没问题。

    Terminal
    1curl -sS "https://www.realrelay.ai/v1/chat/completions" \2  -H "Authorization: Bearer sk-***" \3  -H "Content-Type: application/json" \4  -d '{"model": "z-ai/glm-5.2", "max_tokens": 16, "messages": [{"role": "user", "content": "Reply with OK"}]}'
  2. 2

    运行一条提示词

    在已设置变量的终端里运行一条提示词。Copilot CLI 会打印回答后退出。

    Terminal
    copilot -p "Reply with OK"
  3. 3

    启动会话

    在项目中启动 copilot,发一条简短消息,然后运行 /usage。token 统计中应列出你的 RealRelay.ai 模型,请求也会出现在控制台的用量日志中。

    GitHub Copilot CLI
    cd /path/to/your/projectcopilot/usage

模型

模型取自 COPILOT_MODEL。只想在某次运行中换用其他模型,就传 --model;想长期更换,就修改该变量并新开一个终端。

Terminal
copilot --model z-ai/glm-5.2

选择支持工具调用、上下文至少 128K token 的模型,并把两个 token 限制设成与之匹配的值。使用 anthropic 类型时,请选用 anthropic/* 模型。参见选择模型。

故障排查

  • 报错称模型不支持工具或流式输出。Copilot CLI 无法使用该模型。请选择支持工具调用的模型。

  • 401 或“Invalid token”。密钥没有传到 CLI。检查启动 copilot 的终端里是否设置了 COPILOT_PROVIDER_API_KEY。

  • 404。基础地址形式与提供商类型不匹配:openai 需要 /v1,anthropic 则不能带。

  • 找不到模型。COPILOT_MODEL 必须与 RealRelay.ai 的 ID 完全一致,包括 z-ai/ 这样的前缀。

  • 回复被截断,或长会话中出现上下文报错。token 限制没有设置,或超过了模型允许的值。按模型目录页设置它们。

  • RealRelay.ai 只在 Responses 上提供的模型,例如 openai/gpt-5.3-codex,在 Chat Completions 上会失败。为它切换线路 API:

    ~/.zshrc · ~/.bashrc
    export COPILOT_PROVIDER_WIRE_API="responses"export COPILOT_MODEL="openai/gpt-5.3-codex"
  • 你希望 CLI 只与 RealRelay.ai 通信。GitHub 文档中有一种离线模式,可阻止 CLI 连接 GitHub 的服务器。你的提示词仍然会发往 RealRelay.ai。

    ~/.zshrc · ~/.bashrc
    export COPILOT_OFFLINE=true