Skip to content
helmstudio
Contents

Develop with helm dev

A studio can be built and run with no helmstudio installed, no daemon, no registry — and, where the model allows, without the checkpoint. helm dev is how, and it is not a separate imitation of helmstudio: it is the daemon's own supervisor, manifest parser and platform API, run for one studio from a local manifest.

helm dev and the helmstudio daemon Two columns side by side. On the left, helm dev: one studio, every root in a .helm directory beside the manifest, and it installs nothing. On the right, the helmstudio daemon: many studios, every root under a .helmstudio directory in your home directory, and it clones, builds and downloads weights. Each column ends with a dashed box of parts that are specified but not built — for helm dev, the fixtures and fail flags; for the daemon, its own Gallery and Timeline screens. An arrow leaves each column and meets a band across the foot of the figure reading "the same code, both times", holding four items: the same supervisor, the same platform API, the same token scheme, and the same UI kit. helm dev helmstudio daemon One studio Many studios Roots in ./.helm Roots in ~/.helmstudio Installs nothing Clones, builds, downloads not built --fixtures · --fail not built Gallery · Timeline screens the same code, both times supervisor platform API token scheme UI kit
What changes between the two is how many studios run and where their roots live — not the code a studio meets.

What helm dev does

Run in the studio's checkout, it:

It runs no build step and downloads nothing: the checkout is yours, and so are the weights. If the last helm dev left the studio running, the next one takes it over rather than starting a second copy.

Weights you already have

Link each weight a command uses to the directory that holds it. The directory is read, never written.

isolation/dev-with-weights.sh not run by the gate — it needs a studio's checkout and its weights
helm dev -f helmstudio.yaml -link base=/Volumes/Models/tern-base

A launch whose command uses a weight that is not linked is refused, naming the weight.

A studio whose weights are selectable also needs one chosen: -select <weight>. Without it the launch is refused with the choices named, because picking one for you is what the launcher's approval screen is for.

Python

A studio that declares python runs in your environment: the active one, or the one -venv names. helm dev checks it is the Python version the manifest declares, and never creates or changes an environment — without one, it refuses and says how to make one.

isolation/dev-python.sh not run by the gate — it needs uv, a studio's checkout and the network
uv venv --python 3.11
source .venv/bin/activate
uv pip install -e .
helm dev -f helmstudio.yaml

A studio that runs python3 without declaring python, like the quickstart's, runs whichever python3 is first on the PATH.

Go, without helm dev

A Go studio with one process can import the embedded provider and run the platform API in its own process. See providers.

What helm dev does not do yet

The design describes more than is built. These are not: