Skip to main content

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 setup would 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)

Source distribution for mazu-web 0.3.0
File Size Uploaded
mazu_web-0.3.0.tar.gz 53.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mazu-web 0.3.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.4.0

2 release files

This release

0.3.0 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page