mirror of
https://gitee.com/chuangxxt/share-copilot
synced 2025-04-16 11:53:25 +00:00
183 lines
4.0 KiB
Markdown
183 lines
4.0 KiB
Markdown
[中文](README.md) [English](README-EN.md)
|
||
|
||
------
|
||
|
||
测试版已经支持全部接口代理,
|
||
所有也就是代码提示也走代理,
|
||
还在测试中。
|
||
|
||

|
||
***
|
||
# share-copilot
|
||
|
||
- 作为代理服务器,中转copilot插件的API的请求
|
||
- 支持vscode插件和jetbrains插件
|
||
- 支持多用户共享一个token
|
||
- 优化请求逻辑,suspended概率(别万人骑基本不会)
|
||

|
||
|
||
***
|
||
# 一、自行编译:
|
||
```
|
||
测试环境:Linux4.18.0-305.3.1.el8.x86_64 GNU/Linux
|
||
需要 go环境 出问题自行chatgpt
|
||
```
|
||
```sh
|
||
wget https://dl.google.com/go/go1.21.1.linux-amd64.tar.gz
|
||
tar -C /usr/local -xzf go1.21.1.linux-amd64.tar.gz
|
||
|
||
vim ~/.bashrc
|
||
#添加下列环境
|
||
export PATH=$PATH:/usr/local/go/bin
|
||
export GOPATH=$HOME/go
|
||
export PATH=$PATH:$GOPATH/bin
|
||
|
||
#使生效环境变量
|
||
source ~/.bashrc
|
||
#验证安装
|
||
go version
|
||
#cd到main.go源码目录
|
||
cd /share-copilot/source
|
||
go build
|
||
```
|
||
***
|
||
# 二、使用现成:
|
||
|
||
### 1.安装
|
||
|
||
```sh
|
||
git clone https://gitlab.com/luyoyu/share-copilot.git
|
||
```
|
||
```sh
|
||
cd share-copilot
|
||
```
|
||
```sh
|
||
bash install.sh
|
||
```
|
||
|
||
### 2.配置
|
||
|
||
##### 2.1 config.json文件说明
|
||
|
||
```js
|
||
domain//监听域名或ip 可用nginx反代
|
||
|
||
host //ip
|
||
|
||
port //端口 80或443
|
||
|
||
certPath//公钥路径-443必须
|
||
|
||
keyPath//私钥路径-443必须
|
||
|
||
github_api_url//默认不改
|
||
|
||
token//自己的副驾驶token,可放多个,请求时随机使用
|
||
//登录插件后在%userprofile%\AppData\Local\github-copilot\host.json ghu_开头
|
||
|
||
verification//自定义验证
|
||
```
|
||
|
||
##### 2.2 示例
|
||
|
||
```json
|
||
{
|
||
"server": {
|
||
"domain": "example.com",
|
||
"host": "0.0.0.0",
|
||
"port": 443,
|
||
"certPath":"./example.pem",
|
||
"keyPath":"./example.pem"
|
||
},
|
||
"copilot_config":{
|
||
"github_api_url": "https://api.github.com/copilot_internal/v2/token",
|
||
"token":[
|
||
"yours_token_1",
|
||
"yours_token_2",
|
||
"yours_token_3"
|
||
]},
|
||
"verification":""
|
||
}
|
||
|
||
```
|
||
格式不能错,不确定的去这里验证 ->https://www.json.cn/
|
||
|
||
### 3.启动
|
||
|
||
```
|
||
scop r --运行 [Esc退出]
|
||
scop rb --后台运行
|
||
scop st --停止
|
||
scop v --查看状态
|
||
```
|
||
|
||
### 4.完整例子:
|
||
|
||
##### 4.1 服务端配置修改config.json
|
||
|
||
```json
|
||
{
|
||
"server": {
|
||
"domain": "api.example.com",
|
||
"host": "0.0.0.0",
|
||
"port": 443,
|
||
"certPath":"./example.pem",
|
||
"keyPath":"./example.pem"
|
||
},
|
||
"copilot_config":{
|
||
"github_api_url": "https://api.github.com/copilot_internal/v2/token",
|
||
"token":[
|
||
"ghu_xMNAYLcJAPqAfiGoobrWffkJoNcGMVJtETKA",
|
||
"ghu_GZgKFwraHorAxXXUvsUclOhxiYERPsSJeNuF",
|
||
"ghu_SPUTCLvkMKoeMstPJmhSlYsYvCojhkFjGubl"
|
||
]},
|
||
"verification":"i_am_free"
|
||
}
|
||
```
|
||
|
||
##### 4.2 运行成功截图:
|
||
|
||

|
||
|
||
[Jetbrains]:用于Jetbrains插件
|
||
[Vscode]: 用于Vscode插件
|
||
[User Request]: 插件请求代理服务器成功次数--统计次数在00:00:00归零
|
||
[GithubApi request]: 代理服务器请求githubApi次数
|
||
`正常情况下GithubApi request小于User Request,因为请求的Token 几十分钟才过期`
|
||
|
||
------
|
||
|
||
##### 4.3本地配置修改:
|
||
|
||
**以windows为例**
|
||
|
||
- **jetbrains插件修改:%userprofile%\AppData\Local\github-copilot\host.json**
|
||
|
||
```json
|
||
{
|
||
"github.com":{
|
||
"user":"suibian",//随意填写
|
||
"oauth_token":"i_am_free",//与上面verification对应
|
||
"dev_override":{
|
||
"copilot_token_url":"https://api.example.com/copilot_internal/v2/token"
|
||
//你的地址
|
||
}
|
||
}
|
||
}
|
||
```
|
||
- **vscode插件修改:%userprofile%\\.vscode\extensions\github.copilot-xxxx\dist\extension.js**
|
||
|
||
```js
|
||
//添加下列代码,注意vscode插件更新需要重新添加,jetbrains则不用
|
||
process.env.GITHUB_TOKEN="i_am_free"; //与上面verification对应
|
||
process.env.GITHUB_API_URL="https://api.example.com"; //你的地址
|
||
process.env.CODESPACES="true";
|
||
process.env.GITHUB_SERVER_URL="https://github.com";
|
||
```
|
||
|
||
------
|
||
|
||
##### **4.4测试成功:**
|
||
|
||

|