Skip to main content

English documentation Simplified Chinese documentation

Haoleme

Haoleme

Run commands on your computer or server. Follow them from your phone.

Website · Download APK · Quick Start · PyPI

Android APK 1.0.1 Haoleme CLI on PyPI Total GitHub Issues License: AGPL-3.0-or-later

HaolemeApp/Haoleme on Trendshift

[!NOTE] Haoleme v1.0.1 is a stable release. Model-training progress monitoring is available as a feature in development, so its recognition and presentation may continue to evolve. View the release or install it directly over an existing version.

Why Haoleme

Haoleme is a local-first command monitor for work that should keep running while you do something else. Prefix a command with hao, then use the Android app to follow live output, switch between machines, receive completion notifications, or stop a task remotely. For supported model-training output, run cards can also surface the latest epoch, loss, elapsed time, and a visual progress bar.

It is built for model training, evaluations, remote scripts, batch jobs, crawlers, builds, and long SSH sessions. Commands and console output are end-to-end encrypted before they reach Haoleme Cloud or a self-hosted Relay.

Preview

Run status and device overview Pairing and settings

Quick Start

1. Download the Android app

Download Haoleme v1.0.1

2. Install the CLI

pip install -U haoleme

3. Pair this computer

hao login

Choose Haoleme Cloud or a self-hosted Private Relay, then scan the QR code or enter the 6-digit code in the app.

4. Run a command

Add hao before the command you already use:

hao echo hello
hao python train.py
hao bash script.sh

The run, live console output, and final status will appear in the app automatically.

Requirements

  • Android 6.0 or newer
  • Python 3.7 or newer on Windows, macOS, or Linux
  • Network access to Haoleme Cloud, or a reachable Private Relay

Features

  • Live runs: running, succeeded, and failed states with searchable console output and local history.
  • Training progress (in development): detect common epoch, loss, and tqdm output and show progress directly on run cards. Recognition and presentation may change as this feature evolves.
  • Phone notifications: know when a command completes or fails without watching SSH.
  • Multiple machines: switch between computers and servers, rename devices, and see online status.
  • Projects and metrics: group related runs and inspect CPU, memory, and GPU utilization.
  • Remote controls: stop, rerun, open a remote terminal, or request shutdown after completion.
  • Private by design: QR or 6-digit pairing, offline retry, local caches, and E2EE for sensitive run content.

Agent Integrations

Haoleme includes a skill for Codex and Claude Code. It automatically monitors important training, full evaluation, deployment, and long-running tasks while leaving dependency installs, quick pretests, formatting, and routine Git commands local.

npx skills add HaolemeApp/Haoleme --skill monitor-with-haoleme -g -a codex -a claude-code -y

Source

Architecture

flowchart LR
  HOST["Computer or server<br/>hao + local SQLite"]
  RELAY["Haoleme Cloud or Private Relay<br/>pairing + sync + control"]
  APP["Android app<br/>runs + console + notifications"]
  HOST -->|"E2EE run updates + heartbeat"| RELAY
  RELAY -->|"encrypted updates"| APP
  APP -->|"control requests"| RELAY
  RELAY -->|"stop / rerun / terminal"| HOST

hao starts commands through a PTY and saves their state locally first. Network interruptions enter a retry queue. Commands, working directories, host details, and console output are encrypted with AES-256-GCM before upload; the Android app decrypts and caches them locally.

Self-hosting

The standard app can connect to a Private Relay without a custom APK. For an Internet-facing HTTPS Relay:

hao login https://hao.example.com

For a trusted LAN, run hao login, choose Private Relay, then choose Start a LAN Relay on this computer. A domain is optional on a private network; HTTPS is required when exposing a Relay to the Internet.

See the Private Relay deployment guide for Docker, Caddy, LAN mode, backups, and security guidance.

Help and Contributing

Security

The public repository excludes official signing keys, production credentials, private deployment configuration, databases, logs, payment QR codes, and user run data. Official signing material and server credentials are injected through private environment configuration.

Run contents are end-to-end encrypted. Relay operators can still see the limited metadata required for pairing, synchronization, device presence, and delivery. See SECURITY.md for supported versions and private vulnerability reporting.

License

Haoleme is licensed under AGPL-3.0-or-later.

Download files

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

Source Distribution

haoleme-0.5.4.tar.gz (123.3 kB view details)

Uploaded Source

Built Distribution

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

haoleme-0.5.4-py3-none-any.whl (98.0 kB view details)

Uploaded Python 3

File details

Details for the file haoleme-0.5.4.tar.gz.

File metadata

  • Download URL: haoleme-0.5.4.tar.gz
  • Upload date:
  • Size: 123.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for haoleme-0.5.4.tar.gz
Algorithm Hash digest
SHA256 b76b5e900f4d7a2fad96486ba3fff34d8d8d7fd184855cff384194302b53a14e
MD5 9423d9cf05661803927a40ff1add942b
BLAKE2b-256 34be78e3626e72cd7af20aa6080899f53b845dab63a9cb517e38ff1c0b5674ab

See more details on using hashes here.

File details

Details for the file haoleme-0.5.4-py3-none-any.whl.

File metadata

  • Download URL: haoleme-0.5.4-py3-none-any.whl
  • Upload date:
  • Size: 98.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for haoleme-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 421482529c4d42021a49d749ce735672b58d6d423f24082b5cd9e80d9debc5bf
MD5 0f60fb96404ae4b7fd9a3b6599437bed
BLAKE2b-256 eeaa59f77eeddaf7ea18ceabf8dfc92a3d73037704d1dbf976881b0539167083

See more details on using hashes here.

Supported by

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