mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-20 15:33:54 +00:00
The desktop "Local / custom endpoint" onboarding never collected an API key and /api/model/set silently dropped one, so an auth-gated endpoint (e.g. a hosted vLLM behind a key) could never enumerate models — and Settings' "Set up custom endpoint" routed `custom` into a non-existent OAuth flow, booting the user back to the first screen (the reported loop). Backend (web_server.py): - /api/providers/validate accepts an optional api_key and sends it as a Bearer header when probing a custom endpoint's /v1/models. - /api/model/set accepts api_key, persists it to model.api_key (same switch/preserve lifecycle as base_url), and registers a named custom_providers entry via _save_custom_provider — matching the `hermes model` CLI flow so the endpoint shows up as a ready picker row. Desktop: - ApiKeyForm shows an optional API key field for the local/custom option; the key is threaded through saveOnboardingLocalEndpoint → validate + setModelAssignment. - New onboarding `localEndpoint` intent + startManualLocalEndpoint(); the Settings "Set up custom endpoint" button now opens the local-endpoint form (URL + key) instead of the OAuth dead-end. - Added localApiKeyPlaceholder i18n key (en + types + zh). Tests: api_key lifecycle on _apply_main_model_assignment, key persistence + custom_providers registration on /api/model/set, Bearer-header probe; onboarding store forwards + persists the key. |
||
|---|---|---|
| .. | ||
| activity.ts | ||
| boot.ts | ||
| clarify.test.ts | ||
| clarify.ts | ||
| command-palette.ts | ||
| composer-input-history.test.ts | ||
| composer-input-history.ts | ||
| composer-queue.test.ts | ||
| composer-queue.ts | ||
| composer.test.ts | ||
| composer.ts | ||
| cron.ts | ||
| gateway.ts | ||
| haptics.ts | ||
| keybinds.ts | ||
| layout.ts | ||
| model-visibility.test.ts | ||
| model-visibility.ts | ||
| notifications.ts | ||
| onboarding.test.ts | ||
| onboarding.ts | ||
| panes.test.ts | ||
| panes.ts | ||
| preview.test.ts | ||
| preview.ts | ||
| profile.ts | ||
| prompts.test.ts | ||
| prompts.ts | ||
| session-switcher.test.ts | ||
| session-switcher.ts | ||
| session.test.ts | ||
| session.ts | ||
| subagents.test.ts | ||
| subagents.ts | ||
| thread-scroll.ts | ||
| tool-diffs.ts | ||
| tool-view.ts | ||
| updates.test.ts | ||
| updates.ts | ||
| voice-playback.ts | ||
| windows.test.ts | ||
| windows.ts | ||