GitHub Copilot CLI 把 Copilot 编程 Agent 搬到终端:读代码、改文件、跑命令、查 issue/PR。它是闭源工具(npm 包 @github/copilot,专有许可,不提供源码)。默认模式走 GitHub 自己的模型路由,需要已登录的 GitHub 账号 + 有效 Copilot 订阅(按 premium request 计费)。但它内置官方 BYOK(自带密钥)模式:只要设置 COPILOT_PROVIDER_BASE_URL,请求就直接发往你指定的 OpenAI 兼容端点,官方文档明确此时不需要 GitHub 认证。我们把网关地址填进这个变量即可接入——本页只提供接入方式,不代管客户的 GitHub 账号或订阅。
base_url / OPENAI_BASE_URL / apiBase 之类设置里。OpenAI 线路填 /v1;Anthropic / Gemini 线路填网关根 https://api.shinloo.com。GET /v1/models 可查你的 Key 可用模型)。GET /v1/models 返回为准。省事版 — 一键接入
脚本从 GitHub Copilot CLI 的官方来源安装,把网关配置写进工具自己的配置文件
(写之前先备份原文件),再发一次真请求验证。会提示你粘贴网关 Key(也可用 --key 传入);
--uninstall 只还原它写进去的内容。
curl -fsSL https://api.shinloo.com/agents/copilot-cli/setup | bash
1 · 安装
从 GitHub Copilot CLI 自己的官方来源安装。
npm install -g @github/copilot # 需要 Node.js 20+;也可用官方安装脚本: curl -fsSL https://gh.io/copilot-install | bash;Windows: winget install GitHub.Copilot
2 · 配置 — 指向国内站网关
网关 base URL https://api.shinloo.com/v1;Key 在 控制台创建。
BYOK 是官方机制,只认环境变量(没有对应的配置文件项): 1) 写四个变量(base URL 指向网关的 OpenAI 兼容口,末尾带 /v1): export COPILOT_PROVIDER_BASE_URL="https://api.shinloo.com/v1" export COPILOT_PROVIDER_TYPE="openai" export COPILOT_PROVIDER_API_KEY="YOUR_API_KEY" export COPILOT_MODEL="YOUR_MODEL" 2) 建议把这四行写进 ~/.copilot/ 下的一个 env 文件(chmod 600),再在 ~/.bashrc 里 source 它,省得每次手填。 3) 非交互/脚本里跑必须加 --allow-all-tools(或 export COPILOT_ALLOW_ALL=true),否则会挂起等授权。 4) 动手改之前先备份 ~/.bashrc 与已存在的 env 文件;我们的一键脚本会自动做这件事。
3 · 验证
发一次请求,能返回就说明走的是国内站网关。
copilot -p "reply with OK" --allow-all-tools -s # 预期输出: OK(这一步已经是在走网关的通道;再加 -v 或看 ~/.copilot/logs/ 可看到请求发往 COPILOT_PROVIDER_BASE_URL)
4 · 常见坑
- GitHub Copilot CLI 是闭源工具:npm 包为 @github/copilot,LICENSE.md 是专有许可,没有源码可审。
- 两种用法分清楚:默认模式 = 需要 GitHub 账号 + 有效 Copilot 订阅,模型由 GitHub 路由,按 premium request 扣额度;
BYOK模式 = 官方文档写明「不需要 GitHub 认证」,请求直接打到COPILOT_PROVIDER_BASE_URL。接我们的网关走的是BYOK模式。 - 我们只提供接入方式,不代管、不代办客户的 GitHub 账号与订阅。
BYOK只认环境变量;写进 env 文件后要在新 shell 里 source(或重开终端)才生效,当前会话里也可以手动 export 一次。- 模型名必须是网关真实开通的模型名;
COPILOT_PROVIDER_WIRE_MODEL可单独覆盖实际下发给网关的模型名(COPILOT_PROVIDER_MODEL_ID则用于让 Agent 选对 token 上限等配置)。 - 非交互模式(copilot -p)必须加
--allow-all-tools或COPILOT_ALLOW_ALL=true,否则会等待工具授权而挂住。 - 没有 GitHub 订阅也能用
BYOK模式;若同时配了 GitHub 登录,BYOK变量优先。 - 协议通道:网关的 OpenAI 兼容口
/v1/chat/completions两个站点都支持,BYOK默认就走这里;国际站 https://quantoport.com另外提供/v1/responses,需要时可加 exportCOPILOT_PROVIDER_WIRE_API="responses"(配COPILOT_PROVIDER_TYPE=openai);国内站 https://api.shinloo.com未提供/v1/responses,不要设置该变量。
工具侧步骤的官方来源: docs.github.com/en/copilot/how-tos/set-up/install-copilot-cl docs.github.com/en/copilot/concepts/agents/about-copilot-cli github.com/github/copilot-cli www.npmjs.com/package/@github/copilot