Software engineering · use case
Route coding requests by what they need: completions and small fixes to a fast, cheap model; refactors and reviews to a coding agent; architecture and security questions to a reasoning model. Works through the MCP server in VS Code, Cursor and Claude, with the cost of each request shown.
Free plan, no card. Self-hosting is free forever; the rules below run the same way on both.
The situation
An IDE assistant uses whatever model it was configured with for everything - a variable rename and a cross-module refactor cost the same and get the same attention. Switching is a setting a person flips, and nobody knows what the day's completions cost until the invoice.
What changes
One request
Code requests go to the best coding model; everything else stops paying coding-model prices.
The policy
This is the rules.yaml that produces the behaviour above; targets.yaml names the models, agents and people it refers to. Complexity is a signal, so a one-line regex question never wakes the coding agent.
rules:
- name: real-code-to-the-coding-agent
when:
domains: [coding]
min_complexity: 0.45
prefer: [coding-agent]
weight: 0.7
- name: prose-never-pays-coding-prices
when:
domains: [general_chat, marketing, hr]
avoid: [coding-agent]
weight: 0.6Example: Illustrative configuration or synthetic data, not a customer's.A reference configuration to start from - rules the router enforces as written, not a description of how a named customer runs it.
OpenSmartRoute is open source and the free plan keeps the full trace of every decision. Create a workspace, paste the rules, route a request.
Free plan, no card. Fifteen thousand decisions a month with the full trace.