70 lines
2.5 KiB
Markdown
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 |
|