
mouxan/copilot 以默认 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-*** \ -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系统执行cocopilot.sh
VScode 插件使用
VSCode可使用vscode.bat和vscode.sh,VSCode中插件更新后需要重新执行脚本,JetBrains则不需要。
Tip: 如果设置了接口前缀,下方域名/ip:端口后面皆需增加接口前缀
shellcurl --location '[***] \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer gho_xxx' \ --data '{ "model": "gpt-4", "messages": [{"role": "user", "content": "鲁迅打周树人"}] }' #或 curl --location '[***] \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer gho_xxx' \ --data '{ "model": "gpt-4", "messages": [{"role": "user", "content": "鲁迅打周树人"}] }'
shellcurl --location '[***] \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer gho_xxx' \ --data '{ "input":"鲁迅打周树人", "model":"text-embedding-ada-002" }' #或 curl --location '[***] \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer gho_xxx' \ --data '{ "input":"鲁迅打周树人", "model":"text-embedding-ada-002" }'
shellcurl --location '[***] #或 curl --location '[***]
client_id="Iv1.b507a08c87ecfe98"为GitHub Copilot Plugin应用的client_id,如果是要获取copilot的ghu
shellcurl --location '[***] \ --header 'Content-Type: application/json' \ --data '{ "client_id": "Iv1.b507a08c87ecfe98", "scope": "read:user" }'
shellcurl --location '[***] \ --header 'Content-Type: application/json' \ --header 'Authorization: token {device_code}' # 或 curl --location '[***] \ --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 '[***] \ --header 'Content-Type: application/json' \ --header 'Authorization: token gho_xxx'
你会发现,其实整这么多模型,真正的只有三个,一个gpt-4,不传或者传其他的都是默认gpt-3.5-turbo,最后一个就是嵌入模型embedding
调用:[***] 获取到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进行验证授权
第二步用户授权后调用:[***] 接口获取到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的接口:[] 获取到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的地址






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务