Heroi Chat
Heroi adds a smart @heroi chat participant on top of your existing GitHub Copilot subscription.
It does not replace Copilot's models. Instead, it routes your prompt to the best available Copilot model based on simple policy rules:
- Agent / Edit mode — uses
heroi.policy.agentDefaultFamily (falls back to defaultFamily). Tool-loop CONTINUATION turns (where the latest user-role message is purely tool results, no fresh prompt) can route to an even cheaper big-context family via heroi.policy.agentContinuationFamily. Downgrading to a small-context model is never applied in agent mode because it would overflow tool schemas + history.
- Short prompts — chat-mode prompts shorter than
shortPromptTokens downgrade to the configured cheap family (default gpt-4o-mini).
- Budget pressure — downgrade or block when the local premium-request cap is nearly spent.
- Explicit commands —
/force, /premium, and /cheap always work regardless of the above.
Heroi also tracks local premium-request usage and can optionally send telemetry to the Heroi dashboard when you configure an API key.
What Works Today
On normal VS Code installs, Heroi works immediately through @heroi in Chat.
Examples:
@heroi explain this function
@heroi /cheap summarize this file
@heroi /premium draft a refactor plan
@heroi /force claude-opus-4.5 review this code
You can also use:
Heroi: Ask with model…
Heroi: List Available Copilot Models
Heroi: Show Budget
Heroi: Enable Model Picker Preview
Model Picker (Heroi Auto / Cheap / Premium)
Heroi can appear in the native Copilot model dropdown as three virtual models:
| Model |
Behaviour |
| Heroi Auto |
Policy-routed. Agent/Edit mode always uses the default family. Short chat prompts downgrade to gpt-4o-mini. |
| Heroi Cheap |
Always gpt-4o-mini. Zero premium-request weight. Not recommended for Agent/Edit mode. |
| Heroi Premium |
Always the configured default family. Bypasses all downgrade rules. |
This uses a VS Code proposed API (chatProvider / languageModelChatProviders). It is a preview feature.
Normal VS Code
Use @heroi. This is the supported path for standard installs.
Preview Setup
To make Heroi appear in the native model picker:
- Install VS Code Insiders or launch stable VS Code with:
code --enable-proposed-api heroiai.heroiai-vscode
- Run Heroi: Enable Model Picker Preview from the Command Palette, or set:
"heroi.experimental.provider": true
- Reload VS Code (Developer: Reload Window).
After reload, open the Copilot Chat model picker and select Heroi Auto, Heroi Cheap, or Heroi Premium.
If the API is unavailable, Heroi shows a setup prompt with a Copy launch command button.
Installing from VSIX
cd apps/vscode-ext
pnpm build
npx @vscode/vsce package --no-dependencies
code --install-extension heroiai-vscode-0.2.1.vsix --force
Then reload VS Code.
Settings
| Setting |
Default |
Description |
heroi.overrideCtrlI |
false |
Bind Ctrl+I / Cmd+I to open @heroi |
heroi.policy.defaultFamily |
claude-sonnet-4.6 |
Default Copilot family. Used in Agent/Edit mode and by Heroi Premium. |
heroi.policy.shortPromptDowngradeTo |
gpt-4o-mini |
Cheap family for short chat prompts |
heroi.policy.shortPromptTokens |
300 |
Token threshold below which a prompt is considered "short" |
heroi.policy.budgetWarnFraction |
0.9 |
Fraction of the cap where downgrade begins |
heroi.policy.budgetSafeFamily |
gpt-4o-mini |
Family used when budget is nearly spent |
heroi.policy.capAction |
downgrade |
downgrade or block when cap is reached |
heroi.policy.agentDefaultFamily |
(empty) |
Family for Agent/Edit-mode turns. Empty = use defaultFamily. Big-context lower-weight families (e.g. gpt-4.1) save the most across long agent loops. |
heroi.policy.agentContinuationFamily |
(empty) |
Family for tool-result-only continuation turns. Empty = use agentDefaultFamily. |
heroi.budget.cap |
0 |
Local premium-request cap per period (0 = unlimited) |
heroi.budget.period |
month |
day, week, or month |
heroi.experimental.provider |
false |
Enable model-picker integration (preview) |
heroi.api.key |
— |
Optional Heroi dashboard API key |
heroi.api.endpoint |
— |
Optional ingest endpoint override |
heroi.api.project |
— |
Project slug used in dashboard events |
heroi.api.env |
— |
Environment label for dashboard events |
heroi.dev.userId |
— |
Developer id override for telemetry |
heroi.dev.team |
— |
Developer team label for telemetry |
heroi.dashboard.url |
— |
Dashboard URL for sign-in flow |
Status Bar
Heroi shows a status bar item with your local premium-request usage for the current period.
When a request is downgraded, Heroi also offers retry actions directly in chat, including Choose model… so you can quickly re-run with a specific Copilot family.
Local Development
cd apps/vscode-ext
pnpm build
Press F5 in VS Code. The included launch config starts the Extension Development Host with --enable-proposed-api heroiai.heroiai-vscode already set.
Known Limitations
- Native model-picker support is preview-only until the VS Code
chatProvider API is stable.
- Heroi cannot force standard VS Code installs to relaunch with proposed API permissions.
Ctrl+I integration remains opt-in and opens @heroi, not Copilot's built-in inline chat.
- Heroi Cheap (
gpt-4o-mini) is not suitable for Agent or Edit mode — its context window is too small for large tool lists and conversation histories.