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
.pyfiles; the gateway validates required metadata and the shebang interpreter, then runsexecute()in a child process with streamedToolProgressevents
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 Makertool-maker) - Manage Tools — inspect built-in tools (
bash,handoff,discover_agents,local_file_operator) or upload custom tool scripts - Manage Scenes — workspace management for different projects (one auto-created per
cwdon 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mh_local-0.1.1.tar.gz.
File metadata
- Download URL: mh_local-0.1.1.tar.gz
- Upload date:
- Size: 202.0 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32a85554c1d210ae0a2c00f48cbc926097c800779bb8bf464fb8f5e74988ecaa
|
|
| MD5 |
c37adc425ef8340f0dfee24224a67791
|
|
| BLAKE2b-256 |
c272debbd775341a5b1588cca47db659e6dd46fb12f9fbd0a11c572483b93c45
|
File details
Details for the file mh_local-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mh_local-0.1.1-py3-none-any.whl
- Upload date:
- Size: 219.6 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
615d4aad534dfb8d46c8a166019823ef8a9cdf5ba8798613e5c51e0da6fcd0f5
|
|
| MD5 |
141989fb0048887354ea5468d604e0e6
|
|
| BLAKE2b-256 |
3c0f46df71dd6148aa1a3772876c2bf8e4facff579c43ef344fa13e34b8a6e74
|