Copilot Chat's model-switching problem has a clever proxy-based fix
on: yudaprasetya007/routeVSCODE
The core problem this solves is annoyingly real: GitHub Copilot Chat in VSCode locks you into a single model configuration, and switching means editing JSON files and reloading the window. Every context break costs you flow. This extension eliminates that friction by inserting a local HTTP proxy on port 20129 that sits between Copilot Chat and whatever AI gateway you're actually using.
The architecture is three-layer. The 9Router core engine runs on port 20128 as an AI gateway that handles routing to over 40 providers — OpenAI, Anthropic, Google Gemini, DeepSeek, Groq, OpenRouter, and others. The local proxy extension on port 20129 intercepts every POST /v1/chat/completions call that Copilot makes, rewrites the payload to inject whichever model is currently active in memory, and pipes the streaming SSE response back. A web dashboard on port 5500 lets you click a model and update the proxy's active model via REST without touching VSCode at all. The status bar integration gives you the same switch without leaving the editor.
The one-time setup in Copilot is the clever part: you select "9Router via Proxy" from the model picker exactly once, and from that point forward the proxy handles all model identity. The dashboard or status bar click changes what the proxy injects — Copilot never knows the model changed. No reload, no config file edit, no lost chat session.
The README is written in Indonesian, which narrows the immediate audience but doesn't obscure the mechanism — the sequence diagram and port assignments are clear regardless. The extension ships as a pre-built .vsix at version 2.5.0, so installation is a single code --install-extension command rather than a build step.
The practical limitation worth naming: this depends on the 9Router npm package running as a separate process, so you're adding two persistent local services (the core engine and the proxy) to your development environment. Port conflicts are explicitly called out in the troubleshooting section — if something else is already on 20129, the proxy won't start. That's a real operational cost for developers who run dense local stacks.
For anyone building or evaluating AI-assisted coding workflows across multiple models, the comparison tooling is also worth noting: the dashboard includes side-by-side latency benchmarking across models, which gives you actual response-time data rather than vibes when deciding which model to route a particular task to.
A local proxy that makes Copilot's model identity a runtime variable rather than a config file value — the architecture is sound and the friction reduction is genuine.