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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mh_local-0.1.2a2.tar.gz (211.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mh_local-0.1.2a2-py3-none-any.whl (230.7 kB view details)

Uploaded Python 3

File details

Details for the file mh_local-0.1.2a2.tar.gz.

File metadata

  • Download URL: mh_local-0.1.2a2.tar.gz
  • Upload date:
  • Size: 211.9 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for mh_local-0.1.2a2.tar.gz
Algorithm Hash digest
SHA256 7b1ec2691d4c224208f2fd379b97fff76c601c1ab21ea6723d3dd01cfe87346a
MD5 bac06603e78c57730d172d5c537ede4b
BLAKE2b-256 07e16e7990f9515a163cf0de412640bdd949b6618c78b2359869d5f2f6c0aafc

See more details on using hashes here.

File details

Details for the file mh_local-0.1.2a2-py3-none-any.whl.

File metadata

  • Download URL: mh_local-0.1.2a2-py3-none-any.whl
  • Upload date:
  • Size: 230.7 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for mh_local-0.1.2a2-py3-none-any.whl
Algorithm Hash digest
SHA256 dcc82a9ddf60e17f1d094711d483f3212fc8e20691a6b6f451091037fd3172a8
MD5 defe51e2b3359106b023a69ae4572b5a
BLAKE2b-256 f568b21cedfe9878172a5691e2a64206a04d987bf25db21582087c19c69ecc9e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.2a2 This release

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page