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.2a11

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.2a11
File Size Uploaded
mh_local-0.1.2a11.tar.gz 246.2 kB Details

Built distribution (wheel)

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

Total release size: 513.8 kB

Release files / mh_local-0.1.2a11.tar.gz

Download URL mh_local-0.1.2a11.tar.gz
Size 246.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b2f9bbd31a4f61bc4a2369097a5da272c1ca153a7d6b18e13025035216747392
BLAKE2b-256 checksum
How to use checksums
bd6036eea593cdb6d283086a7e9e9a3803849f6632f1769bb3ac07e52c93cf60
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.2a11-py3-none-any.whl

Download URL mh_local-0.1.2a11-py3-none-any.whl
Size 267.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
465f3f92cd489ad3c68078fa7519138e2a0992221b49c38d4aaf840f34c82e06
BLAKE2b-256 checksum
How to use checksums
963c85b784f7054d5c34064eb21e2ede9495f491ea1dd1d0781c90c1e24b3ab1
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.2a11 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