-
Notifications
You must be signed in to change notification settings - Fork 43
Docs: Provider connections page + cross-links (preview, local-only) (#15492) #717
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
juanmichelini
wants to merge
7
commits into
main
Choose a base branch
from
docs/provider-connections
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
101174b
docs: provider connections page + cross-links (preview, local-only)
openhands-agent f6fa992
docs: align disconnect copy with shipped UI (Delete + affected-profil…
openhands-agent bf2297c
docs: match Connect-a-Provider page to shipped wireframe UI
openhands-agent 7227058
Rename provider connections docs to model providers
openhands-agent b1e2f73
Document model provider endpoint settings
openhands-agent d66a66c
Rewrite model providers docs for the provider-first flow
openhands-agent 0198ed6
docs: align provider connections page with shipped feature
openhands-agent File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,99 @@ | ||
| --- | ||
| title: Provider connections | ||
| description: Store one API key (and optional base URL) as a named provider connection, then link multiple LLM profiles to it so they share the key. | ||
| --- | ||
|
|
||
| <Note> | ||
| **Preview — local backends only.** Provider connections are available on | ||
| **local agent-server backends** only; the section does not appear on cloud | ||
| backends. Cloud support is planned. UI labels and the flow may still change | ||
| (see [OpenHands/OpenHands#15492](https://github.com/OpenHands/OpenHands/issues/15492)). | ||
| </Note> | ||
|
|
||
| A **provider connection** is a small, named bundle of the credential material an | ||
| LLM profile would otherwise carry inline: an **API key** and an optional **base | ||
| URL**. Instead of pasting the same key into every profile that uses a provider, | ||
| you save it once as a connection and link your profiles to it. Rotating the key | ||
| is then a single edit that every linked profile picks up on its next run. | ||
|
|
||
| ## Where to find it | ||
|
|
||
| Open `Settings > LLM`. On a local agent-server, the **Provider connections** | ||
| section appears below the list of LLM profiles. (On cloud backends the section is | ||
| hidden.) | ||
|
|
||
| ## Add a connection | ||
|
|
||
| 1. In the **Provider connections** section, choose **Add connection**. | ||
| 2. Fill in the form: | ||
| - **Name** — the display name shown on the connection row (required). | ||
| - **Provider** — a free-text provider identifier. Defaults to `custom`; set | ||
| it to something like `openai` or `anthropic` when you want the row to say | ||
| so. | ||
| - **API key** — the key issued by that provider or gateway (required when | ||
| creating a connection). | ||
| - **Base URL** — optional OpenAI-compatible endpoint, for example | ||
| `https://api.openai.com`. Leave it blank to use the provider's default. | ||
| 3. Save. The connection appears as a row showing its name, provider, the number | ||
| of profiles linked to it, and an indicator of whether a key is set. | ||
|
|
||
| The API key is **encrypted at rest** on the backend (the same cipher machinery | ||
| LLM profiles use) and is **never returned to the UI** — the row only reports | ||
| whether a key is set. | ||
|
|
||
| ## Link a profile to a connection | ||
|
|
||
| Provider connections are consumed from the LLM profile form. When you create or | ||
| edit a profile on a local backend, a **Provider connection** dropdown lets you | ||
| point the profile at a saved connection: | ||
|
|
||
| - When a profile is linked, its inline **API key** and **Base URL** inputs are | ||
| hidden — the profile reads both from the connection at runtime. | ||
| - Choose **None** in the dropdown to unlink the profile and go back to entering | ||
| a key and base URL directly on the profile. | ||
|
|
||
| Several profiles can link to the same connection, so a set of profiles that all | ||
| use one provider share a single key. | ||
|
|
||
| ## Edit a connection or rotate its key | ||
|
|
||
| Use the **edit** (pencil) control on a connection row to change its name, | ||
| provider, or base URL, or to rotate the key. The key field follows the same | ||
| "blank means unchanged" convention as the profile form: leave it empty to keep | ||
| the stored key, or type a new value to rotate it. Every linked profile uses the | ||
| updated connection on its next run — there is nothing to re-enter per profile. | ||
|
|
||
| ## Delete a connection | ||
|
|
||
| Use the **delete** (trash) control on a connection row and confirm. If any LLM | ||
| profiles still reference the connection, the backend refuses the delete and names | ||
| the profiles that must be unlinked first, so a key in use is never removed out | ||
| from under a profile. | ||
|
|
||
| ## Provider connections vs. LLM profiles | ||
|
|
||
| | | Provider connection | LLM profile | | ||
| |---|---|---| | ||
| | Holds a key | Yes — one key (and optional base URL) shared by linked profiles | Yes — inline, unless linked to a connection | | ||
| | Scope | Reusable credential referenced by id | A single, selectable model configuration | | ||
| | Purpose | Store one key once and share it | Pick the exact model for a conversation | | ||
|
|
||
| Provider connections do not replace profiles — a profile still selects the exact | ||
| model for a conversation. A connection just lets several profiles share one key | ||
| instead of each storing its own. | ||
|
|
||
| ## Not in the preview | ||
|
|
||
| The following are **not** part of this preview: | ||
|
|
||
| - **Cloud backends** — the section is local-agent-server only for now. | ||
| - **Provider presets, wire-API selection, and custom headers** — the form is a | ||
| name, a free-text provider, a key, and an optional base URL. | ||
| - **Multiple keys per connection** — a connection holds a single key. | ||
|
|
||
| ## Related | ||
|
|
||
| - [Manage LLM Profiles](/openhands/usage/agent-canvas/llm-profiles) | ||
| - [Customize and Settings](/openhands/usage/agent-canvas/customize-and-settings) | ||
| - [First Time Setup](/openhands/usage/agent-canvas/first-time-setup) | ||
| - [Secrets Settings](/openhands/usage/settings/secrets-settings) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This appears to be mandatory from testing and not optional.