Files
hermes-os/PROJECT.md
T

2.5 KiB

PROJECT.md — Hermes OS

Mobile-first dashboard for Hermes Agent. Visibility into state, control over behavior, and self-improvement — all from your phone.

Architecture

Phone/Browser → Next.js (port 3100) → proxy routes → Hermes WebAPI (8643) + Gateway (8642)

All API calls proxy through Next.js server-side route handlers. No CORS, no cross-origin issues. The frontend makes same-origin requests only.

Modules

Pulse (/)

Home screen. Status card (model, online/offline), stats (sessions, tokens, platforms), memory usage bars, platform breakdown, quick links to Skills/Cron/Soul/Config, recent sessions list. Pull-to-refresh.

Memory (/memory)

Agent + User memory tabs. View entries, inline edit, delete with confirm, add new. Usage bar with char limit. All mutations go through WebAPI.

History (/history)

Session list with platform filter (All/CLI/Telegram/Discord/Web) and full-text search. New session creation (/history/new). Session replay with:

  • Newest-first message order
  • Verbosity toggle: Compact (text only) / Normal (+ tool calls) / Full (+ reasoning + expanded results)
  • Message input to continue sessions
  • Thinking indicator while agent runs
  • Session delete with confirm
  • Refresh button

Skills (/skills)

Categorized skill browser with search/filter. Skill detail renders SKILL.md as proper markdown (headings, code blocks, tables, blockquotes). Shows linked files.

Cron (/cron)

Job list grouped by status (active/paused/other). Manual trigger button. Detail page (/cron/[id]) with job metadata, prompt, and output history read from filesystem.

Soul (/soul)

SOUL.md editor. Direct filesystem read/write. Save/revert with dirty detection.

Config (/config)

Read-only config viewer. Model, terminal, memory, display sections.

Stack

  • Next.js 15, TypeScript, Tailwind CSS v4
  • TanStack Query for server state
  • Lucide icons, react-markdown + remark-gfm
  • PWA manifest + service worker
  • systemd user services for persistence

Services

# Deploy (build + install services + restart)
bash deploy/deploy.sh 3100

# Manual control
systemctl --user status hermes-os
systemctl --user status hermes-webapi
systemctl --user restart hermes-os

Environment

Variable Default Description
HERMES_BACKEND_URL http://127.0.0.1:8643 WebAPI (FastAPI)
HERMES_GATEWAY_URL http://127.0.0.1:8642 Gateway (aiohttp, cron jobs)
HERMES_SOUL_PATH ~/.hermes/SOUL.md Persona file
HERMES_CRON_OUTPUT ~/.hermes/cron/output Cron output directory