Installation
Human can be installed via pre-built binaries or built from source with CMake.
:::tip Pre-built binaries
Pre-built binaries are available via Homebrew (brew install --HEAD ./Formula/human.rb), Docker (docker pull ghcr.io/sethdford/h-uman:latest), Nix (nix run github:sethdford/h-uman), and Debian (.deb from Releases). See the main README for details.
:::
Prerequisites
Section titled “Prerequisites”Before building, ensure you have:
- C compiler — GCC or Clang (C11)
- CMake 3.16 or later
- SQLite3 — for the SQLite memory backend; omit to use markdown-only (
-DHU_ENABLE_SQLITE=OFF) - libcurl — for HTTP/HTTPS and cloud providers; omit for minimal builds (
-DHU_ENABLE_CURL=OFF)
brew install cmake sqlite3# libcurl is usually included with Xcode Command Line ToolsLinux (Debian/Ubuntu)
Section titled “Linux (Debian/Ubuntu)”sudo apt-get updatesudo apt-get install -y build-essential cmake libsqlite3-dev libcurl4-openssl-devLinux (Fedora)
Section titled “Linux (Fedora)”sudo dnf install -y cmake sqlite-devel libcurl-develClone and build
Section titled “Clone and build”Clone the repository, then build:
git clone https://github.com/sethdford/h-uman.gitcd humanmkdir -p build && cd buildcmake .. -DCMAKE_BUILD_TYPE=MinSizeRel -DHU_ENABLE_LTO=ON -DHU_ENABLE_ALL_CHANNELS=ON -DHU_ENABLE_CURL=ONcmake --build . -j$(nproc)The binaries are produced in build/:
build/human— main CLIbuild/human_tests— test suite
Release build (minimal size)
Section titled “Release build (minimal size)”mkdir -p build && cd buildcmake .. -DCMAKE_BUILD_TYPE=MinSizeRel -DHU_ENABLE_LTO=ON -DHU_ENABLE_ALL_CHANNELS=ONcmake --build .This produces a small binary (~528 KB with LTO) and enables all messaging channels (Telegram, Discord, Slack, etc.).
Basic development build
Section titled “Basic development build”mkdir -p build && cd buildcmake .. -DHU_ENABLE_ALL_CHANNELS=ONcmake --build .Development build with AddressSanitizer
Section titled “Development build with AddressSanitizer”For detecting memory errors during development:
cmake -B build -DHU_ENABLE_ASAN=ON -DHU_ENABLE_ALL_CHANNELS=ONcmake --build build./build/human_testsBuild options
Section titled “Build options”| Option | Default | Description |
|---|---|---|
HU_ENABLE_ALL_CHANNELS | OFF | Build all 33 channels (CLI, Telegram, Discord, etc.) |
HU_ENABLE_LTO | OFF | Link-time optimization for smaller binaries |
HU_ENABLE_ASAN | OFF | AddressSanitizer for memory debugging |
HU_ENABLE_SQLITE | ON | SQLite memory backend |
HU_ENABLE_CURL | ON | libcurl for HTTP clients |
Per-channel options (HU_ENABLE_TELEGRAM, HU_ENABLE_DISCORD, etc.) are available if you want a minimal build with only specific channels.
Verify installation
Section titled “Verify installation”Confirm the binary runs:
./build/human --helpExample output:
human v0.1.0 — Autonomous AI Assistant Runtime (C/ASM/WASM)
Usage: human [command] [options]
Commands: agent Run the agent loop doctor Run diagnostics onboard First-run setup wizard ...Run diagnostics to check config and provider setup:
./build/human doctorExample output (with valid config):
[doctor] config: ok (loaded from /home/user/.human/config.json)[doctor] provider (ollama): ok (local — no API key required)[doctor] memory engine: sqliteIf config is missing, run the onboard wizard first (see Quick Start).
Run tests
Section titled “Run tests”./build/human_testsAll 3,185+ tests must pass with zero ASan errors.