Repository navigation
Releases: BudEcosystem/Bud-Decision-Studio
Release list
Bud Decision Studio 0.3.0
Teach a model your own decisions, and twelve fixes, one of them for privacy.
New: the Train page
- Teach any of the eleven models from a spreadsheet of your past decisions, on your own computer's GPU. The studio works out the questions from the file, recommends a model with a time estimate, trains it, and shows the result on examples it never saw, with one it used to get wrong.
- Nothing worse is ever kept. Each training replays general decisions so the model keeps what it knew. The trained model is kept only if it is better on your held-out examples, no worse on general questions, not answering everything the same way, and identical once saved and reloaded.
- Trained models appear with the others in the Playground, Models, Evaluate and your code. Each one is a small file of changes on disk and needs no extra memory. Export and Import a trained model move one between computers.
- Training is safe to leave running. One training at a time, in its own process, within a memory limit, at low priority. It waits when other programs need the memory, can be paused and continued, and restarts itself if the GPU stops responding.
- The training API is under
/api/trainingand/api/finetunes. - CLM 8B gives the same answer to the same request every time. Before, an answer could move by up to 0.06 depending on what was cached.
- Intern-Decision 4B and Lev load straight onto the GPU, without a temporary second copy of the weights in memory (about 9 GB on an NVIDIA GB10).
Training has been verified on an NVIDIA GB10 (Linux), with accepted runs on all eleven models. It has not yet been run on Windows, Apple Silicon or discrete NVIDIA cards; AMD and Intel GPUs are experimental and off by default (Settings, "Allow experimental training").
Fixes
- A sensitive file is never kept (privacy). An image, audio or video variable marked
sensitivewas stored with the decision: its contents, its file name and its content hash. The model now reads it and History keeps only a keyed hash, as for every other sensitive value. If you used sensitive file variables on 0.2.x, those earlier decisions still hold the files; delete or redact them in History. - Background decisions no longer report a false save failure. Each one came back with a
history_write_failedwarning although it was saved. - A template's default model is no longer shown as unable to run it. A variable that may hold more text than a model reads is now a note, not a blocker.
- A version that narrows a variable is marked breaking, because it can refuse values callers already send.
- A variable with a default is never required.
- Cancelling a background decision stops the model load it started, unless another request is waiting for that model or you loaded it yourself.
- Evaluate recommends an act threshold only within 50% to 99%, the range the Playground's slider can show.
- Save as template in a fresh window saves the model the Playground uses, instead of no default model.
- The template id and alias fields are checked in the browser again.
- Leaving the Playground straight after opening it no longer throws an error.
- A second studio started with
BASAL_NO_DOWNLOADS=1explains why it cannot download, instead of failing with an error 500. - The environment check reports a GPU that is out of memory as that, not as "PyTorch failed to import".
Documentation
The repository now has a full documentation site in site/docs/: installation, a user manual for every page, concepts, guides, the API reference and developer docs. Open site/docs/index.html, or serve the site/ folder.
Update
Install 0.3.0 over the app: download the file for your computer below, or run the one-line command again (curl -fsSL https://raw.githubusercontent.com/BudEcosystem/Bud-Decision-Engine/main/get.sh | sh on macOS and Linux, irm https://raw.githubusercontent.com/BudEcosystem/Bud-Decision-Engine/main/get.ps1 | iex in PowerShell on Windows), then quit and reopen the app. Your engine, settings, models, templates and history are kept.
Bud Decision Studio 0.2.1: the decisions endpoint, easy to find
The decisions endpoint is easy to find, and so is what gets saved.
- The API page now opens on the Studio API.
POST /v1/studio/decisionscomes first, and its quick start runs a starter template. Before, it sat behind a fourth tab, so it looked missing. - Every decision endpoint says "Saved to History", in every format (the studio API, TypeSafe, OpenRouter and Vercel), and the page's summary says how to keep nothing: send
"store": false. Each saved call's id comes back in thex-basal-decision-idresponse header. - The interactive reference (
/docs) now documents the studio API's request bodies, with examples you can run from the page. It also covers the main History filters and each endpoint's path parameters. Try it out works; before, it offered no body to fill in.
Includes everything in 0.2.0: templates, History, version comparison and test examples.
Update
Install 0.2.1 over the app: download the file for your computer below, or run the one-line command again (curl -fsSL https://raw.githubusercontent.com/BudEcosystem/Bud-Decision-Engine/main/get.sh | sh on macOS and Linux), then quit and reopen the app. Your engine, settings, models, templates and history are kept.
Bud Decision Studio 0.2.0: templates and history
Templates and history. Decisions you make once can now be reused, and every decision is kept, so you can see how they went and improve them.
- History replaces Activity. Every decision is kept on this computer, whether it came from the Playground or from your code through any API format: the situation, the questions, the answers, the model and the timing. Filter by template, model, answer or time; open the decisions that asked a human; label the right answers; rerun one on another model; pin the ones to keep. By default decisions are kept for 30 days; the History page sets what is kept and for how long.
- Templates are decisions you reuse on any model: the questions, variables that fill in the situation (a message, a plan tier, a screenshot), and a default model and settings. Every save is a new version. Code can pin
support-triage@3, follow an alias such assupport-triage@production, or take the latest. Callers can add questions of their own, add options or skip questions where the template allows it. - Compare versions on real traffic: how the answers are spread, how often each version acts on its own, its accuracy on the decisions you labelled, and how the answer changed for the same input.
- Test examples: inputs with their right answers, added from History in one click.
- In the Playground, open a template (the new Templates button) to fill in its variables and run it, Save as template to keep a decision you built, or Edit questions and Save version to improve a template. Keep in history turns saving off for your own experiments.
- 30 starter templates, one for each Playground example.
- The studio API (
/v1/studio) beside the TypeSafe-compatible/v1/systemone, the way OpenAI's Responses API sits beside Chat Completions: templates, decisions with history, feedback, test examples and settings. Reference: docs/studio-api.md.
/v1/systemone is unchanged. Responses are byte-for-byte what they were, and the official TypeSafe SDKs still pass every conformance test. Calls are now saved to History too; to keep nothing for a call, send "store": false in the body (TypeSafe's own servers ignore it) or the header X-Basal-Store: 0. Variables marked sensitive are used for a decision and never written to disk.
Safer by default. Web pages from other sites open in your browser can no longer send decisions to the studio.
Your earlier Activity log is imported into History the first time 0.2.0 starts.
Update
The app does not update itself yet. Install 0.2.0 over it: download the file for your computer below, or run the one-line command again (curl -fsSL https://raw.githubusercontent.com/BudEcosystem/Bud-Decision-Engine/main/get.sh | sh on macOS and Linux), then quit and reopen the app. Your engine, settings and models are kept.
Bud Decision Studio v0.1.5
Updates always show.
- No stale interface after an update. The studio now tells the app window (and any browser) to check for a newer version of the interface's scripts and styles every time; unchanged files cost only a quick check. Before, a window could keep running cached files from the previous version after an update.
- The desktop app keeps the same address. When port 8420 was taken by another program, the app picked a random port on every launch, and the window lost what it saves per address: your draft, the theme and choices already made. It now reuses the port it used last time (8420 when free) and remembers it.
Includes everything from 0.1.1 to 0.1.4: the macOS setup fix, the model chooser fix for Safari, New for starting a decision from scratch, and examples made for each model.
Update
The app does not update itself yet. Install 0.1.5 over it: download the file for your computer below, or run the one-line command again (curl -fsSL https://raw.githubusercontent.com/BudEcosystem/Bud-Decision-Engine/main/get.sh | sh on macOS and Linux), then quit and reopen the app. Your engine, settings and models are kept.
Bud Decision Studio v0.1.4
Every model now comes with its own examples. Each model is good at something different. CLM 8B, for example, is a decision model for AI agents, and it used to open on the same support ticket as every other model. Now choosing a model shows what it is made for straight away:
| Model | Opens with |
|---|---|
| CLM 8B | a web agent choosing its next action; a request turned into the right action; a move in a text game |
| Lev | one question with 77 banking intents; checking an AI answer against a source |
| Kev 4B | a refund policy with an exception; a risky code change |
| Kev 0.5B | 77 banking intents; a news headline |
| Laya Typed-Decisions | auditing an AI agent's run; a vendor invoice that does not match its order; an impossible-travel security alert |
| Laya Multilingual | a message in Japanese; one in Spanish |
| Julia 1 | a message in German; one in Spanish |
| Laya | a support ticket; comment moderation; prompt-injection screening |
| GLiNER2.5 Decide | a log line; tagging a customer message |
| Intern-Decision 4B | every question type at once; a receipt photo; a chart |
| Jev-Omni | a receipt photo; a chart; a fact check |
Every example was run on its model and checked to give the right answers. Examples a model got wrong were rewritten or dropped.
- In the Playground, choosing a model while an example is showing swaps in that model's own example. Undo brings the previous one back. Anything you have written yourself is never replaced.
- The Examples menu opens with "Made for" the selected model. The placeholders for the situation and the questions follow the model; CLM, for instance, asks "What should the agent do next?".
- A blank decision shows what the model is made for and its examples. CLM also shows a tip on phrasing questions the way it works best.
- The Models page shows "Made for" and Try it links for each model.
Update
Install 0.1.4 over the app: download the file for your computer below, or run the one-line command again. Your engine, settings and models are kept.
Bud Decision Studio v0.1.3
Start a new decision from scratch. The Playground used to open with an example or your last draft, with no way to start blank.
- New, next to Examples (and Blank decision at the top of the Examples menu), clears the situation, questions, attachments and answers. Your chosen model and settings stay. The cursor lands in the situation box, ready to type. Pressed it by accident? Undo in the message at the bottom brings everything back.
- A blank Playground shows three steps on the right (describe the situation, add a question, press Decide), ticked off as you do them. There is also a shortcut to start from an example instead.
- Pressing Decide before adding a question takes you to Create new Decision and highlights it. Messages about what is missing disappear as soon as you fill the gap.
Update
Install 0.1.3 over the app: download the file for your computer below, or run the one-line command again (curl -fsSL https://raw.githubusercontent.com/BudEcosystem/Bud-Decision-Engine/main/get.sh | sh on macOS and Linux). Your engine, settings and models are kept.
Bud Decision Studio v0.1.2
Fixes the "Choose models to download" sheet on macOS. On 0.1.1 the list of models collapsed to a thin strip showing half of one row, so you could not see or tick the models.
Why it happened. The sheet's list was told to start from zero height and take the space left over. Safari's engine, which the macOS app uses, keeps that zero when the sheet has no fixed height, so the list kept only its padding. Chromium sizes it to its content instead, which is where the interface had been tested. The list, and the other scrolling areas, now start at their content's height and scroll when the window is full, which looks the same in every engine.
Tested in real Safari. A new check opens the studio in Safari on macOS 14 and 15 through Apple's safaridriver. It confirms the old rule shrinks the list to 12 px, the same as the reported screenshot, and that the fix shows all eleven models. It also checks every page and dialog, and runs on every interface change.
Also. The Learn page no longer assumes a GPU.
Update
Install 0.1.2 over the app: download the .dmg below and replace the app, or run curl -fsSL https://raw.githubusercontent.com/BudEcosystem/Bud-Decision-Engine/main/get.sh | sh again. Your engine, settings and downloaded models are kept.
Bud Decision Studio v0.1.1
Fixes first-run setup on macOS. On 0.1.0, setup stopped at "Installing the model libraries" with error: File not found: /Users/<you>/Library/Application and "The model libraries could not be installed."
Why it happened. Setup pinned the PyTorch build it had just installed with a constraints file inside the app's data folder. On a Mac that folder is ~/Library/Application Support/ai.bud.decisionstudio, and uv splits constraint-file paths at spaces, so it looked for …/Library/Application. The same could happen on Windows for user names with a space. Setup now pins PyTorch by naming it directly in the install, with no file path involved.
Also fixed. Setup read PyTorch's version and the final device check together with any warnings PyTorch printed, so a warning could be mistaken for the version or fail the device check. Both now read only the real answer. The Details log shows commands with correct quoting, and Copy details no longer repeats the error.
Tested. A real first-run install into a folder named "Application Support" now passes on macOS (Apple Silicon), Windows and Linux on every change to the installer, together with new regression tests.
Update
- If setup failed on 0.1.0: install 0.1.1 over it (download the
.dmgbelow and replace the app, or run the one-line command again), open it, and go through setup again. It reuses the Python and PyTorch already installed by your first attempt, so it continues where it stopped. - Everyone else: nothing changes for you.
Easiest install: curl -fsSL https://raw.githubusercontent.com/BudEcosystem/Bud-Decision-Engine/main/get.sh | sh (macOS and Linux) or irm https://raw.githubusercontent.com/BudEcosystem/Bud-Decision-Engine/main/get.ps1 | iex (Windows). All downloads: see the assets below and the README.
Bud Decision Studio v0.1.0
The first release of Bud Decision Studio: run open decision models (Jev-like "System One" models) on your own computer. Give a model a situation and a few questions; get a calibrated probability for every answer, in milliseconds.
Install
Easiest: one command, and the app opens when it is done.
- macOS (Apple Silicon) and Linux:
curl -fsSL https://raw.githubusercontent.com/BudEcosystem/Bud-Decision-Engine/main/get.sh | sh - Windows (PowerShell):
irm https://raw.githubusercontent.com/BudEcosystem/Bud-Decision-Engine/main/get.ps1 | iex
Or pick your download below:
| Your computer | File |
|---|---|
| Mac with Apple Silicon (M1 or newer) | Bud.Decision.Studio_0.1.0_aarch64.dmg |
| Windows 10 or 11 | Bud.Decision.Studio_0.1.0_x64-setup.exe (or the .msi) |
| Ubuntu or Debian, Intel or AMD | Bud.Decision.Studio_0.1.0_amd64.deb |
| Ubuntu or Debian on ARM64, including NVIDIA GB10 / DGX Spark | Bud.Decision.Studio_0.1.0_arm64.deb |
| Fedora or openSUSE | …x86_64.rpm or …aarch64.rpm |
| Any other Linux | the .AppImage for your processor |
The first launch checks your hardware, asks whether models should run on the GPU or the processor, and installs the matching engine (PyTorch for CUDA, Apple Metal, Intel XPU, ROCm or the CPU) by itself. Then you choose which models to download.
In this release
- Eleven models: Julia 1, Laya, Laya Multilingual, Laya Typed-Decisions, Kev 0.5B, Kev 4B, Lev, GLiNER2.5 Decide, Intern-Decision 4B, CLM 8B and Jev-Omni.
- Six kinds of question: pick one, rate on a scale, yes or no, pick any, put in order, estimate a number.
- Pages: Playground, Models, Evaluate (leaderboards and calibration on your own examples), Activity, API, Learn and System.
- API: TypeSafe's Jev API at
http://127.0.0.1:8420/v1/systemone, plus OpenRouter's and Vercel AI Gateway's formats. The official TypeSafe SDKs work unchanged.
Tested
API conformance: 14 of 14. End to end through the interface: 21 of 21, with every model answering all six question types on an NVIDIA GB10. Details: docs/testing.md.
Known limits
- The macOS and Windows builds are not code-signed yet. macOS: right-click the app and choose Open the first time. Windows: SmartScreen may ask you to choose More info, then Run anyway. The one-line install commands avoid both prompts.
- Intel Macs are not supported (current PyTorch releases do not support them).
- AMD GPUs (ROCm) are experimental.