JoinGrove

Copilot BYOK

Source: docs/models/copilot-byok.md
Generated: 01/09/2026

Use Bring Your Own Key (BYOK) and local Ollama models through the Copilot extension — without forcing a cloud-only workflow.


Key Concepts

  • What: BYOK lets JoinGrove route utility and chat models to Ollama while retaining upstream Copilot agent features when signed in.
  • Why: Developers want Copilot agent mode when online, but campus labs need fully local models when egress is blocked.
  • Related: Ollama setup (../integrations/ollama.md), zero egress (egress.md), GitHub integration (../integrations/github.md).

API / Reference

Setting / file Purpose
~/.joingrove/User/chatLanguageModels.json Ollama provider groups
chat.defaultModel e.g. ollama/qwen2.5-coder:7b
joingrove.offline.zeroEgressMode Blocks Copilot cloud when true (default)
joingroveOfflineFirst contribution Runtime BYOK + Ollama defaults
product.jsonjoingroveOfflineProviders Bundled model catalog

Commands

Command ID
Set up local AI joingrove.setupOfflineAi
Check Ollama joingrove.checkOllamaStatus
Toggle zero egress joingrove.toggleZeroEgressMode
Security mode wizard joingrove.securityModeWizard

Setup & Installation

  1. Run npm run setup-offline-ai to write BYOK config for Ollama.
  2. In zero egress mode (default), only local models are reachable — no Copilot cloud calls.
  3. To use Copilot cloud → Command Palette → Network Security Mode (joingrove.securityModeWizard) or disable zero egress.
  4. Pick model in Agents chat — Ollama models appear after setup.

Code Examples

Write BYOK config:

npm run setup-offline-ai

Probe Ollama from smoke script:

npm run smoke-run-anywhere -- --check-ollama

Full offline bundle (models + extensions + config):

npm run install-offline-bundle

Next: No GitHub Copilot subscription is required when using fully local Ollama models only.


How It Connects