Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>Hyper Model ProviderNew to Visual Studio Code? Get it now.
Hyper Model Provider

Hyper Model Provider

swq123459

|
5 installs
| (0) | Free
Bring a self-hosted model gateway into GitHub Copilot Chat as a model provider.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Hyper Model Provider

Bring a self-hosted model gateway into GitHub Copilot Chat.

A gateway that exposes an OpenAI-compatible model catalog and a streaming messages API can be used as a BYOK model provider: configure one or more gateways, paste each gateway's token once, and the models from every gateway show up (merged) in the Copilot Chat model picker — including reasoning (thinking) toggles, tool calls and token usage.

setting: providers[].baseUrl ──► hyper-model-provider ──► Copilot Chat model picker
SecretStorage: provider[].token          │
                                        └── gateway: GET /v1/config + POST /v1/messages

工作方式

  1. 读取设置 hyper-model-provider(provider 数组,可为空时不会暴露任何模型),每个 provider 有自己的 name 和 baseUrl。
  2. 读取 VS Code SecretStorage 里每个 provider 独立的访问令牌(首次由 Hyper: Set API Key 弹框写入,按 provider 名区分)。不读任何本地配置文件,也不调用外部 CLI。
  3. 对每个配置的 provider GET /v1/config 拉取模型目录(上下文窗口、最大输出、思考模式、图像输入),把所有 provider 的模型合并注册给 Copilot。模型在选择器里以 <provider名>/<模型名> 展示,避免不同 provider 同名模型混淆;内部 id 用 <providerName>::<modelId> 命名空间保证跨 provider 唯一。
  4. 对话时按模型所属的 provider 路由,把 VS Code 的消息与工具声明转换成网关协议,请求 POST /v1/messages,再把 SSE 事件转成 Copilot 的文本 / thinking / tool call / usage。

前置条件

  1. 一个在跑的、支持上述两个端点的模型网关,以及它的访问令牌。
  2. Copilot Chat 已启用 BYOK 模型提供程序(本扩展通过 vscode.lm.registerLanguageModelChatProvider 注册)。
  3. 扩展宿主(本机 / Remote-SSH 的远端 / 容器)能直连该网关地址。

一次安装,处处可用:本扩展只贡献语言模型(LanguageModelChatProvider),不依赖工作区文件,因此作为 UI 扩展在本地扩展宿主运行——装上一次后,Dev Container / Remote-SSH 等所有远程窗口都会复用本地的这份安装,无需在每个容器里重装。

快速开始

  1. 安装扩展并重载 VS Code。

  2. 若 hyper-model-provider 为空,扩展会在激活时弹框引导依次输入 name(自定义)和 baseUrl 添加第一个 provider,然后可选设置 API key。也可以手动在 settings.json 里填写,或用 Hyper: Add Provider / Hyper: Open Settings:

    "hyper-model-provider": [
      {
        "name": "my-gateway",
        "baseUrl": "http://127.0.0.1:8099",
        "maxTokens": 0,
        "requestTimeoutSeconds": 900,
        "requestHeaders": {}
      }
    ]
    
  3. 命令面板执行 Hyper: Set API Key,选择 provider 并粘贴其访问令牌回车(扩展会先向网关校验一次)。每个 provider 的令牌相互独立。

  4. 打开 Copilot Chat 的模型选择器,选 Hyper 分组下的任意模型;思考开关在模型配置里(On / Off)。

命令

命令 作用
Hyper: Add Provider 弹框输入 provider 的 name 和 baseUrl 并写入配置
Hyper: Remove Provider 删除一个已配置的 provider(连同其 API key)
Hyper: Set API Key 弹框选择 provider,输入访问令牌,校验通过后存入 SecretStorage
Hyper: Clear API Key 删除已保存的令牌(确认后该 provider 的模型会从选择器里消失)
Hyper: Refresh Models 丢弃缓存并重新拉取所有 provider 的模型目录
Hyper: Show Status 逐个显示各 provider 的地址、令牌指纹、模型数量 / 失败原因
Hyper: Manage Provider 汇总入口:增删 provider、设置 / 清除令牌、刷新模型、查看状态、打开设置、查看日志
Hyper: Open Settings 打开本扩展的设置
Hyper: Show Logs 打开输出面板

设置

hyper-model-provider 是一个 provider 数组。每个元素:

字段 默认值 说明
name (必填) 自定义、唯一的 provider 名字,用于区分 API key 与模型
baseUrl (必填) 网关地址;结尾的 / 或 /v1 会被忽略
maxTokens 0 该 provider 单次请求的最大输出 token;0 表示用目录里该模型自己的 maxTokens
requestTimeoutSeconds 900 该 provider 流式请求的整体超时;思考模型首个 token 可能很慢
requestHeaders {} 追加到该网关请求上的 HTTP 头,供反向代理使用

访问令牌不在设置里,存在 VS Code SecretStorage(Settings Sync 不会同步它),并按 provider 名分别存储。

排错

  • 模型列表为空:跑 Hyper: Show Status。常见原因是没配置任何 provider、某 provider 没设 API key、网关不通,或令牌被网关拒绝。
  • invalid or expired access token:令牌不对或已在网关侧被换掉,重新 Hyper: Set API Key。
  • Hyper: Set API Key 提示网关不可达:令牌仍会保存,但需要确认 baseUrl 和网关实际监听地址/端口一致(远程场景不能填 127.0.0.1)。
  • Remote-SSH / WSL / 容器:扩展跑在远端,baseUrl 必须从远端可达。
  • 思考开不掉 / 开不出来:网关侧模型目录里的思考方言与该模型不匹配,需要在网关侧修正。

目录结构

src/
├── extension.ts   # 激活、命令、Copilot Chat 激活后刷新
├── provider.ts    # LanguageModelChatProvider:目录缓存、流式响应、usage
├── apiKey.ts      # SecretStorage 中的访问令牌(弹框、校验、清除)
├── gateway.ts     # /v1/config 与 /v1/messages 的 HTTP + SSE 客户端
├── convert.ts     # VS Code 消息 → 网关 context
├── models.ts      # 目录模型 → LanguageModelChatInformation(含思考开关 schema)
├── tokens.ts      # token 估算(按 usage 自校准)
├── providerConfig.ts # provider 数组的解析 / 序列化
├── errors.ts      # 错误归一化
├── logger.ts      # 输出通道
└── consts.ts

不依赖运行时 npm 包,只用 Node 内置模块 + VS Code API。

开发

npm install
npm run compile   # tsc → out/
npm run package   # dist/hyper-model-provider-<version>.vsix

按 F5(Run Extension)用 --extensionDevelopmentPath 启动调试实例。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft