
首先,你的账号需要开通 Github Copilot 服务
获取 Github Copilot Plugin Token 的方式目前有以下四种方式:
1. 通过启动本项目的/token页面进行获取(极力推荐)
启动本项目后可访问:[***] 进行访问授权 承诺不会存储您的token,api是使用的github官方api,如果无法请求访问请配置代理
2. 通过 Python 脚本获取,只需要 requests 库(极力推荐)
下载脚本,用python环境进行运行:https://raw.githubusercontent.com/mouxans/copilot-api/main/shells/get_copilot_token.py
3. 通过 Github Copilot CLI 授权获取(推荐)
Linux 平台获取
bash# 如下脚本会自动安装 Github Copilot CLI 并通过授权获取 Github Copilot Plugin Token bash -c "$(curl -fsSL https://raw.githubusercontent.com/mouxans/copilot-api/main/shells/get_copilot_token.sh)"
Windows 平台获取
下载批处理脚本,双击运行即可:https://raw.githubusercontent.com/mouxans/copilot-api/main/shells/get_copilot_token.bat%E3%80%82
可能因为环境不同会导致一些未知的报错等,这个就自行百度或问***自行解决
4. 通过第三方接口授权获取(不推荐)
目前已知的第三方获取平台有:
cocopilot
目前项目还支持第三方cocopilot的公车Token:ccu_xxx
获取ccu_xxx的方式:打开cocopilot,复制页面上的'手动 Token: ccu_xxx',保留自行保存,为服务调用api的key使用
Tips: 目前cocopilot的Token暂时是不上车也是可以免费使用的,但哪天会噶犹未可知,所以可以用这个站点找人开公车一块公用一个官方的Copilot Token是可以的,此处就不过多解释了,懂得都懂,不懂也没办法解释
不建议方式
以公共服务的方式提供接口 多个 Token 在同一个 IP 地址进行请求, 容易被判定为异常行为
同客户端 Web(例如 ***-Next-Web) 以默认 API 以及 API Key 的方式提供公共服务 同一个 Token 请求频率过高, 容易被判定为异常行为
Serverless 类型的提供商进行部署 服务生命周期短, 更换 IP 地址频繁, 容易被判定为异常行为
其他滥用行为或牟利等行为。
⚠️ 非常重要
非常重要:以上不建议的方式,均可能会导致 Github Copilot 被封禁,且封禁后可能无法解封。
非常重要:以上不建议的方式,均可能会导致 Github Copilot 被封禁,且封禁后可能无法解封。
非常重要:以上不建议的方式,均可能会导致 Github Copilot 被封禁,且封禁后可能无法解封。
1.注册Railway
2.点击一键部署:/Custom Domain(绑定自定义自己的域名),然后就可以通过这个域名进行原神启动!
Tips: 如果你不是新用户,五刀用完了,别慌,点击右上角头像进入settings->General->拉到最下面Delete Account,对,这是注销解绑,然后再重新用github登录绑定,然后你会发现,又有五刀了
shelldocker run -d \ --name copilot-chatgpt \ -p 8080:8080 \ -e WORKERS=5 \ mouxan/copilot:latest
shellversion: '3.3' services: copilot-api: container_name: copilot-api image: mouxan/copilot:latest restart: always environment: WORKERS: 5 ports: - 8080:8080
shellHOST=0.0.0.0 #服务监听地址,默认0.0.0.0,建议使用默认 PORT=8080 #服务监听端口号 WORKERS=5 #线程数 API_PREFIX=abc123 #copilot-api的api前缀,不填则直接使用v1,加了后您的api路径为:ip:端口/abc123/v1/chat/completions COPILOT_TOKEN=ghu_xxxxx # 默认的 Github Copilot Token,此项不会影响请求时候传的token,当headers未传时则默认使用环境变量里配置的token作为请求 COPILOT_TOKEN_LIST='['ghu_1xxxx','ghu_2xxx']' # 和COPILOT_TOKEN一样,这个是copilot token的数组,设置了这个COPILOT_TOKEN则无效 TOKEN_PROXY=api.cocopilot.org #copilot获取token的代理地址,默认:api.cocopilot.org IS_USE_TOKEN_PROXY=False #是否完全走copilot的代理地址,即:系统默认是gh开头的token走官方的获取token,ccu_走cocopilot接口,如果打开则完全走 TOKEN_PROXY 代理获取的token,可用某宝第三方token url GITHUBCOPILOT_PROXY=api.githubcopilot.com #请求反代completions和embeddings,默认:api.githubcopilot.com走官方,如国内服务器可使用第三方反代,否则可能无法请求,或者配置PROXY PROXY='' #代理路由地址,如果本地国内无法访问github可配置代理 CLIENT_ID='Iv1.b507a08c87ecfe98' # 这个为github插件应用id,默认为'Iv1.b507a08c87ecfe98',尽量不要去更改,默认为github copilot的插件应用id,改成其他的获取的token可能无法使用copilot,具体自行研究,不建议修改 SLEEP_TIME='0.3' # gpt4模型会出现短暂的卡顿,所以设立sleep进行解决卡顿问题,默认0.3s,设置为0则不sleep TITLE='Copilot API' # 文档TITLE DOCSURL=/docs # Fstapi的docs文档地址,默认/docs REDOCURL='/redoc' # Fastapi的redoc文档地址,默认/redoc GITHUB_USERNAME=xxxx # github的账号,用于自动每小时获取VScode版本号,不设置则可能会限速 GITHUB_PASSWORD=xxx # github的密码,用于自动每小时获取VScode版本号,不设置则可能会限速
默认地址:http://localhost:8080/redoc 和 http://localhost:8080/docs 例如:[] 和 [] 如需修改请更换环境变量的文档地址
启动项目后可访问:http://localhost:8080/token ,例如:[***]
Windows 平台使用
macOS/linux 平台使用
macOS/linux系统执行https://raw.githubusercontent.com/mouxans/copilot-api/main/shells/cocopilot.sh
VScode 插件使用
VSCode可使用https://raw.githubusercontent.com/mouxans/copilot-api/main/shells/vscode.bat%E5%92%8Chttps://raw.githubusercontent.com/mouxans/copilot-api/main/shells/vscode.sh%EF%BC%8CVSCode%E4%B8%AD%E6%8F%92%E4%BB%B6%E6%9B%B4%E6%96%B0%E5%90%8E%E9%9C%80%E8%A6%81%E9%87%8D%E6%96%B0%E6%89%A7%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8CJetBrains%E5%88%99%E4%B8%8D%E9%9C%80%E8%A6%81%E3%80%82
Tip: 如果设置了接口前缀,下方域名/ip:端口后面皆需增加接口前缀
shellcurl --location 'https://copilot-api.up.railway.app/v1/chat/completions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer gho_xxx' \ --data '{ "model": "gpt-4", "messages": [{"role": "user", "content": "鲁迅打周树人"}] }' #或 curl --location 'https://copilot-api.up.railway.app/chat/completions' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer gho_xxx' \ --data '{ "model": "gpt-4", "messages": [{"role": "user", "content": "鲁迅打周树人"}] }'
shellcurl --location 'https://copilot-api.up.railway.app/v1/embeddings' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer gho_xxx' \ --data '{ "input":"鲁迅打周树人", "model":"text-embedding-ada-002" }' #或 curl --location 'https://copilot-api.up.railway.app/embeddings' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer gho_xxx' \ --data '{ "input":"鲁迅打周树人", "model":"text-embedding-ada-002" }'
shellcurl --location 'https://copilot-api.up.railway.app/v1/models' #或 curl --location 'https://copilot-api.up.railway.app/models'
client_id="Iv1.b507a08c87ecfe98"为GitHub Copilot Plugin应用的client_id,如果是要获取copilot的ghu
shellcurl --location 'https://copilot-api.up.railway.app/login/device/code' \ --header 'Content-Type: application/json' \ --data '{ "client_id": "Iv1.b507a08c87ecfe98", "scope": "read:user" }'
shellcurl --location 'https://copilot-api.up.railway.app/login/oauth/access_token' \ --header 'Content-Type: application/json' \ --header 'Authorization: token {device_code}' # 或 curl --location 'https://copilot-api.up.railway.app/login/oauth/access_token' \ --header 'Content-Type: application/json' \ --data '{ "client_id": "Iv1.b507a08c87ecfe98", "device_code": device_code, "grant_type": "urn:ietf:params:oauth:grant-type:device_code" }'
shellcurl --location 'https://copilot-api.up.railway.app/copilot_internal/v2/token' \ --header 'Content-Type: application/json' \ --header 'Authorization: token gho_xxx'
你会发现,其实整这么多模型,真正的只有三个,一个gpt-4,不传或者传其他的都是默认gpt-3.5-turbo,最后一个就是嵌入模型embedding
调用:https://github.com/login/device/code 获取到copilot的设备流验证地址和Code(传copilot插件的client_id:Iv1.b507a08c87ecfe98,如果不对或者更换了请在github进行获取:github.com->Settings->Applications->Authorized Github Apps->GitHub Copilot Plugin 然后查看网址url后面的Iv1.xxx的就是copilot插件的client_id)
用户用第一步获取的授权链接和CODE进行验证授权
第二步用户授权后调用:https://github.com/login/oauth/access_token 接口获取到copilot的插件token:ghu_xxx(传copilot的插件client_id和device_grant_type:urn:ietf:params:oauth:grant-type:device_code,和第一步接口获取的device_code)
获取到ghu_Xxx(这个token目前好像是长期的,具体能用多久就不清楚)后,调用copilot内部获取token的接口:https://api.github.com/copilot_internal/v2/token 获取到copilot内部接口请求鉴权token,这个token有效期为25分钟,接口有返回到期时间和刷新时间,这一步如果用的是第三方某宝购买的或者秦始皇的公车Token时,这个接口地址需进行更换他的对方的内部token url鉴权地址,比如秦始皇的是:[***] ,某宝购买的地址怎么趴呢,我在下面单独讲解吧
第四步完成后就可以调用copilot的chat或者embeddings接口了:[] 和 [] ,请求方式同openai的接口相差无几,具体请看文档:openai文档
Tips:好了,来讲解下某宝购买的远程授权脚本的token和token url怎么获取呢:
首先,你得先用他的脚本进行授权完跑一边,除非你会***他打包的脚本这个就可以忽视
在你windows电脑文件夹路径中:C:\Users\你的win用户名\AppData\Local\github-copilot,找到hosts.json,里面就有oauth_token就是类似与ghu_Xxx的token,只不过相当于走了他的服务器进行中转分发转发的token,copilot_token_url就是他的token url服务器地址,用于转换获取copilot内部鉴权token的地址






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务