mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-06-13 09:01:54 +00:00
docs(dashboard): document machine-level multi-profile management
- web-dashboard.md: 'Managing multiple profiles' section (switcher, URL deep-links, unified launch, --isolated, scoped Chat, what stays per-profile) + --isolated in the options table - profiles.md: 'From the dashboard' subsection + set-as-active vs switcher clarification - cli-commands.md: --isolated flag + profile-alias launch example
This commit is contained in:
parent
f02302738d
commit
e600f69515
3 changed files with 57 additions and 0 deletions
|
|
@ -1350,6 +1350,7 @@ Launch the web dashboard — a browser-based UI for managing configuration, API
|
||||||
| `--host` | `127.0.0.1` | Bind address |
|
| `--host` | `127.0.0.1` | Bind address |
|
||||||
| `--no-open` | — | Don't auto-open the browser |
|
| `--no-open` | — | Don't auto-open the browser |
|
||||||
| `--insecure` | off | Allow binding to non-localhost hosts. Exposes dashboard credentials on the network; use only behind trusted network controls. |
|
| `--insecure` | off | Allow binding to non-localhost hosts. Exposes dashboard credentials on the network; use only behind trusted network controls. |
|
||||||
|
| `--isolated` | off | When launched from a named profile (`worker dashboard`), run a dedicated per-profile server instead of routing to the machine dashboard. |
|
||||||
| `--stop` | — | Stop running `hermes dashboard` processes and exit. |
|
| `--stop` | — | Stop running `hermes dashboard` processes and exit. |
|
||||||
| `--status` | — | List running `hermes dashboard` processes and exit. |
|
| `--status` | — | List running `hermes dashboard` processes and exit. |
|
||||||
|
|
||||||
|
|
@ -1359,6 +1360,10 @@ hermes dashboard
|
||||||
|
|
||||||
# Custom port, no browser
|
# Custom port, no browser
|
||||||
hermes dashboard --port 8080 --no-open
|
hermes dashboard --port 8080 --no-open
|
||||||
|
|
||||||
|
# From a profile alias — routes to the machine dashboard with the
|
||||||
|
# profile preselected in the sidebar switcher (attach if running)
|
||||||
|
worker dashboard
|
||||||
```
|
```
|
||||||
|
|
||||||
## `hermes profile`
|
## `hermes profile`
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ This starts a local web server and opens `http://127.0.0.1:9119` in your browser
|
||||||
| `--host` | `127.0.0.1` | Bind address |
|
| `--host` | `127.0.0.1` | Bind address |
|
||||||
| `--no-open` | — | Don't auto-open the browser |
|
| `--no-open` | — | Don't auto-open the browser |
|
||||||
| `--insecure` | off | Allow binding to non-localhost hosts (**DANGEROUS** — exposes API keys on the network; pair with a firewall and strong auth) |
|
| `--insecure` | off | Allow binding to non-localhost hosts (**DANGEROUS** — exposes API keys on the network; pair with a firewall and strong auth) |
|
||||||
|
| `--isolated` | off | When launched from a named profile (`worker dashboard`), run a dedicated per-profile server instead of routing to the machine dashboard |
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Custom port
|
# Custom port
|
||||||
|
|
@ -40,6 +41,43 @@ hermes dashboard --host 0.0.0.0
|
||||||
hermes dashboard --no-open
|
hermes dashboard --no-open
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Managing multiple profiles
|
||||||
|
|
||||||
|
The dashboard is a **machine-level** management surface: one server manages
|
||||||
|
every [profile](../profiles.md) on the machine. A profile switcher in the
|
||||||
|
sidebar (visible whenever more than one profile exists) decides which
|
||||||
|
profile the management pages read and write — Config, API Keys, Skills,
|
||||||
|
MCP, Models, and the Chat tab all follow it. While a profile other than
|
||||||
|
the dashboard's own is selected, an amber banner names the managed profile
|
||||||
|
so the write target is never ambiguous.
|
||||||
|
|
||||||
|
The selection lives in the URL (`?profile=<name>`), so deep links like
|
||||||
|
`http://127.0.0.1:9119/skills?profile=worker` land with the switcher
|
||||||
|
preselected and survive refresh.
|
||||||
|
|
||||||
|
Launching the dashboard from a profile alias routes to the machine
|
||||||
|
dashboard instead of starting a second server:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
worker dashboard
|
||||||
|
# → already running: opens the browser at ?profile=worker
|
||||||
|
# → not running: starts the machine dashboard with "worker" preselected
|
||||||
|
```
|
||||||
|
|
||||||
|
Pass `--isolated` to opt out and run a dedicated server scoped to that
|
||||||
|
profile (the pre-unification behavior — useful if you deliberately expose
|
||||||
|
different profiles' dashboards with different auth).
|
||||||
|
|
||||||
|
The **Chat** tab follows the switcher too: a scoped chat spawns its PTY
|
||||||
|
child with the selected profile's `HERMES_HOME`, so the conversation runs
|
||||||
|
with that profile's model, skills, memory, and session history. Switching
|
||||||
|
profiles starts a fresh terminal session.
|
||||||
|
|
||||||
|
What stays per-profile and is *not* absorbed by the switcher: gateway
|
||||||
|
processes (manage them via `hermes -p <name> gateway …`), each profile's
|
||||||
|
session database, and cron schedulers (the Cron page already aggregates
|
||||||
|
across profiles with its own filter).
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
The default `hermes-agent` install does not ship the HTTP stack or PTY helper — those are optional extras. The **web dashboard** needs FastAPI and Uvicorn (`web` extra). The **Chat** tab also needs `ptyprocess` to spawn the embedded TUI behind a pseudo-terminal (`pty` extra on POSIX). Install both with:
|
The default `hermes-agent` install does not ship the HTTP stack or PTY helper — those are optional extras. The **web dashboard** needs FastAPI and Uvicorn (`web` extra). The **Chat** tab also needs `ptyprocess` to spawn the embedded TUI behind a pseudo-terminal (`pty` extra on POSIX). Install both with:
|
||||||
|
|
|
||||||
|
|
@ -199,6 +199,20 @@ If you want this profile to work in a specific project by default, also set its
|
||||||
coder config set terminal.cwd /absolute/path/to/project
|
coder config set terminal.cwd /absolute/path/to/project
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### From the dashboard
|
||||||
|
|
||||||
|
The [web dashboard](features/web-dashboard.md#managing-multiple-profiles)
|
||||||
|
is a machine-level surface that can manage **any** profile's config, API
|
||||||
|
keys, skills, MCPs, and model via the profile switcher in its sidebar — no
|
||||||
|
per-profile dashboard needed. `coder dashboard` routes to the machine
|
||||||
|
dashboard with the `coder` profile preselected. The dashboard's Chat tab
|
||||||
|
also follows the switcher, spawning a conversation under the selected
|
||||||
|
profile's home.
|
||||||
|
|
||||||
|
Note: "Set as active" on the dashboard's Profiles page is the sticky
|
||||||
|
default for **future CLI/gateway runs** (same as `hermes profile use`) —
|
||||||
|
to edit a profile from the dashboard, use the switcher instead.
|
||||||
|
|
||||||
## Updating
|
## Updating
|
||||||
|
|
||||||
`hermes update` pulls code once (shared) and syncs new bundled skills to **all** profiles automatically:
|
`hermes update` pulls code once (shared) and syncs new bundled skills to **all** profiles automatically:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue