加载中...

new-api 对接 GitHub Copilot 笔记


0x00 前言

书接上文,在《从零开始搭建 AI 环境》中,我们介绍了大模型网关 new-api:

另一个容易被忽略的大模型入口,是 GitHub Copilot。它每月都会给订阅用户或开源贡献者提供一定额度,可以使用 Claude、GPT、Gemini 等大模型。

问题在于,GitHub Copilot 默认只能通过微软生态里的 IDE 或插件使用,例如 VSCode、Visual Studio 等,不能像普通 API 一样直接配置到 OpenCode。

那么,有没有办法让 OpenCode 也能使用 GitHub Copilot 里的模型额度?

0x10 网关代理

其实 GitHub Copilot 之所以不能被 OpenCode 等 Agent 直接调用,本质原因是它没有对外暴露常见的大模型兼容接口:

接口格式 API 端点
OpenAI Compatible /chat/completions
OpenAI Responses /responses
Anthropic /messages

因此解法也很简单:协议转换

GitHub 上有一个开源网关代理 copilot-api,可以把 GitHub Copilot API 转换成 OpenAI Compatible API。这样一来,它就可以作为 new-api 的一个上游渠道,间接接入 OpenCode:

0x11 部署

在《从零开始搭建 AI 环境》中,我们使用 Docker 部署了 new-api。在它的 docker-compose.yml 中,可以看到容器网络配置如下:

networks:
  new-api-network:
    driver: bridge

为了把 copilot-api 配置成 new-api 的渠道,也建议把 copilot-api 放到 Docker 中运行,并且让它和 new-api 处于同一个容器网络。这样 new-api 才能直接访问 copilot-api 提供的代理服务。

本文让 AI 修改了 copilot-api 的启动方式,补充了一个 docker-compose.yml

services:
  copilot-api:
    build:
      context: .
    container_name: copilot-api
    ports:
      - "4141:4141"
    volumes:
      - ./copilot-data:/root/.local/share/copilot-api
    networks:
      - new-api-network
    restart: unless-stopped

networks:
  new-api-network:
    external: true
    name: new-api_new-api-network

这份配置重点看 4 个地方:

  • 服务名:copilot-api
  • 暴露端口:4141
  • 容器网络:与 new-api 共用 new-api-network
  • 存储卷:挂载到 ./copilot-data,用于保存 GitHub 认证 Token

copilot-api 在容器里暴露的服务地址就是 http://copilot-api:4141

0x12 认证

执行 docker-compose up 即可启动 copilot-api

首次启动时,终端会打印类似下面的设备认证提示:

Please enter the code "3543-168F" in https://github.com/login/device

访问 https://github.com/login/device,选择要授权的 GitHub 账号(该账号需要提前开通 GitHub Copilot):

输入终端打印的认证码,例如 3543-168F

最后点击 Authorize 完成授权:


授权成功后,认证 Token 会自动保存到 copilot-data/github_token

回到终端,可以看到当前 Copilot 支持的模型列表

到这里,copilot-api 已经成功对接到你的 GitHub Copilot 了。

0x13 可用模型

这里有一个坑需要说明:由于 Anthropic 对国内 IP 有访问限制,如果 Docker 容器没有走海外代理,Copilot 模型列表里通常看不到 Claude。

代理需要在 Docker Desktop 里配置:依次进入 Settings -> Resources -> Proxies,配置主机代理 Docker Desktop proxy 后,再将 Containers proxy 设置为 Same as host proxy

不过,即使配置了海外代理,也不是所有 Copilot 模型都能稳定转换成 OpenAI Compatible 协议。

实际测试下来,当前可用的模型主要有:

  • claude-sonnet-4.5
  • gemini-2.5-pro
  • gpt-4o
  • gpt-4.1

0x20 对接 new-api

参考《从零开始搭建 AI 环境》中的 new-api 配置方式,先在「模型管理」和「价格设置」里添加同名模型:

随后在「渠道管理」中新建一个自定义的 copilot-api 渠道:

  • 类型:选择 OpenAI(因为接口已经被转换成 OpenAI Compatible API)
  • 名称:填写自己能理解的名称,例如 copilot
  • 密钥:不需要,因此填写任意非空值,例如 dummy
  • API地址:copilot-api 在容器里暴露的服务地址,这里为 http://copilot-api:4141
  • 模型:填写前面测试可用的模型,例如 claude-sonnet-4.5gemini-2.5-progpt-4ogpt-4.1

测试一下,能连通就说明渠道已经打通:

0x30 对接 OpenCode

最后通过 cc-switch 把 copilot 渠道的新模型配置到 OpenCode 即可。

注意:接口协议选择 OpenAI Compatible

保存配置后,重启 OpenCode 即可生效:

0x40 查看用量

GitHub Copilot 的模型额度不是无限的,需要定期关注用量。

可以通过 GitHub Copilot 面板查看:

https://github.com/settings/copilot/features

另外,也可以访问 copilot-api 提供的用量查询页面:

https://visuals-ai.github.io/copilot-api/?endpoint=http://localhost:4141/usage


文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
 本篇
new-api 对接 GitHub Copilot 笔记 new-api 对接 GitHub Copilot 笔记
记录如何通过 copilot-api 将 GitHub Copilot 转换为 OpenAI Compatible 接口,再作为 new-api 渠道接入 OpenCode,从而让 OpenCode 使用 Copilot 订阅中的 Claude、Gemini、GPT 等模型。
2026-05-31
下一篇 
从零开始搭建 AI 环境 从零开始搭建 AI 环境
从 AI 工具链的基本认知出发,梳理 Agent、模型网关、模型切换与 Skill 的演进关系,并从基础依赖开始搭建一套可用、可理解、可继续扩展的本地 AI 环境。
2026-05-05
  目录