From c2f65d8f13f6205c2efa963f7689ebb08a87fd33 Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Thu, 1 Oct 2026 17:05:45 +0200 Subject: [PATCH] docs(coding-agent): add Radius to providers page, rename provider docs sections --- packages/coding-agent/CHANGELOG.md | 1 + packages/coding-agent/docs/cli.md | 4 ++-- packages/coding-agent/docs/docs.json | 2 +- .../docs/environment-variables.md | 4 ++-- packages/coding-agent/docs/index.md | 2 +- packages/coding-agent/docs/models.md | 2 +- packages/coding-agent/docs/providers.md | 22 ++++++++++++++----- packages/coding-agent/docs/sdk.md | 2 +- 8 files changed, 25 insertions(+), 14 deletions(-) diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 35ee094f5..a88f8fe91 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -11,6 +11,7 @@ ### Changed - `/login` now offers "Sign in with Radius" at the top level, as the last option, with its status. After a Radius sign-in, `/login` offers to configure the Radius MCP server in the global `mcp.json` with `"auth": { "provider": "radius" }` and reloads. Cancelling a login returns to the menu it was started from. +- The provider docs page is renamed to [Providers](docs/providers.md), its "Cloud Providers" section is now "Provider Specific Config", and it documents Radius first. - MCP OAuth credentials are now stored per server name and URL, so MCP servers with the same URL can sign in with different accounts. Credentials stored by URL alone move to the first server that uses them ([#10252](https://github.com/earendil-works/pi/issues/10252)). ### Fixed diff --git a/packages/coding-agent/docs/cli.md b/packages/coding-agent/docs/cli.md index b00d7fc8a..ec4fa5b97 100644 --- a/packages/coding-agent/docs/cli.md +++ b/packages/coding-agent/docs/cli.md @@ -58,7 +58,7 @@ RPC mode rejects `@file` arguments. JSON and RPC modes reserve stdout for protoc pi --model sonnet:high ``` -See [Choose a Model](models.md) for model selection and [Provider Authentication](providers.md) for credentials. +See [Choose a Model](models.md) for model selection and [Providers](providers.md) for credentials. - `--provider `
Restricts `--model` lookup to one provider. It requires `--model`. @@ -292,7 +292,7 @@ Add `--force` to reinstall Pi when the selected update includes Pi. pi auth check --provider openai --json ``` -Authentication commands require `--provider ` or `--model `. See [Provider Authentication](providers.md) for supported methods. +Authentication commands require `--provider ` or `--model `. See [Providers](providers.md) for supported methods. | Command | Description | |---|---| diff --git a/packages/coding-agent/docs/docs.json b/packages/coding-agent/docs/docs.json index ad61486db..47b9e5b4d 100644 --- a/packages/coding-agent/docs/docs.json +++ b/packages/coding-agent/docs/docs.json @@ -153,7 +153,7 @@ "path": "keybindings.md" }, { - "title": "Provider Authentication", + "title": "Providers", "path": "providers.md" }, { diff --git a/packages/coding-agent/docs/environment-variables.md b/packages/coding-agent/docs/environment-variables.md index 521352438..50d50481f 100644 --- a/packages/coding-agent/docs/environment-variables.md +++ b/packages/coding-agent/docs/environment-variables.md @@ -6,7 +6,7 @@ Pi uses environment variables in three ways: - Pi sets process markers so child processes can identify Pi as the launching agent. - Commands run by the LLM-callable shell tools receive `PI_*` variables describing the current session. -Provider API-key variables are documented separately in [Provider Authentication](providers.md#use-an-api-key-from-the-environment). +Provider API-key variables are documented separately in [Providers](providers.md#use-an-api-key-from-the-environment). ## Process Marker @@ -95,4 +95,4 @@ These variables are read by Pi itself: | `VISUAL`, `EDITOR` | External editor fallback when `externalEditor` is unset | | `HTTP_PROXY`, `HTTPS_PROXY` | Proxy outbound HTTP requests | -Provider credentials such as `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, and cloud-provider configuration are listed in [Provider Authentication](providers.md#use-an-api-key-from-the-environment). +Provider credentials such as `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, and provider-specific configuration are listed in [Providers](providers.md#use-an-api-key-from-the-environment). diff --git a/packages/coding-agent/docs/index.md b/packages/coding-agent/docs/index.md index 2f5e31155..41c3411e7 100644 --- a/packages/coding-agent/docs/index.md +++ b/packages/coding-agent/docs/index.md @@ -30,7 +30,7 @@ Use the [Quickstart customization chooser](quickstart.md#choose-how-to-customize ## Find reference and setup information -Use the reference pages to look up [CLI options](cli.md), [settings](settings.md), [provider authentication](providers.md), [keybindings](keybindings.md), and [environment variables](environment-variables.md). +Use the reference pages to look up [CLI options](cli.md), [settings](settings.md), [providers](providers.md), [keybindings](keybindings.md), and [environment variables](environment-variables.md). For platform-specific help, see [Terminal Setup](terminal-setup.md), [Windows](windows.md), [tmux](tmux.md), [Termux on Android](termux.md), or [Containerization](containerization.md). diff --git a/packages/coding-agent/docs/models.md b/packages/coding-agent/docs/models.md index 3439d33ab..d785a0385 100644 --- a/packages/coding-agent/docs/models.md +++ b/packages/coding-agent/docs/models.md @@ -18,7 +18,7 @@ Browse the [model catalog](https://pi.dev/models) for current providers, model I Run `/login` and select a provider. Pi stores credentials in [`auth.json`](configuration.md#agent-directory). Run `/logout` to remove stored credentials for a provider. -You can instead provide an API key through the provider's environment variable. This is useful in CI and other environments where Pi should not write credentials. [Provider Authentication](providers.md) lists the variables and cloud-provider setup. +You can instead provide an API key through the provider's environment variable. This is useful in CI and other environments where Pi should not write credentials. [Providers](providers.md) lists the variables and provider-specific setup. When several credential sources are configured, Pi uses a runtime `--api-key` first, then a stored `auth.json` credential, an `apiKey` from `models.json`, and finally the provider's environment variables or ambient cloud credentials. Provider extensions can define their own authentication behavior. diff --git a/packages/coding-agent/docs/providers.md b/packages/coding-agent/docs/providers.md index 022656d3d..270f6b238 100644 --- a/packages/coding-agent/docs/providers.md +++ b/packages/coding-agent/docs/providers.md @@ -1,4 +1,4 @@ -# Provider Authentication +# Providers Most hosted providers support one or both of these authentication methods: @@ -17,8 +17,6 @@ Run `/logout` and select a provider to remove its stored credential. This does n `auth.json` can contain API keys and OAuth tokens. Keep it private and do not commit it. -Radius authentication uses its gateway catalog and caches refreshed model metadata for later offline startup. A custom Radius gateway configured in `models.json` uses its own catalog rather than inheriting the public `radius.pi.dev` catalog. - ## Use an API key from the environment Environment variables are useful in CI and anywhere Pi should not store the key. Set the variable before starting Pi: @@ -28,7 +26,7 @@ export ANTHROPIC_API_KEY=sk-ant-... pi ``` -This table covers providers with a single primary API-key variable. Providers that need additional configuration or support ambient credentials are covered under [Cloud providers](#cloud-providers). +This table covers providers with a single primary API-key variable. Providers that need additional configuration or support ambient credentials are covered under [Provider Specific Config](#provider-specific-config). | Provider | Environment variable | |---|---| @@ -85,9 +83,9 @@ To use a secret manager without writing the resolved key to disk, set a provider Pi runs the command when the key is first needed and caches its standard output for the process lifetime. Empty output, a timeout, or a nonzero exit leaves the key unresolved until Pi restarts. -## Cloud Providers +## Provider Specific Config -The providers below need additional settings or can use credentials supplied by their cloud platform. +The providers below have additional setup, need additional settings, or can use credentials supplied by their platform. A stored API-key credential can include an `env` object. Its values take priority over the process environment for that provider: @@ -103,6 +101,18 @@ A stored API-key credential can include an `env` object. Its values take priorit } ``` +### Radius + +Radius is a service crafted for Pi by the builders of Pi, Earendil Works. It provides a customizable AI gateway with organization-level controls and analytics built in, and artifacts for sharing what you create with Pi. + +To get started, run `/login radius` in Pi. This adds Radius as a provider, and its models appear in `/model` like any other provider's. + +Radius also has an MCP server, so Pi can manage Radius for you. + +Radius is currently in early alpha and evolving quickly. See [radius.earendil.com](https://radius.earendil.com) for more. + +Radius authentication uses its gateway catalog and caches refreshed model metadata for later offline startup. A custom Radius gateway configured in `models.json` uses its own catalog rather than inheriting the public `radius.pi.dev` catalog. + ### Azure OpenAI Set an API key plus either a base URL or resource name: diff --git a/packages/coding-agent/docs/sdk.md b/packages/coding-agent/docs/sdk.md index 7d7e03ae3..7d0883b3f 100644 --- a/packages/coding-agent/docs/sdk.md +++ b/packages/coding-agent/docs/sdk.md @@ -140,7 +140,7 @@ See the focused examples for [models](../examples/sdk/02-custom-model.ts), [tool ## Resources -- [Choose a Model](models.md) covers model selection and compatible endpoints; [Provider Authentication](providers.md) covers credentials and cloud-provider setup. +- [Choose a Model](models.md) covers model selection and compatible endpoints; [Providers](providers.md) covers credentials and provider-specific setup. - [Configuration](configuration.md) explains normal discovery and settings; [Settings](settings.md) lists every setting. - [Sessions and Context](sessions.md) explains session behavior; [Session Format](session-format.md) defines persisted entries; [Message Types](message-types.md) defines shared transcript values. - [Extensions](extensions.md), [Skills](skills.md), and [Prompt Templates](prompt-templates.md) document resources supplied through a `ResourceLoader`.