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. Depends on mazu>=0.23.0; 108+ tests, kept in sync with the core package's own test suite.
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.
One known exception as of this writing: the core CLI's newer, experimental mazu memory-belief stats/review commands (observation-only belief-shadow inspection, see the core README) don't have a web equivalent yet -- use the terminal for those specifically until this catches up.
- 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).
- Curator -- an opt-in, fully autonomous background process that maintains Mazu's own state (memory, skills, run/checkpoint history, usage, config, council roster, action log) using its own, completely separate API key, matching
mazu curator .... Inert until configured; every mutation is reversible and logged with a rationale. - 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
Depends on the core mazu package (mazu>=0.23.0, pulled from PyPI automatically).
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.3.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.3.0.tar.gz | 53.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mazu_web-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 94.3 kB
Release files / mazu_web-0.3.0.tar.gz
| Download URL | mazu_web-0.3.0.tar.gz |
|---|---|
| Size | 53.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
28be9c1e87eed73010f16d119b3db0edafea86b04b323ab86c39661286a37e16
|
|
BLAKE2b-256 checksum How to use checksums |
d262d92c505188fcdece4bc76a516b2959dff0a13f450b687f1c381a1173463e
|
| 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.3.0-py3-none-any.whl
| Download URL | mazu_web-0.3.0-py3-none-any.whl |
|---|---|
| Size | 40.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
afe5d38daaab3c7f8cc412c11cd0ef4f5fa22cf78ae50e598f6386d251c0f369
|
|
BLAKE2b-256 checksum How to use checksums |
dcdabb7bcd5e5cf9f5cb80fa52f7d25877bbb07a8c508117d19a0749994e3b94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|