github copilot接入第三方openai-compatible模型的方法

github copilot接入第三方openai-compatible模型的方法
审核有点严,我修改了很多敏感词汇,看原文可以去我个人博客:https://kashima19960.github.io/2025/07/28/github%20copilot%E6%8E%A5%E5%85%A5openai-compatible%E6%A8%A1%E5%9E%8B%E4%BB%A5%E5%8F%8A%E5%8E%BB%E9%99%A4%E5%AE%89%E5%85%A8%E9%99%90%E5%88%B6%E7%9A%84%E6%96%B9%E6%B3%95/

重要说明

本文具有时效性,请注意检查信息的正确性!

2025-10-12更新

现在官方明确copilot接入第三方openai-compatible模型是不会上线正式版,并且关闭了相关issue,想要体验这个功能只能使用vscode insider(一个前瞻的测试版),所以现在想要使用这个功能就只有两个选择

  1. 按照这篇文章的教程自行打包带有接入第三方模型功能的 copilot 的扩展
  2. 使用一个叫做 OAI Compatible Provider for Copilot的扩展,具体可以看这位博主的文章 :https://blog.ZEEKLOG.net/johnny0316/article/details/152900115?fromshare=blogdetail&sharetype=blogdetail&sharerId=152900115&sharerefer=PC&sharesource=Johnny0316&sharefrom=from_link

前言

copilot只支持那几家国外的模型提供商,除了openrouter以外我们都很难进行访问和支付,以及copilot系统提示词会拒绝回答非编程的问题,这点也让我很苦恼
所以为了完成我的这两个需求

  1. github copilot chat能接入自定义的openai-compatible模型
  2. 修改提示词

我去查找了相关的开源社区寻找解决方法,由于copilot chat前些日子开源了,所以这个第一个功能有开发者做了,但是微软还没有发布release版本,所以我们需要手动打包扩展,第二个功能可以通过修改系统提示词来实现。

具体步骤

  1. 先把仓库克隆下来,这里要注意,这个开发者把功能commit到了feat-ui分支,不要下载到了main分支
git clone -b feat-ui https://github.com/relic-yuexi/vscode-copilot-chat.git 
  1. 删除相关的提示词(可选)
    找到这个文件 src\extension\prompts\node\base\safetyRules.tsx,这个文件是安全规则提示词的底层文件,会被所有代码引用,所以我们只修改这个文件就行,
    如下图可以看到,这下我们知道为什么问非编程问题,会一直回答"Sorry, I can’t assist with that."了,把这个字符串替换成任意的词即可
在这里插入图片描述

然后再找到这个文件 src\extension\prompts\node\base\copilotIdentity.tsx ,这个提示词强制了无论你询问任何模型是谁,都会回答你 "github copilot ",我不喜欢这个,所以把他替换成空格或者其他的提示词

在这里插入图片描述
  1. 开始构建扩展,并打包成vsix文件

首先确保你已经安装了Node.js和npm,没安装就自己搜索安装一下,不需要啥专业知识的,然后在项目根目录下打开终端,执行以下命令:

安装依赖

2025-7-31更新:这里要有下载isual studio的C++环境,不然安装过程中的编译sqlite3会失败导致安装失败
npminstall

等待完成后,执行:

npx tsx .esbuild.ts 

安装打包工具vsce,这个工具用来将项目打包成VSIX格式

npminstall -g vsce 

最后执行:

vsce package 

就这四个命令

  1. npm install - 安装依赖
  2. npx tsx .esbuild.ts - 构建项目
  3. npm install -g vsce - 安装打包工具
  4. vsce package - 生成VSIX文件

执行完成后,你会在项目根目录看到一个 .vsix 文件,这就是可以安装的VS Code扩展包。

安装扩展:

  • 在VS Code中按 Ctrl+Shift+P
  • 输入 “Extensions: Install from VSIX”
  • 选择生成的 .vsix 文件

另一种方法就是打开vscode的插件市场,点击右上角的三个点,最后一个选项就是了

在这里插入图片描述
2025-7-30更新:评论区有人问怎么添加模型,之前没写,我以为大家都会,下面补充一下

添加openai-compatible模型的方法

  1. 先打开模型选择器,点击manage models
在这里插入图片描述
  1. 点击红框那一栏,这一栏在你成功按照上述方法构建了扩展后就会有了,官方的copilot目前还没有,你找不到就要检查一下自己有没有安装好扩展了
在这里插入图片描述
  1. 理论上,只要是能兼容 openai 格式的模型供应商都能添加,这个具体你要看对应的模型供应商,国内基本上知名的模型都是兼容openai格式的,这里我以deepseek为例,由于我这里已经添加过了(看上图就知道了),这里是取名(名字任意),然后回车
在这里插入图片描述

输入base_url,这里找对应的文档自己查,回车

在这里插入图片描述

右下角会提示成功,

在这里插入图片描述

再次打开模型选择器就能看到了

在这里插入图片描述

点进去,输入apikey,这里你要输入正确的apikey,不然获取model会失败,我这里由于已经添加过deepseek的模型了,所以图片中的 apikey 是我乱填的😋

在这里插入图片描述

把模型id输入一下,具体id看对应的官方文档

在这里插入图片描述

测试是否添加成功由于上述的步骤去除了安全规则和自我介绍,所以可以直接向模型问一些非编程问题,可以看到下图,如果问原版的copilot,他是不会回答你跟模型有关的任何信息的,只会回答“ 我是github copilot”

在这里插入图片描述

已经打包好的扩展

如果你连上述的步骤都没办法完成的话,那就用我打包好的扩展吧

https://gitee.com/oops-holly/vscode-github-copilot-extension/releases/download/1.0.0/copilot-chat-0.30.0.vsix

Read more

Web To App (web网页一键打包成android Apk文件)

引言 随着公司业务的快速发展,我们计划推出一款面向移动端用户的应用。然而,当前开发团队主要由 Web 前端工程师组成,缺乏原生 Android 开发经验。在完成 Web 版本的业务系统后,产品团队提出了一个关键需求:希望将现有的 Web 网站“安装”到用户的 Android 手机上,以提供类似原生 App 的使用体验。 面对这一需求,我主动承接了“将 Web 应用打包为 Android APK”的任务,并着手寻找一种对 Web 团队友好、低门槛且可自动化的实现方案。 现状与挑战 传统上,将 Web 内容封装为 Android 应用(通常称为“Web App 套壳”)需要搭建完整的 Android 开发环境。

音乐播放器实现:前端HTML,CSS,JavaScript综合大项目

音乐播放器实现:前端HTML,CSS,JavaScript综合大项目

音乐播放器实现:前端HTML,CSS,JavaScript综合大项目 * 项目概述 * 项目视图效果 * 一、侧边栏相关代码 * (一)HTML代码 * (二)css代码 * 二、登录页面 * (一)HTML代码 * (二)css代码 * (三)js代码 * 三、剩余代码以及所有源代码Gitee地址 项目概述 在当今数字化时代,音乐已然成为人们生活中不可或缺的一部分。本次带来的音乐播放器 HTML 项目,旨在打造一个具备基础且实用功能的音乐播放平台。通过 HTML、CSS 和 JavaScript 等前端技术的巧妙融合,实现一个界面美观、操作便捷的音乐播放器,满足用户在本地浏览音乐库、播放音乐等多样化需求。 提示!!!! 由于项目代码太多,代码全部内容放置在我的Gitee码云中,需要的小伙伴们自取 我的码云链接https://gitee.com/srte-7719/project-experience/tree/master/

Web 应用开发核心:登录注册接口设计与实现全解析

在 Web 应用开发中,登录注册接口是用户与系统交互的第一道门槛,也是保障系统安全、提升用户体验的关键环节。无论是简单的个人博客,还是复杂的电商平台、SaaS 系统,稳定、安全、易用的登录注册功能都是基础中的基础。本文将从核心概念、技术选型、设计规范、安全防护、常见问题等维度,全面拆解登录注册接口的开发知识点,助力开发者打造可靠的用户认证体系。 一、登录注册接口的核心定位与业务价值 登录注册接口本质是用户身份认证与授权的入口,核心职责包括: 1. 身份核验:验证用户提交的凭证(账号密码、验证码等)是否合法; 2. 会话管理:为合法用户创建会话,维护登录状态; 3. 数据安全:保护用户敏感信息(密码、手机号等)在传输和存储过程中的安全; 4. 用户体验:简化注册流程、降低登录门槛,同时提供找回密码等兜底方案。 其业务价值直接影响产品留存:注册流程繁琐会导致用户流失,登录安全漏洞可能引发数据泄露,而稳定的会话管理则是保障用户持续使用的基础。 二、

【前端地图】地图覆盖物:折线(Polyline)与多边形(Polygon)——绘制路线、区域围栏、编辑图形、图形交互

【前端地图】地图覆盖物:折线(Polyline)与多边形(Polygon)——绘制路线、区域围栏、编辑图形、图形交互

🌏第 5 节 地图覆盖物:折线(Polyline)与多边形(Polygon)完全指南 1. 🤓 引言:老曹的吐槽时间 📢 各位童鞋,欢迎来到第 5 节。如果说上一节的 Marker 是地图上的“图钉”,那今天的 Polyline 和 Polygon 就是地图上的“绳子”和“圈地”。老曹我得先泼盆冷水:画点容易画线难,画完还得防穿帮。你以为画个折线就是连几个点?天真!坐标系偏一点,线就飘到海里去了;多边形少个闭合点,区域就漏风了。当年老曹我为了画一个精准的园区围栏,跟产品经理吵了三天,就因为他说“这个角不够圆润”。今天咱们就把这些矢量覆盖物彻底搞懂,别到时候画个三角形像个圆,那就丢人丢到太平洋了。🌊 🗺️ 矢量图形是地图业务的核心,无论是物流路线、行政区域还是电子围栏,都离不开它们。但这玩意儿比 Marker