同步操作将从 Ripper/Copilot后端代理服务 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
借助其他支持 FIM
接口的模型(如DeepSeek)来接管GitHub Copilot插件服务端, 廉价的模型+强大的补全插件相结合, 使得开发者可以更加高效的编写代码。
✨ 免费的公共服务端点: mycopilot.noteo.cn, 感谢 硅基流动 提供免费的模型服务
🚨 破坏性更新提示: v0.1.0
版本更新之后需要做配置调整, 具体参考: 升级指南 部分内容.
🚨 破坏性更新提示: v0.1.6
版本更新对 Embeddings模型
进行了调整, 如果还想继续使用阿里灵石的模型, 请自行借助 One API
之类的中转系统进行接入.
docker-compose
部署, 简单方便OpenAI
接口规范的模型, 和 Ollama
部署的本地模型GitHub Copilot
插件各种API接口全接管, 无需担心插件升级导致服务失效Let's Encrypt
SSL证书 (每 60 天自动更新一次证书, 自动重载 https 服务)在使用之前确保自己的环境是干净的, 也就是说不能使用过其他的激活服务, 可以先检查自己的环境变量将 GITHUB
COPILOT
相关的环境变量删除, 然后将插件更新最新版本后重启IDE即可.
⚠️ 如果你本地有使用科学上网工具, 那必须将域名 copilot.supercopilot.top
系列域名添加直连名单中, 否则无法正常使用!
GitHub Copilot
插件即可.(推荐) 懒人推荐使用此方案, 比较简单
模型API KEY 替换为你的, 然后执行以下命令即可启动服务:
# 启动服务
docker-compose up -d
# 停止服务
docker-compose down
# 更新服务
1. docker-compose pull
2. docker-compose down
3. docker-compose up -d
# 查看日志
docker-compose logs -f
镜像全部上传到阿里云容器镜像服务, 每个版本都有对应的镜像可使用或回滚.
.env
文件, 参考 .env.example 文件配置.GitHub Copilot
插件.docker-compose
或下载可执行文件运行起程序 (如果已有 nginx, 避免 443 端口占用可直接修改其他端口, 后面借助nginx 反向代理实现 https)domain.com
, 那么你需要解析的域名分别是 (特别注意: 域名前缀不可变):domain.com
api.domain.com
copilot-proxy.domain.com
copilot-telemetry-service.domain.com
SSL
证书location ^~ /
{
proxy_pass http://127.0.0.1:1188/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_http_version 1.1;
# proxy_hide_header Upgrade;
add_header X-Cache $upstream_cache_status;
proxy_redirect off;
proxy_buffering off;
proxy_max_temp_file_size 0;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
#Set Nginx Cache
set $static_filer5CIeZff 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_filer5CIeZff 1;
expires 1m;
}
if ( $static_filer5CIeZff = 0 )
{
add_header Cache-Control no-cache;
}
}
详细参考: 环境变量参数说明
GitHub Copilot
"github.copilot.advanced": {
"authProvider": "github-enterprise",
"debug.overrideCAPIUrl": "https://api.copilot.supercopilot.top",
"debug.overrideProxyUrl": "https://copilot-proxy.copilot.supercopilot.top",
"debug.chatOverrideProxyUrl": "https://api.copilot.supercopilot.top/chat/completions",
"debug.overrideFastRewriteEngine": "v1/engines/copilot-centralus-h100",
"debug.overrideFastRewriteUrl": "https://api.copilot.supercopilot.top"
},
"github-enterprise.uri": "https://copilot.supercopilot.top"
设置
> 语言与框架
> GitHub Copilot
> Authentication Provider
copilot.supercopilot.top
17.10.x
以上Github Enterprise
账户支持:工具->环境->账户->勾选 包含 Github Enterprise 服务器账户
Visual Studio 2022
编辑器https://copilot.supercopilot.top
即可。⚠️ 注意, 插件中的相关 domain 已经写死无法修改, 所以必须使用默认的 copilot.supercopilot.top
域名配置.
GitHub Copilot
即可.如果是局域网多台电脑共用一个服务端,只需要更改hosts文件指向到内网服务器 ip 即可, 例如:
在局域网服务器(192.168.80.40)部署了copilot-proxies服务,那么局域网内其他机器仅需要修改host为以下即可,可以工作。 ( @pennbay 提供实测反馈 )
192.168.80.40 copilot.supercopilot.top
192.168.80.40 api.copilot.supercopilot.top
192.168.80.40 copilot-proxy.copilot.supercopilot.top
192.168.80.40 copilot-telemetry-service.copilot.supercopilot.top
v0.1.0
版本之后 ssl 证书调整为从网络上下载同步, 这对于纯内网部署造成了一些困难, 下面我提供一个简单的方案你需要做如下操作:
/cert
目录下.127.0.0.1
:
copilot.supercopilot.top
api.copilot.supercopilot.top
copilot-proxy.copilot.supercopilot.top
copilot-telemetry-service.copilot.supercopilot.top
还有一种方案, 依旧使用 v0.1.0
之前版本的自签证书, 但这会在未来 GitHub Copilot
插件更新后可能无法正常使用.
大部分Chat模型都兼容, 因此下面列出的模型是支持 FIM 的模型, 也就是说支持补全功能.
模型名称 (区分大小写) | 类型 | 接入地址 | 说明 |
---|---|---|---|
Qwen/Qwen2.5-Coder-7B-Instruct | 免费 | 查看地址https://api.siliconflow.cn/v1/completions |
硅基流动官方支持的 FIM 补全模型, 完美适配且免费 |
DeepSeek (API) | 付费 | 查看地址https://api.deepseek.com/beta/v1/completions |
👍🏻完美适配且价格实惠, 推荐使用 |
deepseek-ai/DeepSeek-V2.5 | 付费 | 查看地址https://api.siliconflow.cn/v1/completions |
硅基流动官方支持的 FIM 补全模型, 完美适配 |
deepseek-ai/DeepSeek-Coder-V2-Instruct | 付费 | 查看地址https://api.siliconflow.cn/v1/completions |
硅基流动官方支持的 FIM 补全模型, 完美适配 |
codestral-latest (API) | 免费 / 付费 | 查看地址https://api.mistral.ai/v1/fim/completions |
Mistral 出品, 免费计划有非常严重的频率限制 |
stable-code | 免费 | 查看地址http://127.0.0.1:11434/v1/chat/completions |
Ollama部署本地的超小量级补全模型 |
codegemma | 免费 | 查看地址http://127.0.0.1:11434/v1/chat/completions |
Ollama部署本地的补全模型 |
codellama | 免费 | 查看地址http://127.0.0.1:11434/v1/chat/completions |
Ollama部署本地的补全模型 |
qwen-coder-turbo-latest | 收费 | 查看地址https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions |
阿里通义代码补全模型 |
mike/deepseek-coder-v2 | 免费 | 查看地址http://127.0.0.1:11434/api/generate |
Ollama支持的 suffix 参数方式实现 |
deepseek-coder-v2 | 免费 | 查看地址http://127.0.0.1:11434/api/generate |
Ollama支持的 suffix 参数方式实现 |
💡以上接入的模型除了 DeepSeek
模型与 硅基流动
模型之外, 效果均不理想, 这里仅做接入更多模型的Demo参考.,
理论上后续如果有API支持标准的FIM补全, 都可以接入.
前提条件: 必须有官方正版的
GitHub Copilot
订阅权限, 否则无法使用.
应用场景:
COPILOT_GHU_TOKEN
参数一处即可.COPILOT_CLIENT_TYPE=github
(设置此参数后其他的Copilot相关配置都可以不用设置了, 因为这里已经使用了官方的服务).ghu_
的参数ghu_
参数填写到 COPILOT_GHU_TOKEN
环境变量中.即所有请求走依旧服务端,然后由服务端发起请求到github, 在多人共享账号的情况下所有请求全部统一出口, 可以略微降低被风控的情况.
COPILOT_PROXY_ALL=true
(默认值为 false
)./embeddings
和 /chunks
接口即将推出.🚨 全代理模式有封号的风险, 请自行甄别谨慎使用. 补全和对话接口的请求频率都有阀值限制的, 共享人数过多肯定会触发风控.
目前仅 VSCode 最新版本的
Github Copilot Chat
插件支持使用 Embeddings 模型, 其他IDE可以不用考虑.
支持使用任意符合 OpenAI
接口格式的模型, 推荐本地Docker部署bge-m3的模型, 具体步骤如下参考: README.md 中的Docker运行部分内容.
然后配置服务端
修改下面相关环境变量文件内容:
EMBEDDING_API_BASE=http://127.0.0.1/v1/embeddings
EMBEDDING_API_KEY=sk-aaabbbcccdddeeefffggghhhiiijjjkkk
EMBEDDING_API_MODEL_NAME=bge-m3
EMBEDDING_DIMENSION_SIZE=1024
如果你是 One API
之类的中转站, 也可以按照上面环境变量内容直接接入.
⚠️ 如果使用第三方API的Embedding模型, 可能会有隐私相关风险以及请求限频问题.
如果本地部署遇到了 无法登录
无法对话
无法补全
等问题, 可以参考下面的排查方法:
ping copilot.supercopilot.top
是否指向 127.0.0.1
,如果不是则表明受到了代理工具影响cert
目录此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。