diff --git a/apps/dashboard/README.md b/apps/dashboard/README.md index 0c9f5df14a..041427feed 100644 --- a/apps/dashboard/README.md +++ b/apps/dashboard/README.md @@ -10,17 +10,34 @@ Browser-based dashboard for managing Hermes Agent configuration, API keys, and m ## Development -```bash -# Start the backend API server -cd ../.. -python -m hermes_cli.main web --no-open +Install workspace dependencies from the repo root first: -# In another terminal, start the Vite dev server (with HMR + API proxy) -cd apps/dashboard/ +```bash +npm install +``` + +Start the backend API server from the repo root: + +```bash +hermes dashboard --tui --no-open +``` + +`--tui` exposes the in-browser Chat tab through `/api/pty`. Omit it if you only need the config/session dashboard. + +In another terminal, start the Vite dev server: + +```bash +cd apps/dashboard npm run dev ``` -The Vite dev server proxies `/api` requests to `http://127.0.0.1:9119` (the FastAPI backend). +The Vite dev server proxies `/api`, `/api/pty`, and `/dashboard-plugins` to `http://127.0.0.1:9119` (the FastAPI backend). It also fetches the backend's `index.html` on each dev page load so the ephemeral session token stays in sync. + +If the `hermes` entry point is not installed, use: + +```bash +python -m hermes_cli.main dashboard --tui --no-open +``` ## Build diff --git a/apps/desktop/README.md b/apps/desktop/README.md index 776a29a744..ba33233416 100644 --- a/apps/desktop/README.md +++ b/apps/desktop/README.md @@ -2,18 +2,62 @@ Native Electron shell for Hermes. It packages the desktop renderer, a bundled Hermes source payload, and installer targets for macOS and Windows. -## Development +## Setup + +Install workspace dependencies from the repo root so `apps/desktop`, `apps/dashboard`, and `apps/shared` stay linked: ```bash npm install +``` + +Use the normal Hermes Python environment for local runs: + +```bash +source .venv/bin/activate # or: source venv/bin/activate +python -m pip install -e . +``` + +## Development + +```bash +cd apps/desktop npm run dev ``` -`npm run dev` runs Vite plus Electron against the local repo checkout. This path is for UI iteration and may still show Electron/dev identities in OS prompts. +`npm run dev` starts Vite on `127.0.0.1:5174`, launches Electron, and lets Electron boot the Hermes dashboard backend on an open port in `9120-9199`. This path is for UI iteration and may still show Electron/dev identities in OS prompts. + +Useful overrides: + +```bash +HERMES_DESKTOP_HERMES_ROOT=/path/to/hermes-agent npm run dev +HERMES_DESKTOP_PYTHON=/path/to/python npm run dev +HERMES_DESKTOP_CWD=/path/to/project npm run dev +HERMES_DESKTOP_IGNORE_EXISTING=1 npm run dev +``` + +`HERMES_DESKTOP_IGNORE_EXISTING=1` skips any `hermes` CLI already on `PATH`, which is useful when testing the bundled/runtime bootstrap path. + +## Dashboard Dev + +Run the Python dashboard backend with embedded chat enabled: + +```bash +hermes dashboard --tui --no-open +``` + +For dashboard HMR, start Vite in another terminal: + +```bash +cd apps/dashboard +npm run dev +``` + +Open the Vite URL. The dev server proxies `/api`, `/api/pty`, and plugin assets to `http://127.0.0.1:9119` and fetches the live dashboard HTML so the ephemeral session token matches the running backend. ## Build ```bash +npm run build npm run pack # unpacked app at release/mac-/Hermes.app npm run dist:mac # macOS DMG + zip npm run dist:mac:dmg # DMG only