Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

copilot-api-plus

Package Overview
Dependencies
Maintainers
1
Versions
166
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

copilot-api-plus

Turn GitHub Copilot into OpenAI/Anthropic API compatible server. Features: smart model matching, API key auth, and more.

latest
Source
npmnpm
Version
1.7.24
Version published
Weekly downloads
562
-85.08%
Maintainers
1
Weekly downloads
 
Created
Source

Copilot API Plus

npm version license

English | 简体中文

A proxy that converts GitHub Copilot into OpenAI & Anthropic compatible APIs. Works with Claude Code, opencode, and more.

将 GitHub Copilot 转换为 OpenAIAnthropic 兼容 API,支持与 Claude Codeopencode 等工具无缝集成。

📋 目录

✨ 功能特点

功能说明
🤖 双协议兼容同时支持 OpenAI Chat Completions API 和 Anthropic Messages API
💻 Claude Code 集成一键生成 Claude Code 启动命令 (--claude-code)
📊 使用量监控Web 仪表盘实时查看 API 使用情况
🔄 自动认证Token 过期自动刷新,无需手动干预
速率限制内置请求频率控制,避免触发限制
🌐 代理支持支持 HTTP/HTTPS 代理,配置持久化
🐳 Docker 支持提供完整的 Docker 部署方案
🔑 API Key 认证可选的 API Key 鉴权,保护公开部署的服务
👥 多账号管理支持添加多个 GitHub 账号,额度耗尽/限流/封禁时自动切换下一个
🔀 模型路由灵活的模型名映射和每模型并发控制
📱 可视化管理Web 仪表盘支持账号管理、模型管理、运行统计
🛡️ 网络弹性120s 连接超时 + 流中断即时恢复 + 代理隧道保活(30s 心跳,per-account 连接池)
✂️ 上下文透传全量透传上下文至上游 API,由客户端(如 Claude Code)自行管理压缩
🔍 智能模型匹配自动处理模型名格式差异(日期后缀、dash/dot 版本号等)
🧠 Thinking 思维链自动为支持的模型启用深度思考,提升代码质量

🚀 快速开始

安装

# 全局安装
npm install -g copilot-api-plus

# 或使用 npx 直接运行(推荐)
npx copilot-api-plus@latest start

基本用法

# 启动服务器(默认使用 GitHub Copilot)
npx copilot-api-plus@latest start

# 与 Claude Code 配合
npx copilot-api-plus@latest start --claude-code

服务器启动后,默认监听 http://localhost:4141

📖 详细使用指南

1. GitHub Copilot 模式(默认)

使用你的 GitHub Copilot 订阅访问 AI 模型。

前置要求

  • GitHub 账户
  • 有效的 Copilot 订阅(Individual / Business / Enterprise)

启动步骤

npx copilot-api-plus@latest start

首次运行会引导你完成 GitHub OAuth 认证:

  • 终端显示设备码,例如:XXXX-XXXX
  • 打开浏览器访问:https://github.com/login/device
  • 输入设备码,点击授权
  • 返回终端,等待认证完成

认证成功后,Token 会保存到本地,下次启动无需重新认证。

企业/商业账户

# Business 计划
npx copilot-api-plus@latest start --account-type business

# Enterprise 计划  
npx copilot-api-plus@latest start --account-type enterprise

可用模型

模型ID上下文长度
Claude Sonnet 4claude-sonnet-4200K
Claude Sonnet 4.5claude-sonnet-4.5200K
GPT-4.1gpt-4.11M
o4-minio4-mini200K
Gemini 2.5 Progemini-2.5-pro1M

👥 多账号管理

v1.1.0 新增多账号管理功能。当一个账号的额度耗尽、被限流或封禁时,自动无感切换到下一个可用账号。

为什么需要多账号?

  • 额度池化:多个账号的 Copilot 额度叠加使用
  • 高可用:单个账号被限流/封禁时,其他账号自动接管
  • 无感切换:客户端(如 Claude Code)完全无需感知,自动完成故障转移

添加账号

方式一:CLI 命令(推荐)

通过 GitHub Device Code 流程添加,无需手动获取 Token:

# 添加新账号
npx copilot-api-plus@latest add-account

# 指定标签
npx copilot-api-plus@latest add-account --label "工作账号"

# 指定账户类型
npx copilot-api-plus@latest add-account --label "企业账号" --account-type business

运行后会显示一个设备码,在浏览器中打开 https://github.com/login/device 输入设备码完成授权。

方式二:Web 管理面板

启动服务器后,打开 Usage Viewer 页面,切换到「账号管理」标签页:

  • 点击「添加账号」按钮
  • 选择「Device Code 授权」
  • 按提示在浏览器中完成 GitHub 授权
  • 授权成功后账号自动添加

方式三:API 直接添加

如果你已有 GitHub Token,可以通过 API 直接添加:

curl -X POST http://localhost:4141/api/accounts \
  -H "Content-Type: application/json" \
  -d '{"githubToken": "ghp_xxx", "label": "我的账号"}'

管理账号

# 查看所有账号
npx copilot-api-plus@latest list-accounts

# 输出示例:
# ┌───┬──────────┬──────────┬────────┬───────────────────┐
# │ # │ Label    │ Login    │ Status │ Premium Remaining │
# ├───┼──────────┼──────────┼────────┼───────────────────┤
# │ 1 │ 主账号   │ user1    │ active │ 800/1000          │
# │ 2 │ 备用     │ user2    │ active │ 950/1000          │
# └───┴──────────┴──────────┴────────┴───────────────────┘

# 移除账号(按标签或序号)
npx copilot-api-plus@latest remove-account "主账号"
npx copilot-api-plus@latest remove-account 1

账号选择策略

系统按以下优先级自动选择最佳账号:

  • 过滤不可用账号:排除已禁用、已封禁、额度耗尽、冷却中的账号
  • 优先高额度:剩余额度多的账号排前面
  • 轮询均衡:额度相同时,最久未使用的优先(round-robin)

账号状态说明

状态说明自动恢复
active正常可用-
exhausted额度耗尽额度重置后自动恢复
rate_limited被限流60 秒冷却后自动重试
bannedToken 无效/被封需手动处理
error网络/其他错误60 秒冷却后自动重试
disabled用户手动禁用需手动启用

自动迁移

如果你之前使用单账号模式,首次启动 v1.1.0 时,现有账号会自动迁移到多账号管理系统,无需任何操作。

🛡️ 多账号反关联

v1.2.18 新增。多账号模式下自动启用反关联措施,防止 GitHub 将多个账号关联到同一用户。

自动生效(无需配置)

以下措施在多账号模式下全自动运行,用户无需任何操作:

措施说明
设备指纹隔离每个账号自动生成独立的 vscode-machineid(持久化到 accounts.json)和 vscode-sessionid(每次启动重新生成)
连接池隔离每个账号使用独立的 TCP/TLS 连接池,不共享连接
请求时间隔离切换账号时自动添加 1-5 秒随机延迟,同一账号最小请求间隔 1 秒
连接池定期重建约 4 小时自动重建连接池(±25% 随机抖动),模拟客户端重启

高级:Per-account 代理(可选)

如果你有多个代理出口,可以为每个账号配置独立的代理地址,实现出口 IP 隔离——这是最强的反关联手段。

大部分用户只有一个代理,无需配置此项。上面的自动措施已经足够。

配置方法

直接编辑 ~/.local/share/copilot-api-plus/accounts.json,为账号添加 proxy 字段:

[
  {
    "id": "...",
    "label": "账号1",
    "githubToken": "ghu_xxx",
    "proxy": "http://127.0.0.1:7891"   // 走代理出口 A
  },
  {
    "id": "...",
    "label": "账号2",
    "githubToken": "ghu_yyy",
    "proxy": "socks5://127.0.0.1:7892" // 走代理出口 B
  },
  {
    "id": "...",
    "label": "账号3",
    "githubToken": "ghu_zzz"
    // 不配置 = 使用全局代理或直连
  }
]

也可以在添加账号时通过 API 指定:

curl -X POST http://localhost:4141/admin/accounts \
  -H "Content-Type: application/json" \
  -d '{"githubToken": "ghu_xxx", "label": "账号1", "proxy": "http://127.0.0.1:7891"}'

支持 http://https://socks5:// 协议。修改后重启服务生效。

🔀 模型路由

v1.1.0 新增模型名映射和并发控制功能。

模型名映射

将客户端请求的模型名映射到实际发送给 Copilot 的模型名:

# 通过 API 配置映射
curl -X PUT http://localhost:4141/api/models/mapping \
  -H "Content-Type: application/json" \
  -d '{"mapping": {"gpt-4": "claude-sonnet-4", "fast": "gpt-4.1-mini"}}'

也可以在 Web 管理面板的「模型管理」标签页中可视化编辑。

通配符映射

使用 * 作为 key,将所有未匹配的模型名统一路由:

curl -X PUT http://localhost:4141/api/models/mapping \
  -H "Content-Type: application/json" \
  -d '{"mapping": {"*": "claude-sonnet-4"}}'

并发控制

限制每个模型的最大并发请求数,避免单个模型被过载:

# 设置并发限制
curl -X PUT http://localhost:4141/api/models/concurrency \
  -H "Content-Type: application/json" \
  -d '{"concurrency": {"claude-sonnet-4": 5, "default": 10}}'
  • default 是未指定模型的默认并发数
  • 超出限制的请求会排队等待,不会被拒绝

查看当前配置

# 查看映射配置
curl http://localhost:4141/api/models/mapping

# 查看并发配置
curl http://localhost:4141/api/models/concurrency

# 查看可用模型列表
curl http://localhost:4141/api/models/available

映射和并发配置会持久化到 config.json,重启后自动加载。

🌐 代理配置

如果你需要通过代理访问网络,有两种配置方式:

方式一:持久化配置(推荐)

配置一次,永久生效,下次启动自动使用。

# 交互式配置
npx copilot-api-plus@latest proxy --set

# 或直接设置
npx copilot-api-plus@latest proxy --http-proxy http://127.0.0.1:7890

# 同时设置 HTTP 和 HTTPS 代理
npx copilot-api-plus@latest proxy --http-proxy http://127.0.0.1:7890 --https-proxy http://127.0.0.1:7890

代理管理命令

# 查看当前代理配置
npx copilot-api-plus@latest proxy

# 启用代理
npx copilot-api-plus@latest proxy --enable

# 禁用代理(保留设置)
npx copilot-api-plus@latest proxy --disable

# 清除代理配置
npx copilot-api-plus@latest proxy --clear

示例:配置 Clash 代理

# Clash 默认端口 7890
npx copilot-api-plus@latest proxy --http-proxy http://127.0.0.1:7890

# 验证配置
npx copilot-api-plus@latest proxy
# 输出:
# Current proxy configuration:
#   Status: ✅ Enabled
#   HTTP_PROXY: http://127.0.0.1:7890
#   HTTPS_PROXY: http://127.0.0.1:7890

方式二:环境变量(临时)

仅当次启动生效:

# Linux/macOS
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
npx copilot-api-plus@latest start --proxy-env

# Windows PowerShell
$env:HTTP_PROXY = "http://127.0.0.1:7890"
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
npx copilot-api-plus@latest start --proxy-env

# Windows CMD
set HTTP_PROXY=http://127.0.0.1:7890
set HTTPS_PROXY=http://127.0.0.1:7890
npx copilot-api-plus@latest start --proxy-env

代理配置优先级

  • --proxy-env 参数(从环境变量读取)
  • 持久化配置(proxy --set 设置的)
  • 无代理

💻 Claude Code 集成

Claude Code 是 Anthropic 的 AI 编程助手。

自动配置(推荐)

npx copilot-api-plus@latest start --claude-code

运行后:

  • 选择主模型(用于代码生成)
  • 选择快速模型(用于后台任务)
  • 启动命令会自动复制到剪贴板
  • 打开新终端,粘贴并运行命令启动 Claude Code

手动配置

在项目根目录创建 .claude/settings.json

{
  "env": {
    "ANTHROPIC_BASE_URL": "http://localhost:4141",
    "ANTHROPIC_AUTH_TOKEN": "dummy",
    "ANTHROPIC_MODEL": "claude-sonnet-4",
    "ANTHROPIC_SMALL_FAST_MODEL": "gpt-4.1",
    "DISABLE_NON_ESSENTIAL_MODEL_CALLS": "1"
  }
}

然后启动 copilot-api-plus 服务器后,在该项目目录运行 claude 命令。

🔧 opencode 集成

opencode 是一个现代 AI 编程助手。

配置步骤

  • 在项目根目录创建 opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "copilot-api-plus": {
      "api": "openai-compatible",
      "name": "Copilot API Plus",
      "options": {
        "baseURL": "http://127.0.0.1:4141/v1"
      },
      "models": {
        "claude-sonnet-4": {
          "name": "Claude Sonnet 4",
          "id": "claude-sonnet-4",
          "max_tokens": 64000,
          "profile": "coder",
          "limit": { "context": 200000 }
        },
        "gpt-4.1": {
          "name": "GPT-4.1",
          "id": "gpt-4.1",
          "max_tokens": 32768,
          "profile": "coder",
          "limit": { "context": 1047576 }
        }
      }
    }
  }
}
  • 启动 copilot-api-plus:
npx copilot-api-plus@latest start
  • 在同一目录运行 opencode:
npx opencode@latest
  • 选择 copilot-api-plus 作为 provider

快捷方式:使用环境变量

# 设置环境变量
export OPENAI_BASE_URL=http://127.0.0.1:4141/v1
export OPENAI_API_KEY=dummy

# 运行 opencode
npx opencode@latest

🖱️ Cursor IDE 集成

Cursor 是基于 VS Code 的 AI 编辑器。1.x 版本使用 OpenAI Responses API 格式(input 数组 + reasoning 字段),但仍 POST 到 /chat/completions 端点。

copilot-api-plus 会自动检测 Responses 形态的请求体并转发到 Copilot 的 /v1/responses 上游,再把响应翻译回 Chat-Completions 格式 —— 客户端无需任何配置

Cursor 配置步骤

  • 启动 copilot-api-plus:

    npx copilot-api-plus@latest start
    
  • 在 Cursor 的 Settings → Models → API Keys 中:

    • OpenAI Base URLhttp://localhost:4141/v1
    • OpenAI API Key:任意非空字符串(如果没有启用 --api-key,填 dummy 即可)
  • 在模型列表中添加 Copilot 提供的模型名(如 gpt-5-miniclaude-sonnet-4 等),点击 Verify

Cursor 工作原理

  • 检测逻辑:请求体含 input: [] 且不含 messages: [],且 model 是字符串 → 走 Responses 直通路径
  • 同时携带 messagesinput 的请求会优先走 Chat 流水线(不会被劫持)
  • 流式响应通过 SSE 翻译器逐块转回 Chat-Completion chunk,客户端看到的格式完全一致
  • 多账号透明支持:与 Chat 路径共享同一套轮换 / 熔断 / 抖动 / Token 刷新逻辑,故障转移对 Cursor 无感

Cursor 已知限制

  • Responses 直通路径不支持 Chat 专属的 reasoning_effort 自动降级(如 highmedium),因为 /v1/responsesreasoning: { effort } 错误信息格式不同。非账号相关的 400(模型不支持、参数无效等)仍会被正确识别并不计入账号失败。

📡 API 端点

服务器启动后,默认监听 http://localhost:4141

OpenAI 兼容端点

端点方法说明
/v1/chat/completionsPOST聊天补全(支持流式)
/v1/modelsGET模型列表
/v1/embeddingsPOST文本嵌入(仅 Copilot)

Anthropic 兼容端点

端点方法说明
/v1/messagesPOST消息 API(支持流式)
/v1/messages/count_tokensPOSTToken 计数

专用端点

GitHub Copilot 有独立的专用路由:

路由前缀说明
/copilot/v1/*GitHub Copilot 专用

监控端点

端点方法说明
/usageGET使用量统计(仅 Copilot)
/tokenGET当前 Token 信息

调用示例

# OpenAI 格式
curl http://localhost:4141/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

# Anthropic 格式
curl http://localhost:4141/v1/messages \
  -H "Content-Type: application/json" \
  -H "x-api-key: dummy" \
  -d '{
    "model": "claude-sonnet-4",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

⚙️ 命令行参考

命令列表

命令说明
start启动 API 服务器
auth仅执行 GitHub 认证流程
logout清除已保存的凭证
proxy配置代理设置
check-usage查看 Copilot 使用量
debug显示调试信息
add-account通过 Device Code 添加新 GitHub 账号
list-accounts列出所有已配置的账号
remove-account按标签或序号移除账号

start 命令参数

参数别名默认值说明
--port-p4141监听端口
--verbose-vfalse详细日志
--account-type-aindividual账户类型 (individual/business/enterprise)
--claude-code-cfalse生成 Claude Code 启动命令
--rate-limit-r-请求间隔(秒)
--wait-wfalse达到限制时等待而非报错
--manual-false手动审批每个请求
--github-token-g-直接提供 GitHub Token
--show-token-false显示 Token 信息
--proxy-env-false从环境变量读取代理
--api-key--API Key 鉴权(可多次指定)

proxy 命令参数

参数说明
--set交互式配置代理
--enable启用已保存的代理
--disable禁用代理(保留设置)
--clear清除代理配置
--show显示当前配置
--http-proxyHTTP 代理 URL
--https-proxyHTTPS 代理 URL
--no-proxy不走代理的主机列表

logout 命令参数

参数别名说明
--github-g仅清除 GitHub Copilot 凭证
--all-a清除所有凭证

提示:不带参数运行 logout 会显示交互式菜单供选择。

add-account 命令参数

参数别名默认值说明
--label-l-账号标签
--account-type-aindividual账户类型 (individual/business/enterprise)
--verbose-vfalse详细日志

list-accounts 命令参数

参数别名默认值说明
--verbose-vfalse详细日志

remove-account 命令参数

参数别名默认值说明
<id>--账号标签或序号(位置参数)
--label-l-账号标签
--force-ffalse跳过确认提示
--verbose-vfalse详细日志

📡 管理 API

v1.1.0 新增 REST 管理 API,支持通过 HTTP 接口管理账号、模型配置和查看运行统计。所有端点挂载在 /api 前缀下。

账号管理

方法路径说明
GET/api/accounts列出所有账号(Token 脱敏)
POST/api/accounts添加账号(需提供 githubTokenlabel
DELETE/api/accounts/:id按 ID 删除账号
PUT/api/accounts/:id/status启用/禁用账号("active""disabled"
POST/api/accounts/:id/refresh手动刷新指定账号的 Token 和配额
GET/api/accounts/usage聚合所有账号的配额统计

Device Code 授权流程(Web 端用)

方法路径说明
POST/api/accounts/auth/start发起 GitHub Device Code 授权,返回设备码和验证 URL
POST/api/accounts/auth/poll轮询授权状态(需提供 device_code),授权成功后自动添加账号

示例

# 列出所有账号
curl http://localhost:4141/api/accounts

# 添加账号
curl -X POST http://localhost:4141/api/accounts \
  -H "Content-Type: application/json" \
  -d '{"githubToken": "ghp_xxx", "label": "我的账号"}'

# 启用/禁用账号
curl -X PUT http://localhost:4141/api/accounts/<account-id>/status \
  -H "Content-Type: application/json" \
  -d '{"status": "disabled"}'

# 手动刷新账号
curl -X POST http://localhost:4141/api/accounts/<account-id>/refresh

# 查看聚合配额
curl http://localhost:4141/api/accounts/usage

模型管理

方法路径说明
GET/api/models/available列出 Copilot 返回的所有可用模型
GET/api/models/mapping查看当前模型映射配置
PUT/api/models/mapping更新模型映射(需提供 mapping 对象)
GET/api/models/concurrency查看当前并发配置
PUT/api/models/concurrency更新并发配置(需提供 concurrency 对象,值为正整数)

示例

# 查看可用模型
curl http://localhost:4141/api/models/available

# 设置模型映射
curl -X PUT http://localhost:4141/api/models/mapping \
  -H "Content-Type: application/json" \
  -d '{"mapping": {"gpt-4": "claude-sonnet-4", "*": "claude-sonnet-4"}}'

# 设置并发限制
curl -X PUT http://localhost:4141/api/models/concurrency \
  -H "Content-Type: application/json" \
  -d '{"concurrency": {"claude-sonnet-4": 5, "default": 10}}'

运行统计

方法路径说明
GET/api/stats运行时统计(账号数、活跃数、模型并发情况、运行时长)
curl http://localhost:4141/api/stats
# 返回: {"accounts":{"total":2,"active":2},"models":{...},"uptime":3600}

🔑 API Key 认证

如果你将服务暴露到公网,可以启用 API Key 认证来保护接口:

# 单个 Key
npx copilot-api-plus@latest start --api-key my-secret-key

# 多个 Key
npx copilot-api-plus@latest start --api-key key1 --api-key key2

启用后,所有请求需要携带 API Key:

# OpenAI 格式 - 通过 Authorization header
curl http://localhost:4141/v1/chat/completions \
  -H "Authorization: Bearer my-secret-key" \
  -H "Content-Type: application/json" \
  -d '{"model": "claude-sonnet-4", "messages": [{"role": "user", "content": "Hello"}]}'

# Anthropic 格式 - 通过 x-api-key header
curl http://localhost:4141/v1/messages \
  -H "x-api-key: my-secret-key" \
  -H "Content-Type: application/json" \
  -d '{"model": "claude-sonnet-4", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}]}'

在 Claude Code 中使用时,将 ANTHROPIC_AUTH_TOKEN 设为你的 API Key 即可。

🔧 技术细节

上下文管理

代理层不做上下文截断,全量透传消息至上游 API。上下文压缩由客户端负责:

  • Claude Code:通过 /count_tokens 端点获取当前 token 数,接近上限时自动触发 /compact 压缩
  • 其他客户端:如果上游 API 返回 400(token 超限),客户端自行处理重试

智能模型名匹配

Anthropic 格式的模型名(如 claude-opus-4-6)和 Copilot 的模型列表 ID 可能存在格式差异。代理使用多策略精确匹配:

策略示例
精确匹配claude-opus-4-6claude-opus-4-6
去日期后缀claude-opus-4-6-20251101claude-opus-4-6
Dash → Dotclaude-opus-4-5claude-opus-4.5
Dot → Dashclaude-opus-4.5claude-opus-4-5

对于 Anthropic 端点(/v1/messages),还会先通过 translateModelName 做格式转换(包括旧格式 claude-3-5-sonnetclaude-sonnet-4.5 的映射),再通过上述策略匹配。

请求日志

每次 API 请求会输出一行日志,包含模型名、状态码和耗时:

[claude-opus-4-6 thinking] 13:13:39 <-- POST /v1/messages?beta=true
[claude-opus-4-6 thinking] 13:13:59 --> POST /v1/messages?beta=true 200 20.1s

网络弹性

对上游 API 的请求内置了连接超时和代理隧道保活,确保 SSE 流式传输的稳定性:

  • 连接超时:120 秒等待响应头(thinking 模型可能需要 60-120 秒才开始流式输出)
  • 无网络层重试:请求到达 Copilot 即消耗额度,重试会浪费额度。由调用方(如 Claude Code)在应用层决定是否重试
  • 流中断即时恢复:SSE 流中断时立刻销毁连接池,下一个请求使用全新连接,恢复时间从 ~135 秒降至几秒
  • 代理隧道保活:SSE 流传输期间每 30 秒通过对应账号的连接池发送心跳请求,防止代理节点因空闲而杀断 CONNECT 隧道(多账号模式下每个账号独立保活)
  • SSE 流传输中断时,优雅地向客户端发送错误事件

🐳 Docker 部署

快速启动

# 使用预构建镜像
docker run -p 4141:4141 \
  -v ./copilot-data:/root/.local/share/copilot-api-plus \
  ghcr.io/imbuxiangnan-cyber/copilot-api-plus

自行构建

# 构建镜像
docker build -t copilot-api-plus .

# 运行容器
docker run -p 4141:4141 \
  -v ./copilot-data:/root/.local/share/copilot-api-plus \
  copilot-api-plus

Docker Compose

version: "3.8"
services:
  copilot-api-plus:
    build: .
    ports:
      - "4141:4141"
    volumes:
      - ./copilot-data:/root/.local/share/copilot-api-plus
    environment:
      - GH_TOKEN=your_github_token  # 可选
    restart: unless-stopped

使用代理

docker run -p 4141:4141 \
  -e HTTP_PROXY=http://host.docker.internal:7890 \
  -e HTTPS_PROXY=http://host.docker.internal:7890 \
  -v ./copilot-data:/root/.local/share/copilot-api-plus \
  copilot-api-plus start --proxy-env

❓ 常见问题

数据存储位置

所有数据存储在 ~/.local/share/copilot-api-plus/ 目录下:

文件说明
github_tokenGitHub Token
config.json代理、模型映射、并发等配置
accounts.json多账号数据(Token、状态、配额等)

切换账户

# 交互式选择要清除的凭证
npx copilot-api-plus@latest logout

# 仅清除 GitHub Copilot 凭证
npx copilot-api-plus@latest logout --github
# 或简写
npx copilot-api-plus@latest logout -g

# 清除所有凭证
npx copilot-api-plus@latest logout --all

查看使用量

# 命令行查看(仅 Copilot)
npx copilot-api-plus@latest check-usage

启动服务器后,也可以访问 Web 仪表盘:

https://imbuxiangnan-cyber.github.io/copilot-api-plus?endpoint=http://localhost:4141/usage

调试问题

# 显示调试信息
npx copilot-api-plus@latest debug

# JSON 格式输出
npx copilot-api-plus@latest debug --json

# 启用详细日志
npx copilot-api-plus@latest start --verbose

速率限制

避免触发 GitHub 的滥用检测:

# 设置请求间隔 30 秒
npx copilot-api-plus@latest start --rate-limit 30

# 达到限制时等待而非报错
npx copilot-api-plus@latest start --rate-limit 30 --wait

# 手动审批每个请求
npx copilot-api-plus@latest start --manual

⚠️ 免责声明

[!WARNING] 这是 GitHub Copilot API 的逆向工程代理。不受 GitHub 官方支持,可能随时失效。使用风险自负。

[!WARNING] GitHub 安全提示:过度的自动化或脚本化使用 Copilot 可能触发 GitHub 的滥用检测系统,导致 Copilot 访问被暂停。请负责任地使用。

相关政策:

📄 许可证

MIT License

Keywords

proxy

FAQs

Package last updated on 28 May 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts