允许将 VSCode 扩展 GitHub Copilot 的流量重定向到自定义的URL(仅代码补全,不包含 chat)
本项目仅在 deepseek-v4-flash 模型(官方API)上经过测试,但理论上支持任何兼容 OpenAI FIM 格式的接口。
注意: 此处应使用的是
/completions(代码补全)接口,而非/chat/completions(对话)接口,请确保所使用的 API 提供商支持 FIM 格式的补全端点。
DeepSeek 对应的端点为 /beta/completions,可参考配置模板。
由于使用了 mitmproxy 作为中间人,在正式使用之前必须先信任其 CA 证书,程序才能正常运行,证书会在第一次运行程序后自动生成
Windows 平台上,证书生成在: %USERPROFILE%\.mitmproxy\mitmproxy-ca-cert.cer
macOS / Linux 平台上,证书生成在: ~/.mitmproxy/mitmproxy-ca-cert.pem
你可以选择下面的方法来运行程序
-
从 GitHub Releases 下载预构建的发布版
-
使用
CopilotProxy config命令创建一份配置文件(可以使用-c/--config-path选项指定一个路径,如:CopilotProxy -c ~/copilot_proxy.toml config)
注意:自 0.2.3 版本起,可以通过环境变量COPILOT_PROXY_API_KEY加载 API KEY,且此方法优先生效 -
运行程序
-
携带环境变量
HTTPS_PROXY启动 VSCode对于不同的 shell,你可以使用不同的方式写入环境变量,以下是几种常用的终端写入临时变量的方法:
PowerShell
$env:HTTPS_PROXY = "http://127.0.0.1:8080"
cmd
set HTTPS_PROXY="http://127.0.0.1:8080"
bash / zsh
export HTTPS_PROXY="http://127.0.0.1:8080"
127.0.0.1和8080可以分别用实际使用的主机和端口号替代(与配置文件中的配置项相同)最后在相同的 shell 中启动 VSCode:
code .
本项目使用 uv 作为包管理器,你可以使用 uv 来运行本项目
-
安装
uvWindows (使用PowerShell运行):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh详情请参阅: uv的官方文档
-
创建运行环境
uv sync --no-dev
-
使用
uv run main.py config命令创建一份配置文件(可以使用-c/--config-path选项指定一个路径,如:uv run main.py -c ~/copilot_proxy.toml config)
注意:自 0.2.3 版本起,可以通过环境变量COPILOT_PROXY_API_KEY加载 API KEY,且此方法优先生效 -
运行程序
uv run main.py
-
携带环境变量
HTTPS_PROXY启动 VSCode,此步骤与使用预构建的二进制文件的第 4 步相同
在 0.2.0 之后的版本中,新增了 CLI 命令支持,可以通过 CopilotProxy -h 或 CopilotProxy --help 获得使用帮助