Skip to content

Whisper Studio 2.3.0

Choose a tag to compare

@github-actions github-actions released this 14 Aug 11:33
· 25 commits to main since this release
0ed920d

Whisper Studio can draw

Some answers were never meant to be paragraphs. An architecture you are trying to picture, a trend you are trying to feel, a flow with four branches and a loop: prose describes these, but it makes you assemble them in your head one sentence at a time.

This release gives the assistant a pen. Ask how the pieces fit and a diagram appears in the conversation. Ask what the numbers did and a chart appears, drawn from the actual data rather than described around it. The picture arrives in the reply itself, inline, where the sentence explaining it would have been.

Two tools sit behind it:

  • create_visual draws diagrams as hand-authored SVG: architecture and flow, comparisons, timelines, state machines, sequence and pipeline. Every shape and label is placed deliberately, so a box sits where it means something rather than where a layout engine dropped it. Nothing names a colour. The drawing borrows the palette from your theme, so it reads correctly in all eight of them, and the text inside stays real text you can select, search and copy.
  • create_chart plots real data from a Vega-Lite spec, including figures read straight out of a spreadsheet you attached or computed on the spot with run_python. Colours, fonts, grid and legend styling come from the app theme automatically, so the chart is asked for in terms of what the data means, never what it should look like.

Every picture can be downloaded as SVG or PNG, or copied to the clipboard. Both tools run entirely on your machine with nothing fetched at render time, and neither stops to ask permission, because nothing is written and nothing runs on your computer.

New features

  • Side-by-side diffs from the Git panel. Clicking a file's status letter in Git Changes opens a read-only diff against HEAD, the way VS Code shows one. The window is resizable and movable, remembers where you put it, and switches between side-by-side and unified. Long runs of unchanged lines collapse to an expandable marker.
  • Attached files are read in full. Dropping a spreadsheet into the composer used to keep a header plus 20 sample rows and throw the original away, so a question about a total got a confident sum of the sample. On a 10,000-row sheet that answer was wrong by 99.8%. Uploads now keep their bytes, and any count, total, average or chart is computed from the real file.
  • Workflow runs are visible. A launched workflow now appears in the Background Tasks panel, as an inline card in the chat, and in a run list under Settings. When one finishes it reports itself back to the assistant on the next turn, so a swarm you left running is something you get told about rather than something you have to go looking for.

Bug fixes

  • Ultracode never actually launched a workflow. The workflow tools were missing from every request, so the model quietly substituted a single agent while its own instructions told it to orchestrate a fleet. They are on the wire now.
  • Approving a card could leave the turn dead. A failed approval request escaped its handler, so the assistant was never told you approved: no message, no error, and every button on the next card stuck on "Running…" until a reload. The resume path now mirrors a normal send, so history, settings and recovery after a restart behave identically on both.
  • The token counter was wrong. The composer read "4 in" for prompts of several thousand tokens, because it counted only the part that missed the prompt cache and ignored everything served from it. Cost was always calculated correctly. Tokens, cost and remaining context now live in one readout in the composer instead of two places disagreeing.
  • A small on-device model answered "hey" with a JSON blob. Anything under 7B was installed with the full tool pool, which such a model cannot drive: it emitted the tool call as raw text into the reply. Models that small are now installed as chat-only, flagged in Discover before you download and in the model picker when you choose one. Models installed before this change are corrected once on launch.
  • Documentation described things that do not exist. The approval flow was written up across four diagrams and the README as issuing a "nonce", which appears nowhere in the code, and several pages claimed chat always routes to Claude on Bedrock when it also serves GPT-5.x and on-device models. Both corrected, plus a new tutorial on triggering an Ultracode swarm.
  • For contributors: eight modules resolved the sessions database path at import time, so tests could write into the real database of whichever checkout ran the suite. Tests are isolated from it now.

Install

Download the DMG below and drag Whisper Studio to Applications. On first launch, right-click the app and choose Open (the build is not notarized).

Apple Silicon, macOS 14 or later.

Full changelog: v2.2.0...v2.3.0