Bifrost for GitHub Copilot (Unofficial)
VS Code extension that registers a first-class language model chat provider for the Bifrost AI gateway.
Note: This is an unofficial community extension. It is not an official Maxim HQ product.
Overview
GitHub Copilot Chat in VS Code can consume third-party models through the LanguageModelChatProvider API. This extension registers a first-class vendor (bifrost) so gateway models appear in Copilot Chat's model picker, auto-discovers them from GET {base}/models, streams chat completions (including Copilot Agent tool calls) to POST {base}/chat/completions, and stores gateway URLs plus optional virtual keys in VS Code SecretStorage.
Every configured Bifrost gateway is also automatically registered as an MCP server at {origin}/mcp. Tools exposed through Bifrost's MCP gateway appear in Copilot Agent mode alongside Copilot's own built-in tools — no extra configuration required.
This extension talks to the existing Bifrost OpenAI-compatible HTTP API. It does not embed, fork, or ship Bifrost itself.
Installation
From Marketplace
- Open VS Code
- Go to Extensions (Ctrl+Shift+X or Cmd+Shift+X)
- Search for "Bifrost for GitHub Copilot (Unofficial)"
- Click Install
From Source
pnpm install
pnpm run compile
pnpm exec vsce package --no-dependencies
Then install the generated .vsix file.
Usage
Prerequisites
- Install and run Bifrost:
npx -y @maximhq/bifrost
# or
docker run -p 8080:8080 maximhq/bifrost
- Configure providers in the Bifrost dashboard: http://localhost:8080
Copilot Chat Setup
- Open Copilot Chat in VS Code
- Click the model picker
- Select Manage Models...
- Choose Bifrost (Unofficial)
- Select a discovered model (e.g.,
openai/gpt-4o-mini)
Managing Endpoints
- Open Command Palette (Ctrl+Shift+P or Cmd+Shift+P)
- Run Manage Bifrost Provider
- Add/Edit/Remove gateway endpoints
- Test connection to gateways
- Open dashboard in browser
Every gateway you add is automatically registered as an MCP server at {origin}/mcp using the same virtual key you already stored. No extra setup is required.
- Tools appear in Copilot Agent mode under the gateway's name (e.g. Bifrost (default))
- If a gateway does not expose
/mcp, VS Code shows it as "not connected" in the MCP tools panel — chat model access is unaffected
- Adding, editing, or removing a gateway via Manage Bifrost Provider updates the MCP registrations immediately
- To see which MCP servers are active: open the Copilot Chat panel, switch to Agent mode, and click the tools icon
Ephemeral Filter
When VS Code 1.118+ sends cache_control sentinels, they are filtered out by default. Toggle with:
- Command Palette → Toggle Bifrost filter ephemeral data
Security & Privacy
Data Handling
- Virtual keys are stored in VS Code
SecretStorage (encrypted, never in plaintext settings)
- No prompts or completions are logged by this extension
- No additional logging beyond what Bifrost itself provides
- Logs contain only: endpoint shortname, model ID, HTTP status, duration, token estimates
Gateway May Route to Cloud
Important: This extension is a connector to Bifrost, which may route requests to cloud APIs (OpenAI, Anthropic, Bedrock, etc.). Prompts may leave your machine depending on your Bifrost configuration.
This extension does not claim "never leaves your machine" — that depends entirely on your Bifrost provider configuration.
HTTP Warnings
- Local Bifrost (
localhost, 127.0.0.1, ::1) can use HTTP safely
- Remote HTTP gateways show a warning (insecure transport); HTTPS is recommended
- HTTP warnings are non-blocking — your configuration is preserved
Key Rotation
To update a virtual key: open Manage Bifrost Provider, select the endpoint, choose Edit, and re-enter the key. The old value is overwritten in SecretStorage.
Clearing All Data
To remove all stored endpoints and keys:
- Open Command Palette → Manage Bifrost Provider → Remove each endpoint, or
- Uninstall the extension — VS Code removes all
SecretStorage entries for the extension automatically
Timeout Behaviour
- Chat requests: no read timeout — long agent tool loops are supported; cancellation is via VS Code's
CancellationToken
- Model listing / connection test: 10-second timeout per HTTP call
- Each request uses its own
AbortController; controllers are never shared
Development
Prerequisites
Setup
pnpm install
Build
pnpm run compile
Test
pnpm run test
pnpm run lint
pnpm run format
Attribution
This extension is based on:
It implements the same pattern but adapted for Bifrost's OpenAI-compatible API.
License
MIT - See LICENSE file for details.
Disclaimer
Unofficial: This is not an official Maxim HQ product. It is a community extension that talks to the existing Bifrost OpenAI-compatible HTTP API. Maxim may adopt the repo later.