【开源推广】一个VSCODE插件-让VSCODE Github Copilot插件可以添加自定义模型提供商API

wouiyigedahkrf 2026-04-26 21:20 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:


以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出


背景


用过GitHub Copilot套餐的同学应该知道,官方套餐还是用官方的插件比较方便,但这个vscode的copilot插件只能添加某几个有限的提供商,比如openrouter/Anthropic官方/OpenAI官方的端点,假如他能够添加自定义的模型提供商,那就太方便了。


经过研究,发现Insder版本的vscode的copilot插件可以添加自定义提供商!但这个功能在稳定版里是隐藏的。


之前要绕过这个限制,要么装 Insiders 版,要么搭个 Nginx 伪装 Ollama 的接口,要么自己编译 Copilot Chat 插件……都不太方便。


于是对opus一顿拷打有了这个插件,整个代码也就9行,但能够让你的vscode正式版的copilot插件,可以添加自定义提供商,比如CPA,比如New API。


原理


翻了一下 Copilot Chat 的源码,发现限制就一行:


"when": "productQualityType != 'stable'"

就是个 VS Code 上下文变量在做门控,即稳定版不可添加自定义提供商,测试版可以添加。那反过来,把这个变量改掉就行了:


vscode.commands.executeCommand('setContext', 'productQualityType', 'insiders');

所以这个插件就做了这一件事——启动时把 productQualityType 设成 insiders,然后隐藏的 CustomOAI 提供者就出来了。


用法



  1. 下载 .vsix 文件:Github Releases

  2. VS Code 里 Cmd+Shift+PExtensions: Install from VSIX...

  3. 选下载的文件,重启 VS Code

  4. 打开 Copilot Chat,模型选择器里就能看到「OpenAI Compatible」了



然后照常填写 API 地址和 Key 就行:



跑起来之后就是正常的 Copilot Chat 对话:



支持哪些服务


只要兼容 OpenAI /v1/chat/completions 接口的都行,比如:



  • New API / One API

  • 本地 Ollama(用 /v1/chat/completions 端点)

  • 各种第三方 API 代理

  • 自己部署的 vLLM、LocalAI 等

    URL 填写规则也简单:填域名就行,插件会自动补 /v1/chat/completions;填完整路径也行,原样使用。


注意事项



  • 前提:必须已安装 GitHub Copilot Chat 扩展。本插件只是解锁隐藏选项,不是独立工具。

  • 这属于修改 VS Code 内部上下文变量,如果微软后续改了变量名或移除了这个机制,插件会失效。不过目前测试在最新版本下正常工作。

  • 如果你在用 VS Code Insiders,不需要这个插件,那个选项本来就是开着的。


链接



  • GitHub:GitHub - zqcli/enable-copilot-customoai: Minimal VS Code extension to enable CustomOAI provider in Stable · GitHub

  • 下载:Releases · zqcli/enable-copilot-customoai · GitHub

    有问题或建议欢迎在 GitHub 提 issue,也欢迎 star ^-^

最新回复 (19)
  • 上界司命 04-26 21:40
    1

    大佬666 vscode安装上插件就可以添加自定义来源了。

  • jincurryx 04-26 21:44
    2

    刚好犯愁每次都添加azure的那个模型提供商,试试这个插件

  • 還記得你說家是唯一的城堡 隨著稻香河流繼續奔跑 微微笑 小時候的夢我知道 04-26 21:51
    3

    可以啊,居然就这么简单,除去空行,也只有6行代码

  • JonesXie 04-26 22:03
    4

    原理通了,就是这么简单啊,只不过限制挺大的,可以看看另外一个佬友的插件,可以添加Claude的。


    前言
    ^-^
    折叠内容
    优势
    在我开发这个扩展之前已经有好几个扩展(GCMP、Addi…)实现了同样的功能。
    但我仍然花时间开发这个扩展的原因有三点:

    用户体验(UX)
    无法发挥出模型的最佳性能
    API 兼容性

    为什么无法发挥出模型的最佳性能?
    当实际接入过 API 就会发现这件事没有那么简单。
    如果你对 AI 直接下令,它可能在几分钟就能写好能够正常对话的版本。
    但是也仅此而已,紧接着你可…
  • wouiyigedahkrf 楼主 04-26 22:18
    5

    感谢佬友分享信息呀,确实原理非常简单。原来早就有类似的插件,我就说怎么可能这么久都没人想到……已经star关注。

  • MeeSii 04-27 11:08
    6

    最新版已经支持customoai类型的设置了,不需要额外的插件。先随便添加一个模型,然后按照如下设置修改成 “vendor”: “customoai” 接口。


    [
    {
    "name": "Sub2API",
    "vendor": "customoai",
    "apiKey": "${input:chat.lm.secret.-cb36054}",
    "models": [
    {
    "id": "gpt-5.4",
    "name": "gpt-5.4",
    "url": "https://xxx.com/v1",
    "toolCalling": true,
    "vision": true,
    "maxInputTokens": 128000,
    "maxOutputTokens": 16000
    }
    ]
    }
    ]



  • 期待。 04-27 11:56
    7

    用上了,不能设置快速还有思考深度high/xhigh?

  • 摩托佬 04-28 11:00
    8

    666,找了好久的解决方案。终于可以愉快的用DS V4了

  • 05-01 08:34
    9

    自定义提供商选择迟迟不提供给正式版,其实早就可以用了,这个算是原生的。

  • Dango 05-03 19:00
    10

    不知道什么时候 能支持 custom Anthropic -compatible providers

  • pocketmiddle 05-06 09:17
    11

    同问。

    思考深度该如何设置呢?大佬解决这个问题了吗?

  • 期待。 05-06 09:48
    12

    我也还不知道怎么设置,配的中转站上看使用日志,思考深度是空的。

  • pocketmiddle 05-06 10:01
    13

    我用的sub2api,思考深度也是空的 ^-^

  • wouiyigedahkrf 楼主 05-06 21:40
    14

    佬友,最近有点忙没来得及回复。这个插件没办法配置思考级别和深度,因为vscode的三方provider压根没提供这个功能……


    佬友试试看这个,功能更丰富的也可以设定思考级别。



    前言
    ^-^
    折叠内容
    优势
    在我开发这个扩展之前已经有好几个扩展(GCMP、Addi…)实现了同样的功能。
    但我仍然花时间开发这个扩展的原因有三点:

    用户体验(UX)
    无法发挥出模型的最佳性能
    API 兼容性

    为什么无法发挥出模型的最佳性能?
    当实际接入过 API 就会发现这件事没有那么简单。
    如果你对 AI 直接下令,它可能在几分钟就能写好能够正常对话的版本。
    但是也仅此而已,紧接着你可…


    如果你用cpa的话,可以直接在cpa里设定思考级别覆盖,或者通过加后缀来设定思考级别。

  • wouiyigedahkrf 楼主 05-06 22:10
    15

    佬友,最近有点忙没来得及回复。这个插件没办法配置思考级别和深度,因为vscode的三方provider压根没提供这个功能……


    佬友试试看这个,功能更丰富的也可以设定思考级别。



    前言
    ^-^
    折叠内容
    优势
    在我开发这个扩展之前已经有好几个扩展(GCMP、Addi…)实现了同样的功能。
    但我仍然花时间开发这个扩展的原因有三点:

    用户体验(UX)
    无法发挥出模型的最佳性能
    API 兼容性

    为什么无法发挥出模型的最佳性能?
    当实际接入过 API 就会发现这件事没有那么简单。
    如果你对 AI 直接下令,它可能在几分钟就能写好能够正常对话的版本。
    但是也仅此而已,紧接着你可…


    如果你用cpa的话,可以直接在cpa里设定思考级别覆盖,或者通过加后缀来设定思考级别。

  • CPython 05-06 22:51
    16

    这个好像一会有一会没有的?我加了这个不知道为什么老是不显示,另外密钥的格式必须得是${}吗?

    密钥输入的时候填写

  • pocketmiddle 05-07 09:31
    17

    非常感谢大佬的推荐,我去好好研究研究 。

  • gagmeng 05-07 09:44
    18

    很好的插件,虽然已经不太用VSCODE了。

  • Reed Qu 05-12 16:34
    19

    佬,这个文件是怎么打开的啊,我找了半天没找到,我是mac,看路径也没用

* 帖子来源Linux.do
返回