Files
hermes-os/PROJECT.md
T

70 lines
2.5 KiB
Markdown

# 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
```bash
# 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 |