Skip to content

其他开发工具的配置方法

其他开发工具统一使用本地代理转发的方法进行配置。

0. 本地代理转发方法原理图

本地代理转发方法在客户端与 AI杂货铺 Copilot 之间加了一层本地代理,本地代理的作用是修改客户端向 github 发送的 鉴权/代码补全/对话 等请求(主要修改了 host 和 鉴权token,将其替换为 AI杂货铺 的 hosttoken)。

这两种方法都能将所有 github 的请求改为指向 AI杂货铺,但是区别在于:

  • 虚线上方的 代理授权模式 需要手动修改 IDE 中的 Copilot 插件配置,将 Authorization Provider 改为 copilot.aizahuo.comVSCodeJetbrainsVim/Neovim 的配置教程就是在教你干这件事情

  • 虚线下方的 本地代理转发 方法则不需要手动修 IDE 中的 Copilot 插件配置,这种方法是通过代理工具修改 IDE 的请求完成 Authorization Provider 变更的,但是这种方式的缺点就是需要配置 IDE 的代理,而且本地代理工具(图中的 mitmdump)在 IDE 使用期间要一直保持开启

并不是所有 IDE 中的 Copilot 插件都支持修改 Authorization Provider,在这种情况下,使用本地代理转发可以解决这个问题。

了解了 本地代理转发 方法的原理之后你就会发现,这种方法适合一切平台的一切 IDE

综上,所有 IDE 都可以按照如下步骤配置本地代理转发

  1. 配置本地代理工具

  2. 打开 IDE 登录你自己的 Github 账号(必须在第 3 步:配置插件代理 之前登录)

  3. 将 IDE 的 Copilot 插件代理地址指向本地代理工具

接下来跟着下面的教程开始配置吧~

1. 本地代理工具配置

提示

第 1~4 步只有初次启动本地代理转发工具时需要配置,后续参考第 5 步直接启动即可。

  1. 先安装代理工具 mitmdump

    • windows 用户:下载 mitmdump 代理工具,并将保存路径添加到环境变量中。打开 Powershell 执行:

      ps1
      # 创建目录: $HOME\.cache\aistore
      New-Item -Path $HOME\.cache\aistore -ItemType Directory > $null
      # 下载 mitmdump.exe
      Invoke-WebRequest -Uri https://oss.aizahuo.com/mitmdump.exe -OutFile $HOME\.cache\aistore\mitmdump.exe
      
      # 设置环境变量
      $oldPath = [Environment]::GetEnvironmentVariable("Path", "User")
      if (-not $oldPath.EndsWith(";")) { $oldPath += ";" }
      $newPath = $oldPath + "$HOME\.cache\aistore;"
      setx Path $newPath
    • Linux/Mac 用户:通过 pip 进行安装,如果你本地没有 python 环境,请自行通过 ChatGPT 解决。

      shell
      pip install mitmdump
  2. 导入代理证书

    第一次启动代理工具时会自动生成证书,所以配置证书前先启动一次代理工具。

    • windows 用户:打开 Powershell,输入 mitmdump.exe 运行:

      启动成功后就可以关闭代理工具了(此时证书已经生成)。

      然后按 win + e 打开资源管理器,然后地址栏输入:%USERPROFILE%\.mitmproxy\mitmproxy-ca-cert.p12,此时会弹出证书安装的对话框:

      然后保持默认选择,一直点击【下一步】按钮,直到提示证书导入完成为止。

    • Linux/Mac 用户:终端执行 mitmdump

      启动成功后就可以按 ctrl + c 关闭代理工具了(此时证书已经生成)。

      然后在终端输入如下命令安装证书:

      shell
      sudo security add-trusted-cert -d -p ssl -p basic -k /Library/Keychains/System.keychain ~/.mitmproxy/mitmproxy-ca-cert.pem
      shell
      cp ~/.mitmproxy/mitmproxy-ca-cert.pem /usr/local/share/ca-certificates/mitmproxy.crt
      sudo update-ca-certificates
      shell
      cp ~/.mitmproxy/mitmproxy-ca-cert.pem /etc/pki/ca-trust/source/anchors/
      sudo update-ca-trust
  3. 下载代理脚本

    https://copilot.aizahuo.com/proxy.py 保存到 $HOME/.cache/aistore/copilot/ 中:

    Windows 用户打开 Powershell,Linux/Mac 用户打开终端:

    ps1
    # 创建目录: $HOME\.cache\aistore\copilot
    New-Item -Path $HOME\.cache\aistore\copilot -ItemType Directory > $null
    # 下载 proxy.py
    Invoke-WebRequest -Uri https://copilot.aizahuo.com/proxy.py -OutFile $HOME\.cache\aistore\copilot\proxy.py
    shell
    # 创建目录: $HOME/.cache/aistore/copilot/
    mkdir -p $HOME/.cache/aistore/copilot/
    # 下载 proxy.py
    wget https://copilot.aizahuo.com/proxy.py -O $HOME/.cache/aistore/copilot/proxy.py
  4. 下载 Access Token

    浏览器打开 https://copilot.aizahuo.com/settings/hosts.json(需要登录才能访问,其中包含你的 token 信息,用户 AI 杂货铺 代理服务器 对你的请求鉴权),通过 ctrl + s / cmd + s 将文件保存到 $HOME/.cache/aistore/copilot/ 中。

    提示

    直接保存到这个隐藏目录可能比较麻烦,你可以先保存到 downloads 文件夹,然后再通过命令移动到目标目录,或者通过 GUI 手动移动到目标目录。

    危险

    hosts.json 中包含你的 token 信息,请勿泄露!如有泄露请及时重置

    警告

    请务必将文件保存到正确的位置,并以 hosts.json 命令,后续代理工具会读取其中的内容,如果配置错误会导致后续步骤出现问题。

  5. 启动代理

    提示

    上面的配置步骤只用配置一次,下次可以直接执行这一步启动本地代理转发服务。

    • windows 用户

      打开 Powershell,运行:

      ps1
      mitmdump.exe -s ~\.cache\aistore\copilot\proxy.py
    • Linux/Mac 用户

      shell
      mitmdump -s ~/.cache/aistore/copilot/proxy.py

    启动成功后会显示你的用户名:

    如果启动时报错,请根据报错信息检查上面的步骤是否配置成功。

    提示

    mitmdump 默认的代理端口是 8080,你可以通过添加 -p 参数来自定义代理端口,例如:

    shell
    mitmdump -s proxy.py -p 8000

2. IDE 代理配置

提示

目的:将 IDE 的代理指向刚才启动的本地代理服务器。

警告

注意:在这一步之前,需要先登录你自己的 Github 账号。

Visual Studio 2022

参考资料:https://learn.microsoft.com/en-us/answers/questions/1059735/is-it-possible-to-set-proxy-in-vs-2022

  1. 按下 win + e 打开资源管理器,地址栏输入:%ProgramFiles%\Microsoft Visual Studio\2022\,回车进入,然后继续进入路径:<version>\Common7\IDE\,找到 devenv.exe.config 文件

  2. 使用记事本打开 devenv.exe.configctrl + f 查找关键词 <system.net>,添加下面的配置:

    xml
    <defaultProxy useDefaultCredentials="true" enabled="true">
    	<proxy bypassonlocal="true" proxyaddress="http://127.0.0.1:8080" />
    </defaultProxy>

    其中,proxyaddress 指定了代理地址,可以根据自己的实际情况进行修改。

    配置好的样子如下图所示:

  3. 重启 IDE。

其他

请自行通过 ChatGPT 了解配置代理的方式。

提示

你可以优先配置 Copilot 插件的代理,如果插件没有单独的代理配置项,再配置 IDE 的全局代理。

已知支持插件级代理配置的 IDE:Jetbrains,Xcode。

如果有强烈需求可以联系站长添加你希望支持的 IDE。