Skip to content

Latest commit

 

History

41 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

██╗  ██╗███████╗██████╗ ███╗   ███╗███████╗███████╗    ██████╗ ██╗ ██████╗██╗  ██╗███████╗██████╗
██║  ██║██╔════╝██╔══██╗████╗ ████║██╔════╝██╔════╝    ██╔══██╗██║██╔════╝██║ ██╔╝██╔════╝██╔══██╗
███████║█████╗  ██████╔╝██╔████╔██║█████╗  ███████╗    ██████╔╝██║██║     █████╔╝ █████╗  ██████╔╝
██╔══██║██╔══╝  ██╔══██╗██║╚██╔╝██║██╔══╝  ╚════██║    ██╔═══╝ ██║██║     ██╔═██╗ ██╔══╝  ██╔══██╗
██║  ██║███████╗██║  ██║██║ ╚═╝ ██║███████╗███████║    ██║     ██║╚██████╗██║  ██╗███████╗██║  ██║
╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═╝     ╚═╝╚══════╝╚══════╝    ╚═╝     ╚═╝ ╚═════╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝

hermes-picker

The full power of Hermes Agent — installed in pieces.

hermes-picker is a modular distribution of Hermes Agent. It wraps the real upstream agent unchanged, splits it into a lightweight core and optional modules, and installs only what you need.

All features available. None installed until you pick them.

Nothing is reimplemented — the agent, its CLI, and its config.yaml are upstream Hermes Agent. hermes-picker simply decides what lands on disk, and where your runtime data lives. The result is a clean, minimal-footprint Hermes that grows exactly as fast as you need it to.


Why hermes-picker

  • Small from the start. A clean core install is ~46 MB instead of ~177 MB — no .git, no tests, no desktop app, no documentation website in the way.
  • Install what you use. TUI, dashboard, voice, messaging, dev tooling — everything is an opt-in module, and everything is removable. hermespi remove docs dev frees disk in one line.
  • A genuinely fresh start. Runtime data lives in an isolated ~/.hermes-picker/home, so SOUL, memory, sessions, and config never inherit leftovers from a previous Hermes install.
  • Built for constrained devices. Termux on Android is a first-class target, not an afterthought.

Quick start

# Install the core (Termux / Linux / WSL)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/azrial/hermes-picker/main/installer/install.sh)"

# Enter Hermes Agent — the real CLI, just leaner
hermespi

# Add the pieces you want
hermespi add skills tui
hermespi list

The installer connects a provider and model on first run, so you can start chatting immediately.

How it works

Piece What it is
core The engine — agent loop, CLI, tools, cron, gateways, providers. Always installed, kept clean.
modules Optional surfaces and data: skills, TUI, dashboard, desktop, voice, messaging, dev tools, and more.
hermespi The picker. Bare, it enters the Hermes CLI; add, remove, list, status, and update manage modules.
installer/install.sh Downloads the upstream source tarball, extracts only the core, and sets up a working CLI.

Under the hood, the installer downloads a source tarball of the pinned upstream release and extracts exactly the paths declared in the manifest — a pristine core with zero history and zero metadata. Modules work the same way, on demand: hermespi add <module> pulls the module's folders and dependencies straight from that same cached tarball.

Modules

A module is anything you don't need on day one. The catalog is split into a few families, so the shape of the distribution stays obvious:

Family Examples Why you'd add it
Feature skills, voice, mcp, acp, locales Capabilities you opt into
Surface tui, dashboard, desktop Interfaces beyond the CLI
Gateway messaging, plugins Platform adapters (Telegram, Discord, Slack, …)
Tool web, browser, vision, memory, cronjob, computer_use, … Individual model tools
Dev docs, dev Documentation source, tests, and tooling

hermespi list shows the full catalog with installed status. Nothing you add is permanent — modules are removed just as easily as they are installed.

Clean by default

  • Core source comes from an upstream tarball — no .git, no history, no leftover metadata. Like a fresh official install, only smaller.
  • Runtime dataHERMES_HOME points at ~/.hermes-picker/home, so SOUL, memory, sessions, and config never inherit from a prior install. Prefer your existing Hermes? Just run HERMES_HOME=~/.hermes hermespi.

Keeping it fresh

hermespi update   # re-download the pinned upstream, re-extract core + modules

Updates re-apply the manifest and rebrand in place. The whole flow is idempotent, so running it again is always safe.

Termux

Android via Termux is a primary platform. You need curl, tar, python3, and — for the most reliable setup — uv from the Termux repository:

pkg install curl
pkg install -y uv
sh -c "$(curl -fsSL https://raw.githubusercontent.com/azrial/hermes-picker/main/installer/install.sh)"

Storage on phones is precious: hermespi remove <module> deletes the module's files immediately, and nothing you didn't pick is ever extracted.

Status

Active development. The distribution wraps upstream Hermes Agent as-is; this project's job is deciding what lands on disk — and shipping that decision cleanly.

License

MIT

About

Minimal-footprint modular distribution of Hermes Agent (Termux / low-storage targets)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages