Github copilot OpenAI-compatible endpoint
Connect VS Code to any OpenAI-compatible endpoint and use it as a native language model in Copilot Chat — no cloud lock-in required.
Works with Deepseek, Kimi, GLM, MimiMMax, CLIProxy, 9router, Omniroute and any other provider that speaks the OpenAI Chat Completions API.
Features
- Multiple providers — configure as many OpenAI-compatible endpoints as you need.
- Native Copilot integration — your models appear in VS Code's Language Models picker and work in agent/inline-chat mode with full tool-calling support.
- Built-in chat panel — a lightweight webview panel for quick conversations without leaving the editor.
- Secure key storage — API keys are stored in VS Code's encrypted
SecretStorage, never in plain-text settings.
- Auto model discovery — fetch the model list directly from the provider's
/models endpoint.
- Status bar shortcut — see the active model at a glance and switch with one click.
Screenshots


Getting Started
1. Install the extension
Install from the VS Code Marketplace or search "Personal OpenAI Chat" in the Extensions panel.
Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and run:
Personal OpenAI: Configure Provider
Enter:
- Display name — e.g.
CLIProxy Local
- Base URL — e.g.
http://localhost:11434/v1
- API key — leave empty for providers that don't require one
- Models — fetch automatically or enter comma-separated IDs
3. Start chatting
Personal OpenAI: Open Chat
Or select your provider's models from the Copilot Chat model picker.
Configuration
Settings are stored under personalOpenAI.* in VS Code settings.
| Setting |
Default |
Description |
personalOpenAI.providers |
[] |
List of provider objects (see below) |
personalOpenAI.temperature |
0.2 |
Sampling temperature (0 – 2) |
personalOpenAI.maxTokens |
4096 |
Maximum output tokens |
personalOpenAI.systemPrompt |
"You are a helpful coding assistant inside VS Code." |
System prompt prepended to every request |
personalOpenAI.requestTimeoutMs |
120000 |
Request timeout in milliseconds |
Provider object
// settings.json
"personalOpenAI.providers": [
{
"name": "Ollama Local",
"endpoint": "http://localhost:11434/v1",
// apiKey is optional — prefer "Configure Provider" to store it in SecretStorage
"models": ["llama3.2", "qwen2.5-coder:7b"],
"defaultModel": "qwen2.5-coder:7b",
"toolCalling": true, // expose as tool-capable in agent mode
"imageInput": false, // enable for vision models
"contextWindow": 128000
}
]
Security note: Avoid putting API keys directly in settings.json if the file is committed to source control. Use Personal OpenAI: Configure Provider instead — it stores keys in VS Code's encrypted SecretStorage.
Commands
| Command |
Description |
Personal OpenAI: Open Chat |
Open the built-in chat panel |
Personal OpenAI: Configure Provider |
Add or edit a provider |
Personal OpenAI: Pick Model |
Switch the active provider / model |
Personal OpenAI: Test Connection |
Verify connectivity to the selected provider |
Personal OpenAI: Diagnose Language Models |
Show which models VS Code can see |
Personal OpenAI: Clear Saved API Key |
Delete a stored API key from SecretStorage |
Development
Run in Extension Development Host
# Press F5 in VS Code, or:
npm run dev
Install into your normal VS Code
npm run install-local
Then fully restart VS Code.
Package for distribution
npm install
npm run package # produces a .vsix file
Publish to the Marketplace
npm run publish
Requires a Personal Access Token with the Marketplace (Manage) scope.
Lint
npm run lint
Contributing
Bug reports and pull requests are welcome on GitHub.
License
MIT