Skip to content

Repository files navigation

Copilot-Proxy

允许将 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

你可以选择下面的方法来运行程序

使用预构建的二进制文件

  1. 从 GitHub Releases 下载预构建的发布版

  2. 使用 CopilotProxy config 命令创建一份配置文件(可以使用 -c/--config-path 选项指定一个路径,如:CopilotProxy -c ~/copilot_proxy.toml config
    注意:自 0.2.3 版本起,可以通过环境变量 COPILOT_PROXY_API_KEY 加载 API KEY,且此方法优先生效

  3. 运行程序

  4. 携带环境变量 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.18080 可以分别用实际使用的主机和端口号替代(与配置文件中的配置项相同)

    最后在相同的 shell 中启动 VSCode:

    code .

自行构建运行

本项目使用 uv 作为包管理器,你可以使用 uv 来运行本项目

  1. 安装 uv

    Windows (使用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的官方文档

  2. 创建运行环境

    uv sync --no-dev
  3. 使用 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,且此方法优先生效

  4. 运行程序

    uv run main.py
  5. 携带环境变量 HTTPS_PROXY 启动 VSCode,此步骤与使用预构建的二进制文件的第 4 步相同

获取使用帮助

在 0.2.0 之后的版本中,新增了 CLI 命令支持,可以通过 CopilotProxy -hCopilotProxy --help 获得使用帮助

About

重定向GitHub Copilot的流量到自定义URL

Resources

Stars

22 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages