Skip to main content
Unmute is a compiler. You write one package. It reads that package, resolves it against one target, and writes what the target runs: a Python project for Pipecat or LiveKit, a deployment body for SLNG. Nothing of Unmute is left in what it writes.

The four stages

1

Load

Unmute reads your files: agent.yaml, targets.yaml, your tool files, your connections, your prompts, and your local Python handlers.Decoding is strict. An unknown field is an error, not a shrug, and every error carries the file and the line.
2

Build

Names become one description of the agent. Model names point at model definitions. The names in an agent’s lists are resolved to the tasks, task groups, handoffs and tools they mean. Per-target overrides are applied, and a telephony route is picked from what the target declares.This description knows nothing about Pipecat or LiveKit.
3

Validate

The description is checked against what your chosen target can do.Something the target cannot do stops the build, before anything is written. Something it does differently while keeping your contract is a warning: the build finishes and the warning tells you the difference.
4

Generate

One driver turns the description into files for one target.validate and compile run the same first three stages, so a package that validates cannot surprise you at compile time.

What you get

unmute compile writes one directory per target under build/. Name the package, as in unmute compile my-agent, or leave the argument out to compile the directory you are standing in.
A code target is a normal Python project. You can read it, run it, and deploy it. It does not import Unmute. On SLNG there is nothing to run yourself: unmute deploy pushes agent.json and SLNG runs the agent.
Treat build/ as output. Edit the package and compile again. Anything you change inside build/ is overwritten on the next compile.
Two files in every build answer “what did it decide?”: README.md is the runbook for that build, and records every binding, resolved route and derived number the compiler used.

Where to go next

Build the agent

Start the guided path with the smallest real agent.

Targets

What a target is, and what each compiled project looks like.