Repository navigation
v1.0.14
Wizard v1.0.14 makes the chat behave like a conversation. Every message used to run plan, loop, verify, answer, so hi after an analysis planned, wrote code and ran it. Now each message gets the smallest workflow that serves it: a greeting is one reply, a question about your columns is answered from the data, a single number is one code call, and a complex investigation keeps the full plan and verification. It also adds an opt-in pre-release update channel, and the cloud model clients (OpenAI, Gemini, Anthropic) now come with the base install.
Install
| Platform | Command |
|---|---|
| macOS | brew install Wizard-AIA/wizard/wizard |
| Linux / macOS | curl -fsSL https://wizardw2.vercel.app/install.sh | sh |
| Windows (PowerShell) | irm https://wizardw2.vercel.app/install.ps1 | iex |
| Windows (Scoop) | scoop install https://github.com/Wizard-AIA/Wizard-w2/releases/latest/download/wizard.json |
Then wizard --version, wizard init, wizard start. Archives and SHA256SUMS are attached below.
Upgrading from v1.0.13
- Homebrew:
brew update && brew upgrade wizard. - Scoop:
scoop update wizard. - Installer script or
wizard update: runwizard update, or re-run the installer. - Restart afterwards (
wizard stop, thenwizard start) so the new backend loads. The saved answers from earlier sessions are upgraded in place on first start; nothing to do. - Running from source: reinstall with
uv pip install -r requirements.txt. The lockfile changed (see "Dependencies").
Chat that answers what you asked
- Smallest workflow that fits. The message is routed before any model runs. A greeting or a thank-you is one conversational reply. "What columns are there?" is answered from the data frame in one call. "What is the average salary?" is one code call and an answer. A churn investigation still plans, runs, and verifies. Routing reads evidence from the message and the session, not a phrase list, and details are in
docs/routing.md. - Depth (Auto, Fast, Deep) is a preference. It changes how hard Wizard works on an analytic question and never turns a greeting into an analysis.
- Chat before you upload. With no dataset you get a normal reply, and a question that needs data says so and offers the upload, not an error.
- Stop and interrupt. Every turn ends in exactly one closing frame. Stop leaves the composer usable, typing "stop" cancels a running task, and any other message sent mid-run is returned to the composer instead of failing the task.
- Each answer says what was done: "Answered directly", "Investigated", "Planned, then investigated" or "Plan only", with the reasons on hover.
- A message that only names a column ("my region is Europe") no longer runs an analysis. "Outline the analysis but do not run it" plans and stops. "Execute the plan" runs the plan that was waiting, against the question it was made for.
Checked against a live Gemini model over the real chat socket: after an analysis, hi came back as a plain reply in about two seconds with one model call.
Cloud models and dependencies
- The provider clients for OpenAI, Gemini, LM Studio, custom gateways and Anthropic are in the base install. Before, a cloud setup needed an extra file, and the lockfile did not include the OpenAI client at all.
wizard initandwizard updateno longer installrequirements-optional.txt. They used to add it for any cloud or hybrid setup, which pulled in Redis and every database and object-store driver. The file still ships; install it yourself if you want Redis or a connector driver.- PDF and Word context documents work on a base install (
pypdf,python-docx). - Dependencies: the lockfile is regenerated. It had drifted from
requirements.txt, pinning pandas 2.3.3 where 3.0.5 is declared.
Update channels
A tag like vX.Y.Z-beta.N is published as a GitHub pre-release. Nothing changes unless you opt in with wizard channel pre-release, wizard update --pre-release, or the installers' --pre-release flag. Stable installs, Homebrew, Scoop and the website only ever follow the latest stable release, and Wizard never downgrades.
Fixes
- Unrun code was cached as the answer. Declining a library install left code that never ran, and asking again replayed it and asked for the same install. Only code that actually ran successfully is cached now.
- Reviewers and chart descriptions ignored your data policy. Under a schema-only policy a reviewer received execution output and a chart went to a cloud vision model. Both now follow the same rule as the main model, and a schema question sends column names, types and counts, never example values.
- Two tabs could run turns on one session at once, and a dataset could be switched or deleted under a running turn. One turn per session now holds on every transport, and dataset changes answer
409while a turn runs. - The answer cache overwrote entries. It is now keyed on the question and the dataset it was written for.
- A tab left open across a backend restart no longer shows four
404 Session not founderrors; it recovers once and replays the failed reads. - The escalation marker only counts when it is the whole reply, so text echoed from your data cannot start an analysis. "Go ahead" clears a stale Approve box, and slow clients no longer lose the frame that ends a turn.
Developer and CI improvements
- One place decides output limits (
llm/generation.py), with adapters for Ollama, OpenAI-compatible servers and Anthropic, and a text-freeTurn tracelog line per turn (route, models, calls, budgets, latency). scripts/live_acceptance.pyruns the routing flow against a real provider over the real socket; the key is read from stdin only.- The substring-based
SLMRouterand theis_simpleshortcut are removed.
Known limitations
- Routing is a heuristic tuned for English. Another language usually lands in "converse, and escalate to analysis if needed", which costs at most one small extra call. A wrong light route is recoverable in the same turn; a wrong heavy route only costs time.
- Web search runs only in a planned turn, so a direct question never searches. Ask in Deep, or ask for a plan, when a question needs outside knowledge.
- The full plan-and-verify path was exercised live on one model (
gemini-2.5-flash). On the newer Gemini previews we tried, the provider returned 503s, quota errors or stalled streams during those runs, so they are not validated for it. - The chat interface was not walked through in a browser for this release; the state logic behind it is covered by tests.
- Windows is verified through CI only, and Windows on ARM is not supported yet.
Full details are in CHANGELOG.md.