GitHub Copilot 调用第三方模型API

GitHub Copilot 调用第三方模型API

一、说明

OAI Compatible Provider for Copilot 的作用是:把 Copilot/Copilot Chat 发出的“类似 OpenAI API 的请求”,转发到指定的 OpenAI-Compatible 服务端(例如 ModelScope 推理网关、自建的兼容网关等)。

⚠️ Warning

登录 GitHub Copilot​ 的账号一定要是非组织方式开通 pro 会员的,不然无法管理模型。

推荐直接用免费的free账号登录即可。

二、插件安装

在 VS Code 扩展市场安装并启用:

  • GitHub Copilot
  • GitHub Copilot Chat​
  • ​OAI Compatible Provider for Copilot​(johnny-zhao.oai-compatible-copilot​)

安装后:Developer: Reload Window​ 重载窗口一次。

确保已在 VS Code 中登录 GitHub,并且 Copilot 正常可用(不然你分不清是 Copilot 本身问题还是 provider 转发问题)。

三、配置示例

建议将配置放置在项目内的: .vscode/settings.json​

1、单模型示例

{ "oaicopilot.baseUrl": "https://api.soraharu.com/v1", "oaicopilot.delay": 0, "oaicopilot.readFileLines": 0, "oaicopilot.retry": { "enabled": true, "max_attempts": 3, "interval_ms": 1000, "status_codes": [] }, "oaicopilot.commitLanguage": "English", "oaicopilot.models": [ { "id": "__provider__soraharu", "owned_by": "soraharu", "baseUrl": "https://api.api.soraharu.com/v1", "apiMode": "openai" }, { "id": "google/gemini-3-pro-preview", "owned_by": "soraharu", "baseUrl": "https://api.soraharu.com/v1", "context_length": 128000, "max_tokens": 4096, "vision": true, "apiMode": "openai", "temperature": 0 } ] } 

2、多模型示例

{ "oaicopilot.baseUrl": "https://api.soraharu.com/v1", "oaicopilot.delay": 0, "oaicopilot.readFileLines": 0, "oaicopilot.retry": { "enabled": true, "max_attempts": 3, "interval_ms": 1000, "status_codes": [] }, "oaicopilot.commitLanguage": "English", "oaicopilot.models": [ { "id": "__provider__soraharu", "owned_by": "soraharu", "baseUrl": "https://api.soraharu.com/v1", "apiMode": "openai" }, { "id": "google/gemini-3-pro-preview", "owned_by": "soraharu", "baseUrl": "https://api.soraharu.com/v1", "context_length": 128000, "max_tokens": 4096, "vision": true, "apiMode": "openai", "temperature": 0 }, { "id": "anthropic/claude-opus-4-5-thinking", "owned_by": "soraharu", "baseUrl": "https://api.soraharu.com/v1", "context_length": 128000, "max_tokens": 4096, "vision": true, "apiMode": "openai", "temperature": 0 }, { "id": "anthropic/claude-sonnet-4-thinking", "owned_by": "soraharu", "baseUrl": "https://api.soraharu.com/v1", "context_length": 128000, "max_tokens": 8192, "vision": true, "apiMode": "openai", "temperature": 0 } ] } 

3、配置讲解

配置主要分为两块:

  • 顶层通用项(全局 API 地址、重试等)
  • ​oaicopilot.models​数组(定义可选的大模型)
顶层通用项
字段作用
​oaicopilot.baseUrl​通用 API 基地址,推荐全局只用一处。
​oaicopilot.delay​控制 Copilot 插件调用接口时的延迟,一般设 0(默认即可)
​oaicopilot.readFileLines​配合 Copilot 文件分段补全时用,设 0 即可
​oaicopilot.retry​Copilot Chat请求失败时的自动重试策略。
​oaicopilot.commitLanguage​Copilot建议生成commit的语言,通常填"English"即可
模型池 oaicopilot.models​
字段作用
​id​必须和/v1/models​能获得的模型id​一致(如"google/gemini-3-pro-preview"​)
​owned_by​一般填"provider名"即可,描述归属或来源
​baseUrl​建议只在顶层写一处,模型对象里不强制(写也可以,冲突时顶层优先)
​apiMode​绝大多数 Soraharu/OneAPI都填"openai",如果是anthropic/olllama/自定义才需变
​context_length​最大上下文长度(token数,依照模型能力填)
​max_tokens​每次回应的最大输出(token数,官方建议4096/8192之类)
​vision​支持多模态(如Gemini/Claude/Sonnet等具备图文能力才设true)
​temperature​控制AI输出随机性,越低回答越稳定,代码任务建议设为0

4、配置KEY

在 VSCode​ 页面进行操作:

  • ​Windows/Linux​ 环境:​​Ctrl+Shift+P​
  • ​Mac​ 环境:Cmd+Shift+P​

输入下面的命令,然后将KEY输入进去:

​Set OAl Compatible Multi-Provider Apikey​

四、模型使用

  1. 点击进入 Copilot 聊天框
  2. 点击模型选择框
  3. 点击模型管理(Manage Modules....)
  4. 选择 OAI Compatible​ 将左侧的隐藏眼睛关闭,这样我们自己设定的模型就会出现在选择框了。

Read more

Mac安装激活--Typora,一个比记事本更加强大的纯文本软件

Mac安装激活--Typora,一个比记事本更加强大的纯文本软件

一、安装 1.首先到官网下载Mac版的Typora,下载地址:https://typoraio.cn/ (1)打开默认中文站 (2)往下滑,下载Mac版 2.下载完成后,会看到Typora.dmg文件,点击打开文件 3.打开Typora.dmg文件,鼠标落在左边app图标上,按住拖拽到右边图标,安装完成。 4.打开启动台 ,可以看到Typora软件已安装成功。 5.点击Typora进入app的欢迎界面,发现未激活,只能试用14天。下面进行激活的操作。 二、激活 1.打开访达 ,按快捷键Command+Shift+G 打开搜索, 2.在上图红框内输入/Applications/Typora.app/Contents/Resources/TypeMark 点击回车,快速进入目录。

By Ne0inhk
Flutter 三方库 easy_money_formatter 的鸿蒙化适配指南 - 实现具备多种货币符号与千分位自动处理的金额格式化、支持端侧金融应用的动态金额渲染实战

Flutter 三方库 easy_money_formatter 的鸿蒙化适配指南 - 实现具备多种货币符号与千分位自动处理的金额格式化、支持端侧金融应用的动态金额渲染实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 easy_money_formatter 的鸿蒙化适配指南 - 实现具备多种货币符号与千分位自动处理的金额格式化、支持端侧金融应用的动态金额渲染实战 前言 在进行 Flutter for OpenHarmony 的电子钱包、电商支付或个人理财应用开发时,如何优雅、规范地展示金额数值?简单的 toStringAsFixed 无法处理千分位分割以及不同国家/地区的货币符号排列逻辑。easy_money_formatter 是一款轻量级、功能专注的金额处理库。本文将介绍如何在鸿蒙端快速构建符合金融规范的金额展示层。 一、原直观解析 / 概念介绍 1.1 基础原理 该库建立在“格式化掩码(Formatting Mask)”逻辑之上。它接收一段原始的数值(Double 或 String),根据预设的配置(如符号位置、

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 envied_generator 给鸿蒙应用的敏感 API Key 穿上“不可破解”的防护服(安全性加固利器)

Flutter for OpenHarmony: Flutter 三方库 envied_generator 给鸿蒙应用的敏感 API Key 穿上“不可破解”的防护服(安全性加固利器)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 应用开发时,我们不可避免地要集成各种三方服务(如高德地图 KEY、Firebase Secret、或是鸿蒙分布式服务的授权 Token)。如果你直接将这些字符串写在 Dart 代码里,任何初级黑客都能通过反编译你的 HAP 包,轻松获取这些敏感资产,导致巨大的商业损失。 envied_generator 配合 envied 就是专门解决这一安全痛点的。它不仅能将配置从 .env 文件读取到代码中,更关键的是它支持 Obfuscate(代码混淆)。它将你的 Key 转化为一串复杂的位运算逻辑,让反编译后的结果变得面目全非,为鸿蒙应用的资产安全筑起第一道堤坝。 一、配置加固工作流模型 该库通过代码生成,将明文配置文件转化为混淆后的 Dart 类。 .env (敏感明文) envied_generator

By Ne0inhk
鸿蒙跨平台实战:React Native在OpenHarmony上的AccessibilityInfo辅助功能开关详解

鸿蒙跨平台实战:React Native在OpenHarmony上的AccessibilityInfo辅助功能开关详解

鸿蒙跨平台实战:React Native在OpenHarmony上的AccessibilityInfo辅助功能开关详解 欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 摘要:本文深入探讨React Native中AccessibilityInfo模块在OpenHarmony 6.0.0 (API 20)平台上的实现与应用。作为无障碍功能的核心组件,AccessibilityInfo提供了获取设备辅助功能状态的能力。文章将从技术原理出发,详细分析跨平台适配机制,并通过实战案例展示在OpenHarmony环境下的具体实现。所有代码示例基于React Native 0.72.5和TypeScript 4.8.4编写,已在AtomGitDemos项目中验证通过。读者将掌握如何开发符合无障碍标准的应用,确保在鸿蒙设备上提供一致的用户体验。 1. AccessibilityInfo组件介绍 AccessibilityInfo是React Native提供的核心无障碍功能模块,用于检测和响应设备辅助功能状态的变化。在Ope

By Ne0inhk