v0.9.9
🎯 v0.9.9 — Onboarding overhaul
First-run is now a guided wizard instead of a static "install Ollama, run serve, pull a model, then come back"
panel. The path from dotnet tool install -g MandoCode to first chat is auto-detected, auto-recovered, or
auto-installed at every step where it's possible. New users hit zero dead-ends; existing users get faster /config, a
new /model quick-switch, and a --doctor preflight.
Highlights
- 🪄 Guided first-run wizard — auto-fires on first run and via
/setup. Walks you through Ollama install → daemon
start → cloud sign-in → model pick → context size, all from inside the terminal. - 📦 Auto-install Ollama — runs
winget install Ollama.Ollama(Windows),brew install ollama(macOS), orcurl install.sh(Linux) for you. Inherited stdio so you see the installer's progress and can answer prompts. Falls back to
opening ollama.com/download if anything fails. - 🔐 Auto-launch
ollama signin— wizard spawns the CLI command, browser opens, the local token is written
automatically. Fixes the "I signed in on the website but chat still 401s" trap. - 🚀 Auto-launch
ollama serve— when the daemon's down, the wizard offers to start it with a live-progress
spinner. - 🛟 401 auto-recovery on chat — if a chat hits 401 mid-session, the cloud sign-in walkthrough fires immediately.
No need to type/setup. - 🩹 Trailing-slash heal —
http://localhost:11434/is silently corrected. - 🎯 Wrong-port auto-fallback — when
ollama servesucceeds but your configured URL doesn't reach the daemon, the
wizard auto-probeshttp://localhost:11434and switches if reachable. No retype required. - 🪟 PATH-refresh detection on Windows — checks canonical install paths
(%LOCALAPPDATA%\Programs\Ollama\ollama.exeetc.) whenwhere ollamafails, so post-install detection works without
relaunching mandocode. - 🧠 Hardware-aware local model picker —
qwen3.5:0.8b(CPU-only) →2b→4b→9b(8+ GB VRAM) with size and
hardware expectations spelled out. Auto-pulls your selection. - ☁️ Cloud upsell after local pull — informational tip pointing to
minimax-m2.7:cloudas the more capable
alternative (free withollama signin).
New commands
| Command | Description |
|---|---|
/setup |
Guided wizard — reconnect to Ollama, install/sign in, or pick a different model |
/model |
Quick switch — pick a different model + context size |
mandocode --doctor |
Preflight check from the CLI: .NET runtime, Ollama status, models pulled, sign-in state. |
| Exits 0 if green, 1 if anything's off. |
UI improvements
- k-notation max-tokens picker (
32k,128k,200k) with current value highlighted at the top via← current
marker - Tiered context-size guide with educational intros on temperature and max-tokens (what tokens are, relationship
to model context window, per-tier usage examples) - VDOM-aware text input for URL entry in
/setupand/config— RazorConsole'sTextInputinstead of Spectre's
TextPrompt, fixing dropped keystrokes alongside the live render loop. Pre-filled with current URL ("press Enter to
keep current") - Combined cloud/local model picker with
(cloud)/(local)badges. Replaces the old two-step "Cloud or Local?
→ list" flow. - Inline color tags (
<red>,<green>,<yellow>,<cyan>) in the markdown renderer for chat error responses.
401 errors now showError:in red and the recommended action in green; backtickedollama signinkeeps its purple
inline-code styling.
Changed
- Default cloud model:
minimax-m2.5:cloud→minimax-m2.7:cloud(config defaults, README,/learn, system
prompt, error messages) - Default
MaxTokens: 4k → 32k for new installs (existing configs preserved) MaxMaxTokens: 256k → 200k after testing showed many cloud models hit a practical limit closer to 200k once
system prompts and tool definitions are accounted for. Existing configs with 256k saved get clamped on next load./helptable reorganized with/setupand/modelnext to/configand disambiguated descriptions- 16+ failure messages across the app now consistently surface
/setupand/retryas recovery paths
Fixed
- Status-aware
/api/tagsfetch with auto-retry — transient daemon hiccups no longer misroute users with pulled
models into the "no models yet" flow - Post-pick cloud auth check via
/api/generate— pulled cloud models that show in/api/tagsafter sign-out no
longer cause the wizard to falsely report "Setup complete" before chat fails with 401 - Picked-model validation via
/api/showbefore the wizard declares success — surfaces models listed in/api/tags
but not actually loadable - Misleading "Couldn't start Ollama" error when
Process.Startsucceeded but the URL didn't reach the daemon (port
mismatch); now distinguishes "process didn't launch" from "process launched but URL unreachable" <Markup>Razor component bracket markup — failure-state lines that used[yellow]…[/]now render in actual color
viaForegroundpropsLearnContent.Display()double-render on everyStateHasChanged
Breaking changes
- Configs with
MaxTokens > 200k(i.e. 256k saved) get clamped to 200k on next load. The picker shows 32k highlighted
next time/configor/modelopens — re-pick if you want. - Configs without an explicit
maxTokenskey now default to 32k instead of 4k. Configs with"maxTokens": 4096are
unaffected.
Install
dotnet tool install -g MandoCode # new install
dotnet tool update -g MandoCode # upgrade from 0.9.8
mandocode # launch — wizard auto-fires on first run
mandocode --doctor # troubleshoot if anything's off