
hermex
Hermex is a native SwiftUI iPhone app that lets you control a self-hosted Hermes AI agent directly from your phone, with no subscriptions, tracking, or third-party relay.
It offers a zero-config, no-API, no-account way to visually monitor AI agent sessions in the terminal, uniquely integrating with the MacBook notch for glanceable status.
Your AI agents, living next to the MacBook notch.
While Claude Code or Codex is working, its mascot walks beside the notch — the Claude Code banner critter for Claude, the official Codex pet for Codex. Each agent has its own slot: the moment one finishes, its mascot becomes a green blob (even while the other keeps working). The green is a "finished since you last looked" notification — focusing your terminal clears it. Click to open a panel of your sessions, grouped by prompt, with every subagent tucked under a dropdown.
One row per session, titled by the tool, led by your latest prompt — not the agents' chatter. Subagents (Codex's philosopher swarm, Claude's Task agents) fold under a ▸ N subagents dropdown. Running rows show their mascot walking in place; finished rows get a green pixel checkmark. The tag on the right is the actual model that session runs.
No hooks, no APIs, no accounts. Liveness detection follows open-vibe-island's model — a session is a running agent process in a terminal — polled every 3 s:
ps finds claude/codex processes attached to a TTY (headless/background sessions are ignored)lsof maps each process to the transcript it holds open (Codex), or to its working directory (Claude Code, which doesn't keep the transcript fd open)~/.claude/projects/*/*.jsonl (+ /subagents/agent-*.jsonl)~/.codex/sessions/**/*.jsonl, grouped by parent_thread_idWithin a live session, busy vs idle is a hybrid: process alive + transcript written in the last 30 s = busy (mascot walks); alive but quiet = idle (nothing in the notch, dimmed row in the panel); process gone for 2 polls = done (green blob). Sessions idle over 6 h drop off the panel. Activating a terminal app (Ghostty, Terminal, iTerm2, kitty, Warp, Alacritty) acknowledges finished agents and clears their green indicator.
Busy/idle is inferred from transcript write times, and transcript writes are bursty — so the mascot keeps walking for up to ~33 s (30 s window + 3 s poll) after a turn actually ends, and conversely a turn's quiet stretches are smoothed over. No process-level proxy (network, CPU, child processes) can
The open-source alternative to vibe-island
Similar projects matched by category, topics, and programming language.

Hermex is a native SwiftUI iPhone app that lets you control a self-hosted Hermes AI agent directly from your phone, with no subscriptions, tracking, or third-party relay.
Nativ is a native macOS app that lets you run AI models locally on Apple silicon, offering chat, model management, performance analytics, and an OpenAI/Anthropic-compatible API server.
A macOS CLI tool that transcribes prerecorded audio using Apple's on-device speech APIs and outputs plain text, JSON, JSONL, SRT, or WebVTT.