Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

mh-local

A self-contained local Agent assistant powered by minimal-harness. It bundles a FastAPI backend with a built-in Vue 3 SPA frontend — no database, no external service dependencies.

Latest version: 0.1.1

Features

  • No cloud required — runs entirely on localhost, single-user
  • Built-in web UI — chat interface with agent, scene, tool, and LLM provider management
  • No database — file-based sessions and registries under ~/.config/mh-local/
  • Auto-discovery — automatically creates a workspace scene from the current directory
  • Custom tool scripts — drag-and-drop upload .py files; the gateway validates required metadata and the shebang interpreter, then runs execute() in a child process with streamed ToolProgress events

Quick start

uv add mh-local
uv run mh

Your browser will open automatically to http://127.0.0.1:<port>.

On first run, you'll be prompted to configure an LLM provider (API key, base URL) via the web UI's Provider management page.

Usage

After starting, mh-local serves a full-featured chat UI at the local URL with:

  • Chat — converse with AI agents with streaming responses
  • Manage Agents — view and configure built-in agents (General Assistant triage, Tool Maker tool-maker)
  • Manage Tools — inspect built-in tools (bash, handoff, discover_agents, read_file, write_file, edit_file, append_file) or upload custom tool scripts
  • Manage Scenes — workspace management for different projects (one auto-created per cwd on first launch)
  • Manage Providers — configure LLM providers (OpenAI, Anthropic, etc.)

How it works

mh-local
  ├── FastAPI app (mh_gateway-based) — serves API + static files
  ├── Vue 3 SPA — chat UI served at /
  ├── File-based stores:
  │   ├── sessions/ — conversation history
  │   ├── providers.json — LLM provider config
  │   └── registry.json — agents, tools, scenes
  └── Local auth — auto-grants admin access

Configuration

All configuration is done through the web UI. Persistent data lives at:

Path Contents
~/.config/mh-local/providers.json LLM provider credentials
~/.config/mh-local/registry.json Agent/tool/scene registrations
~/.config/mh-local/sessions/ Chat session files
~/.config/mh-local/logs/ Runtime logs

Development

# Build frontend (SPA + component UMD bundles)
powershell scripts/build-mh-local-frontend.ps1   # Windows
bash scripts/build-mh-local-frontend.sh           # Linux/macOS

# Run
uv run mh

Metadata

Release files for mh-local 0.1.2a10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mh-local 0.1.2a10
File Size Uploaded
mh_local-0.1.2a10.tar.gz 246.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mh-local 0.1.2a10
File Interpreter ABI Platform
mh_local-0.1.2a10-py3-none-any.whl Python 3 none any Details

Total release size: 513.8 kB

Release files / mh_local-0.1.2a10.tar.gz

Download URL mh_local-0.1.2a10.tar.gz
Size 246.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2f3e3a485459036999154fbd3397feb4162ee388dd616aef271d9e072b24b54c
BLAKE2b-256 checksum
How to use checksums
ca3969cc63b10d7fcf85ebb57d9eb6bce537667502ff545f79ae328b32de82bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / mh_local-0.1.2a10-py3-none-any.whl

Download URL mh_local-0.1.2a10-py3-none-any.whl
Size 267.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e4e44c1de6f946cf6bc183462a5c5c25933cca3a0a2c13de275143042472f38b
BLAKE2b-256 checksum
How to use checksums
b864bdd6445533e9206835130b46303f0d498164e5d21ac51a3dd13bc81fd7b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.2a10 This release

2 release files

0.1.1

2 release files

0.1.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