docs/src/content/docs/guides/serve/with-web-ui.md
mistralrs serve -m Qwen/Qwen3-4B
Open http://localhost:1234/ui. The built-in web UI is mounted at /ui by default whenever you run mistralrs serve. It is a single-page app bundled into the binary; nothing is fetched from the network at runtime.
The UI provides:
--enable-search, --enable-code-execution, or --enable-shell is also set.ask.mistralrs serve --agent -m Qwen/Qwen3-4B
See tool calling for what --agent enables and the individual flags behind it.
When the model calls a tool, the UI renders a collapsed block in the conversation. Expanding shows the tool arguments and result. Search blocks display the query and a result count; code-execution blocks display the executed Python and any output or images; shell blocks display the commands, stdout/stderr, and exit status.
The settings drawer controls search, code execution, shell, and tool approval per conversation without restarting the server. Set Tool approval to ask to approve or deny each agent action inline.
On Linux and macOS, code and shell execution use the default OS-level sandbox unless the server is started with --sandbox off. For the server, HTTP, Python, Rust, and sandbox settings, see enable code execution and enable shell execution.
When the loaded model accepts images, a paperclip icon appears in the input bar. Attaching an image sends an image_url content part ({"type": "image_url", "image_url": {"url": "..."}}). Audio and video work the same on supporting models.
Modality support per model is in the supported models reference.
The settings drawer state is persistent per browser. System prompts and sampling parameters survive reloads.
Clearing browser local storage for the site resets all UI state.
Pass --no-ui to mistralrs serve to skip mounting the UI router. The HTTP API continues to serve normally.