mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-27 01:11:40 +00:00
feat: add multi-provider authentication and inference provider selection
- Implemented a multi-provider authentication system for the Hermes Agent, supporting OAuth for Nous Portal and traditional API key methods for OpenRouter and custom endpoints. - Enhanced CLI with commands for logging in and out of providers, allowing users to authenticate and manage their credentials easily. - Updated configuration options to select inference providers, with detailed documentation on usage and setup. - Improved status reporting to include authentication status and provider details, enhancing user awareness of their current configuration. - Added new files for authentication handling and updated existing components to integrate the new provider system.
This commit is contained in:
parent
c007b9e5bd
commit
cfef34f7a6
9 changed files with 1639 additions and 113 deletions
16
docs/cli.md
16
docs/cli.md
|
|
@ -11,6 +11,10 @@ The Hermes Agent CLI provides an interactive terminal interface for working with
|
|||
# With specific model
|
||||
./hermes --model "anthropic/claude-sonnet-4"
|
||||
|
||||
# With specific provider
|
||||
./hermes --provider nous # Use Nous Portal (requires: hermes login)
|
||||
./hermes --provider openrouter # Force OpenRouter
|
||||
|
||||
# With specific toolsets
|
||||
./hermes --toolsets "web,terminal,skills"
|
||||
|
||||
|
|
@ -75,14 +79,22 @@ The CLI is configured via `cli-config.yaml`. Copy from `cli-config.yaml.example`
|
|||
cp cli-config.yaml.example cli-config.yaml
|
||||
```
|
||||
|
||||
### Model Configuration
|
||||
### Model & Provider Configuration
|
||||
|
||||
```yaml
|
||||
model:
|
||||
default: "anthropic/claude-opus-4.5"
|
||||
default: "anthropic/claude-opus-4.6"
|
||||
base_url: "https://openrouter.ai/api/v1"
|
||||
provider: "auto" # "auto" | "openrouter" | "nous"
|
||||
```
|
||||
|
||||
**Provider selection** (`provider` field):
|
||||
- `auto` (default): Uses Nous Portal if logged in (`hermes login`), otherwise falls back to OpenRouter/env vars.
|
||||
- `openrouter`: Always uses `OPENROUTER_API_KEY` from `.env`.
|
||||
- `nous`: Always uses Nous Portal OAuth credentials from `auth.json`.
|
||||
|
||||
Can also be overridden per-session with `--provider` or via `HERMES_INFERENCE_PROVIDER` env var.
|
||||
|
||||
### Terminal Configuration
|
||||
|
||||
The CLI supports multiple terminal backends:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue