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.

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).
  • 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.22.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.2.2

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.2.2
File Size Uploaded
mazu_web-0.2.2.tar.gz 45.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mazu-web 0.2.2
File Interpreter ABI Platform
mazu_web-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 81.2 kB

Release files / mazu_web-0.2.2.tar.gz

Download URL mazu_web-0.2.2.tar.gz
Size 45.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5fc3ea12af3ef1279dc610948b01b3be8114192c809310af0cfa48ed11f2c0b0
BLAKE2b-256 checksum
How to use checksums
1dc6d0eca46137ffa0e01aea79063daff18266c191b856796383149411100bfb
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.2-py3-none-any.whl

Download URL mazu_web-0.2.2-py3-none-any.whl
Size 36.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0e047f4208b2de5fb3dac00bf274d3b77f78830d98b8e29a3f88fe54960aa0fc
BLAKE2b-256 checksum
How to use checksums
c738c16c7cb7a6ac0edac19bf2848b1a077b13a1f238ff35d944ae2b63dc1ffa
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

0.3.0

2 release files

This release

0.2.2 This release

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