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
/modelsendpoint. - 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.
2. Configure a provider
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.jsonif 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.