feat(cli): make hermes portal the human-readable Portal onboarding alias

`hermes portal` (no subcommand) now runs the one-shot Nous Portal onboarding
— OAuth login, switch provider to Nous, offer Tool Gateway — identical to
`hermes setup --portal` and the human-readable alias for
`hermes auth add nous --type oauth` (which still works).

The prior status default moves to `hermes portal info`; `status` is kept as a
hidden back-compat alias. `open`/`tools` subcommands are unchanged.

User-facing hints and docs (status.py, conversation_loop 401 guidance,
SystemPage, README, website docs + zh-Hans) now point at `hermes portal` /
`hermes portal info`. `--manual-paste` references keep the explicit auth
command since `hermes portal` does not expose that flag.
This commit is contained in:
kshitijk4poor 2026-06-04 01:19:28 +05:30
parent 39fee4f3bc
commit da4f407e51
21 changed files with 212 additions and 58 deletions

View file

@ -57,7 +57,7 @@ See [OAuth over SSH / Remote Hosts](/guides/oauth-over-ssh) for the full walkthr
## 3. Verify it worked
```bash
hermes portal status
hermes portal info
```
You should see:
@ -178,12 +178,12 @@ For team setups where multiple humans share a machine, each human has their own
## Troubleshooting
### `hermes portal status` shows "not logged in" after `hermes setup --portal`
### `hermes portal info` shows "not logged in" after `hermes setup --portal`
The OAuth flow didn't complete. Re-run it:
```bash
hermes auth add nous --type oauth
hermes portal
```
If your browser doesn't open or the callback fails, you're likely on a remote/headless host — see [OAuth over SSH](/guides/oauth-over-ssh) for the port-forwarding and manual-paste workarounds.
@ -203,7 +203,7 @@ hermes model
# pick Nous Portal
```
Re-verify with `hermes portal status`.
Re-verify with `hermes portal info`.
### Tool Gateway tools showing partner names instead of "via Nous Portal"
@ -239,7 +239,7 @@ If a model is genuinely unavailable, [open an issue](https://github.com/NousRese
### Billing not appearing on my Portal account
`hermes portal status` will tell you whether you're actually routing through the Portal or some other provider. Common causes:
`hermes portal info` will tell you whether you're actually routing through the Portal or some other provider. Common causes:
- `model.provider` set to `openrouter`/`anthropic`/etc. instead of `nous`
- An OAuth refresh failure that fell back to a different configured provider

View file

@ -130,12 +130,15 @@ If you use [Hermes profiles](/user-guide/profiles), the Portal refresh token is
### Inspecting what's wired up
```bash
hermes portal status # login status, subscription info, model + gateway routing
hermes portal # log in to Nous Portal + set it up (one-shot onboarding)
hermes portal info # login status, subscription info, model + gateway routing
hermes portal tools # detailed Tool Gateway catalog with per-tool routing
hermes portal open # open the subscription management page in your browser
```
`hermes portal status` (or just `hermes portal`) gives you the high-level overview:
`hermes portal` (with no subcommand) is the human-readable alias for `hermes auth add nous --type oauth` — it logs you in, sets Nous as your inference provider, and offers the Tool Gateway opt-in (identical to `hermes setup --portal`).
`hermes portal info` gives you the high-level overview:
```
Nous Portal
@ -234,12 +237,12 @@ If the Portal invalidates the refresh token (password change, manual revoke, ses
## Troubleshooting
### `hermes portal status` shows "not logged in"
### `hermes portal info` shows "not logged in"
You haven't completed the OAuth flow, or your refresh token was wiped. Run:
```bash
hermes auth add nous --type oauth
hermes portal
```
or use `hermes model` and re-select Nous Portal.
@ -260,7 +263,7 @@ If a model is genuinely missing, [open an issue](https://github.com/NousResearch
### Bills not appearing on my Portal account
Check `hermes portal status` first — if it shows you're using a different provider (`Model: currently openrouter` instead of `using Nous as inference provider`), your local config has drifted. Run `hermes model`, pick Nous Portal, and the next request will route through your subscription.
Check `hermes portal info` first — if it shows you're using a different provider (`Model: currently openrouter` instead of `using Nous as inference provider`), your local config has drifted. Run `hermes model`, pick Nous Portal, and the next request will route through your subscription.
## See also

View file

@ -66,7 +66,7 @@ In the `model:` config section, you can use either `default:` or `model:` as the
```bash
hermes setup --portal # fresh install — OAuth + provider + gateway in one command
hermes model # existing install — pick "Nous Portal" from the list
hermes portal status # inspect login + routing at any time
hermes portal info # inspect login + routing at any time
```
Don't have a subscription yet? Get one at [portal.nousresearch.com/manage-subscription](https://portal.nousresearch.com/manage-subscription).
@ -89,7 +89,7 @@ Even when using Nous Portal, Codex, or a custom endpoint, some tools (vision, we
:::
:::tip Nous Tool Gateway
Paid Nous Portal subscribers also get access to the **[Tool Gateway](/user-guide/features/tool-gateway)** — web search, image generation, TTS, and browser automation routed through your subscription. No extra API keys needed. On a fresh install, `hermes setup --portal` logs you in, sets Nous as your provider, and turns the gateway on in one command. Existing users can enable it from `hermes model` or per-tool from `hermes tools`. Inspect routing at any time with `hermes portal status`.
Paid Nous Portal subscribers also get access to the **[Tool Gateway](/user-guide/features/tool-gateway)** — web search, image generation, TTS, and browser automation routed through your subscription. No extra API keys needed. On a fresh install, `hermes setup --portal` logs you in, sets Nous as your provider, and turns the gateway on in one command. Existing users can enable it from `hermes model` or per-tool from `hermes tools`. Inspect routing at any time with `hermes portal info`.
:::
### Two Commands for Model Management

View file

@ -12,7 +12,7 @@ Hermes uses two kinds of model slots:
This page covers configuring both from the dashboard. If you prefer config files or the CLI, jump to [Alternative methods](#alternative-methods) at the bottom.
:::tip Fastest path: Nous Portal
[Nous Portal](/user-guide/features/tool-gateway) provides 300+ models under one subscription. On a fresh install, run `hermes setup --portal` to log in and set Nous as your provider in one command. Inspect what's wired up with `hermes portal status`.
[Nous Portal](/user-guide/features/tool-gateway) provides 300+ models under one subscription. On a fresh install, run `hermes setup --portal` to log in and set Nous as your provider in one command. Inspect what's wired up with `hermes portal info`.
- Portal subscribers also get **10% off token-billed providers**.
:::

View file

@ -29,7 +29,7 @@ proxy when you just want **the model** through your subscription.
### 1. Log into your provider (one-time)
```bash
hermes auth add nous
hermes portal
```
This opens your browser for the Nous Portal OAuth flow. Hermes stores
@ -88,10 +88,10 @@ Hermes proxy upstream adapters
[nous ] Nous Portal — ready (bearer expires 2026-05-15T06:43:21Z)
```
If you see `not logged in`, run `hermes auth add nous`. If you see
If you see `not logged in`, run `hermes portal`. If you see
`credentials need attention`, your refresh token was revoked (rare —
happens if you signed out from the Portal web UI) — just re-run
`hermes auth add nous`.
`hermes portal`.
## Allowed paths

View file

@ -60,12 +60,12 @@ hermes tools # Enable the gateway per-tool — pick "Nous Subscript
Check what's active at any time:
```bash
hermes portal status # Portal auth + Tool Gateway routing summary
hermes portal info # Portal auth + Tool Gateway routing summary
hermes portal tools # Gateway catalog with current routing per tool
hermes status # Full system status (Tool Gateway is one section)
```
`hermes portal status` shows a section like:
`hermes portal info` shows a section like:
```
◆ Nous Tool Gateway