mazu-web
A local browser UI for Mazu -- the core coding-agent CLI stays terminal-first and dependency-light; this is a separate, optional companion for people who'd rather work in a browser tab.
Ships as its own package (mazu-web, console script mazu-web) so Mazu's core install never pulls in a web framework just to run mazu chat in a terminal.
What it does
Full parity with the terminal command surface -- every route calls straight into the same mazu package classes (CheckpointManager, MemoryStore, RunStore, the router, run_autonomous, run_explore, run_council, diagnostics) the CLI itself uses. This UI is a different way to reach the same operations, not a second implementation of them.
- Chat -- the same turn logic as
mazu chat, streamed over Server-Sent Events instead of printed to a terminal. - Run -- one-shot autonomous tasks (
mazu run), streamed. - Explore -- parallel branch comparison (
mazu explore), streamed. - Council -- ask multiple models independently, one lead synthesizes (
mazu council), streamed. - Checkpoints -- timeline, diff, compare, inspect, prune, branch-from, and one-click rollback.
- Memory -- search, pin/unpin, edit, forget, stats, "why would this retrieve", find/merge duplicates.
- Skills, Runs (+ compare-branches), Router, Usage, Action log, Models, Doctor, Config -- all full read (and write, where the CLI itself allows it).
- Init / Setup -- works against a directory that isn't a Mazu project yet; an in-page banner and a Config-tab form do what
mazu init/mazu setupwould from the terminal.
Run and Explore and Council share one server-wide lock: all three wrap print()-only agent functions via sys.stdout redirection, which is process-global, not thread-local -- two concurrent captures would corrupt each other's output. Starting a second one while the first is still running gets a 409, not a silently queued mess.
Install
pip install "mazu-web @ git+https://github.com/turgutino/mazu-web.git"
Depends on the core mazu package (mazu>=0.21.0, pulled from PyPI automatically -- mazu-web itself isn't on PyPI yet, only installable from this repo for now).
Run
cd your-project # doesn't need to be `mazu init`-ed first -- the browser handles that
mazu-web # http://127.0.0.1:8765
mazu-web --host 127.0.0.1 --port 8765 --model deepseek:deepseek-chat --shell-allowlist git,npm,pytest
Binds to 127.0.0.1 only by default -- there is no authentication, so don't pass --host 0.0.0.0 or otherwise expose this beyond your own machine.
Development
pip install -e ".[dev]"
pytest
License
MIT, same as the core project.
Metadata
Release files for mazu-web 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mazu_web-0.2.1.tar.gz | 36.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mazu_web-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 68.0 kB
Release files / mazu_web-0.2.1.tar.gz
| Download URL | mazu_web-0.2.1.tar.gz |
|---|---|
| Size | 36.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
32130df7a492d11b77693cc86ce2bad7fb0cc2d68080bf5dbc7297889f2b78fb
|
|
BLAKE2b-256 checksum How to use checksums |
dcfc82da0d839f3dd0997e36eca1d51d7a6541d0ea369228f4b5515210860573
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / mazu_web-0.2.1-py3-none-any.whl
| Download URL | mazu_web-0.2.1-py3-none-any.whl |
|---|---|
| Size | 31.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
41bfe856b052907875bf7fab7318c828527966b924a71754abe6d7239136a5bf
|
|
BLAKE2b-256 checksum How to use checksums |
22e534622e4f8f858766813a072fcf046208150d7d7d459d172aacc1f45c6d2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|