仅需四步即刻拥有离线的Copilot小助手
同款服务,速度更快,更稳定,更安全。
借助其他FIM模型(如DeepSeek)来接管GitHub Copilot插件服务端, 廉价的模型+强大的补全插件相结合, 使得开发者可以更加高效的编写代码。
🚨破坏性更新提示:
v0.0.5
版本为了更加简单的部署使用, 精简掉了Nginx服务的同时也改变了默认的端口号(11110 → 1188), 详细更新内容到: releases 页面查看
- 支持使用Docker部署, 简单方便
- 支持多种IDE, 如:
VSCode
,Jetbrains IDE系列
,Visual Studio 2022
,HBuilderX
- 支持任意符合
OpenAI
接口规范的模型, 和Ollama
部署的本地模型 -
GitHub Copilot
插件各种API接口全接管, 无需担心插件升级导致服务失效 - 代码补全请求防抖设置, 避免过度消耗 Tokens
大部分Chat模型都兼容, 因此下面列出的模型是支持 FIM 的模型, 也就是说支持补全功能.
模型名称 | 类型 | 接入地址 | 说明 |
---|---|---|---|
DeepSeek (API) | 付费 | https://api.deepseek.com/beta/v1/completions |
👍🏻完美适配, 推荐使用 |
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 |
阿里通义代码补全模型 |
💡以上接入的模型除了 DeepSeek
模型之外, 效果均不理想, 这里仅做接入更多模型的Demo参考.
在使用之前确保自己的环境是干净的, 也就是说不能使用过其他的激活服务, 可以先检查自己的环境变量将
GITHUB
COPILOT
相关的环境变量删除, 然后将插件更新最新版本后重启IDE即可.
- 部署服务: 可以使用下载文件直接部署使用 或 使用docker部署.
- 配置IDE: 详细参考下面的IDE设置方法.
- 修改本地hosts文件: 具体参考配置本机hosts文件.
- 信任SSL证书: 具体参考信任证书 (可选).
- 重启IDE, 点击登录
GitHub Copilot
插件即可.
(推荐) 懒人推荐使用此方案, 比较简单
已经将自签证书的工作做完了, 只需要将 docker-compose.yml 文件下载到本地, 将里面的
模型API KEY 替换为你的, 然后执行以下命令即可启动服务:
# 启动服务
docker-compose up -d
# 停止服务
docker-compose down
# 更新服务
1. docker-compose pull
2. docker-compose up -d
# 查看日志
docker-compose logs -f
镜像全部上传到阿里云容器镜像服务, 国内访问无惧.
- 下载最新版本的可执行文件
访问 releases, 修改里面
.env
文件的配置项, 然后直接运行即可. - 如果希望绑定自己自有的域名, 可以参考: 自定义域名 配置, 然后将所有
mycopilot.com
相关的域名都修改为自己的域名. - 启动服务后然后按照IDE设置方法配置IDE.
- 重启IDE,登录
GitHub Copilot
插件.
将下面hosts配置添加到本机hosts文件中, 以便访问本地服务:
127.0.0.1 mycopilot.com
127.0.0.1 api.mycopilot.com
127.0.0.1 copilot-proxy.mycopilot.com
127.0.0.1 copilot-telemetry-service.mycopilot.com
- 安装插件:
GitHub Copilot
- 修改 VSCode 的 settings.json 文件, 添加以下配置:
"github.copilot.advanced": {
"authProvider": "github-enterprise",
"debug.overrideCAPIUrl": "http://api.mycopilot.com:1188",
"debug.overrideProxyUrl": "http://copilot-proxy.mycopilot.com:1188",
"debug.chatOverrideProxyUrl": "http://api.mycopilot.com/chat/completions:1188"
},
"github-enterprise.uri": "http://mycopilot.com:1188"
vscode 使用https有些问题, 并且直接使用ip好像也不行, 所以这里使用http的域名+端口的形式 ( 不直接使用80端口是为了防止服务冲突), 形式不重要直接粘贴进去即可.
- 找到
设置
>语言与框架
>GitHub Copilot
>Authentication Provider
- 填写的值为:
mycopilot.com
- 如果已经配置了系统级别的信任证书, 可以忽略下面步骤, 直接在IDE中信任即可.
首先开启 Github Enterprise 账户支持:工具-环境-账户-勾选“包含 Github Enterprise 服务器账户”
然后点击添加 Github 账户,切换到 Github Enterprise 选项卡,输入 https://mycopilot.com
即可。
请访问: Visual Studio 2022 降级长绿引导程序 ** 选择 17.8 的版本即可.
配置系统环境变量
CODESPACES=true
GITHUB_API_URL=https://api.mycopilot.com
GITHUB_SERVER_URL=https://mycopilot.com
GITHUB_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbiI6IjIxY2VjNyIsImNsaWVudCI6Ikl2MS5iNTA3YTA4Yzg3ZWNmZTk4IiwiaXNzIjoidXNlciIsImV4cCI6MzQ1MjczNTYyMCwibmJmIjoxNzI2MzY3ODEwLCJpYXQiOjE3MjYzNjc4MTB9.XPdtNpeEqrRjVx6CY3sdud37XPxM-LiYLAT_ZLbuj1A
AGENT_DEBUG_OVERRIDE_PROXY_URL=https://copilot-proxy.mycopilot.com
GITHUB_USER=Copilot
AGENT_DEBUG_OVERRIDE_CAPI_URL=https://api.mycopilot.com
注意, 插件中的相关 domain 已经写死无法修改, 所以必须使用默认的 mycopilot.com 域名配置.
- 下载 copilot-for-hbuilderx.zip 插件到本地
- 将插件安装到 plugin目录下, 详细参考: 离线插件安装指南
- 重启 Hbuilder X 后点击登录
GitHub Copilot
即可.
CODEX_TEMPERATURE
: 模型温度, 默认值为1
, 可以调整为0.1-1.0
之间的值.- 此参数可以略微影响补全结果, 但是不建议调整, 除非你知道你在做什么.
如果你有自己的域名或者不想使用默认的 mycopilot.com
域名, 你需要申请或自签一个https证书, 然后将证书文件路径配置到 .env
或 docker-compose.yml
文件中.
将域名添加解析以下四个域名, 假设你的域名为 yourdomain.com
(非必须是顶级域名), 则你需要解析的域名记录如下:
DEFAULT_BASE_URL
:yourdomain.com
API_BASE_URL
:api.yourdomain.com
PROXY_BASE_URL
:copilot-proxy.yourdomain.com
TELEMETRY_BASE_URL
:copilot-telemetry-service.yourdomain.com
- 以上四个域名都需要配置SSL证书, 通配符证书教程参考免费通配符证书申请方法.
- 以上几个域名前缀 (
api
,copilot-proxy
,copilot-telemetry-service
) 必须是一样的, 不可自定义修改, 否则会导致插件无法登录或正常使用. - 最后将以上域名修改到对应的环境变量配置文件中.
如果你没有域名, 可以随便想一个"假"域名, 然后直接修改 hosts
文件的方式进行解析, 然后使用自签证书即可.
使用 acme.sh 依旧可以申请通配符域名证书, 如果你的域名托管在
cf
腾讯云
阿里云
等等, 都可以使用他们的API来自动续期.
# 官方
curl https://get.acme.sh | sh -s email=617498836@qq.com
# 国内镜像
https://github.com/acmesh-official/acme.sh/wiki/Install-in-China
# 使环境变量立即生效
source ~/.bashrc
# 创建一个 alias,便于后续访问:
alias acme.sh=~/.acme.sh/acme.sh
我这里域名是托管在 cf
上的, 所以使用 cf
的API来申请证书, 你可以根据自己的情况来选择.
- 配置dns秘钥
export CF_Email="110110110@qq.com"
export CF_Key="xxxxxxx"
- 签发证书
acme.sh --issue --dns dns_cf -d supercopilot.top -d '*.supercopilot.top'
- 安装证书
# 新建一个证书目录
mkdir -p /etc/nginx/cert_file/supercopilot.top
# 安装证书
acme.sh --install-cert -d supercopilot.top -d *.supercopilot.top \
--key-file /etc/nginx/cert_file/key.pem \
--fullchain-file /etc/nginx/cert_file/fullchain.pem
- 修改对应的环境变量配置
- CERT_FILE=/etc/nginx/cert_file/fullchain.pem
- KEY_FILE=/etc/nginx/cert_file/key.pem
如果你使用宝塔
面板将会更加容易的申请, 因为面板中已经高度集成了此模块
- 请勿将本服务用于商业用途, 仅供学习交流使用
- 请勿将本服务用于非法用途, 一切后果自负