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.0
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.0.tar.gz | 36.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mazu_web-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 66.9 kB
Release files / mazu_web-0.2.0.tar.gz
| Download URL | mazu_web-0.2.0.tar.gz |
|---|---|
| Size | 36.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6056a5d83fa1be9959383f218db8e8da274dac24fb29379d242968cfdd6666a9
|
|
BLAKE2b-256 checksum How to use checksums |
79d6a2e0af27d189f18b3683ca97a48ae7e12974bb3c2736b7b5808cc91ae27b
|
| 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.0-py3-none-any.whl
| Download URL | mazu_web-0.2.0-py3-none-any.whl |
|---|---|
| Size | 30.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
20ada9ffe28ae68d15c76e0191622da42894e7e9c99b31703eb80a8622d6ee18
|
|
BLAKE2b-256 checksum How to use checksums |
3869a0a711314ffec16cf280d610adc4de2787402c5a4767ee3954c5634da57d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|