posit-dev / posit-dev/positron

Integrate Standalone’s AI Provider Configuration Overlay into Positron

Open
#16,092 0 comments 0 reactions 1 assignee View on GitHub

@bricestacey is already working on this.

Since Sep 15, 2026.

area: assistant
Dominant language
TypeScript
Stars
4.3k
Forks
184
Avg merge
1d 11h
Merged PRs (30d)
206

Description

RStudio and Standalone implement Configure AI Providers using Standalone’s ConfigurationOverlay component.

Positron currently has two related implementations:

  1. A Configure AI Providers dialog implemented in Positron core.
  2. A Configure Additional AI Providers command contributed by Posit Assistant. This opens a WebView containing ProviderManagerApp.

We want to converge on a single provider-configuration experience. As a first step, Positron should integrate Standalone’s ConfigurationOverlay.

Desired Behavior

Positron’s Configure AI Providers action should open ConfigurationOverlay and support the provider configuration flows currently available in Standalone.

The UI should display each provider with:

  • Provider icon and name
  • An optional Recommended or Experimental pill
  • Connection status or a human-readable error
  • Actions appropriate to the provider type and current state
Provider Actions
  • SSO providers

    • Disconnected: Connect
    • Connected: Disconnect
    • Error: Connect and Disconnect
  • API-key providers

    • Disconnected: Connect
    • Connected: Edit and Disconnect
  • Managed providers

    • Disconnected: Connect
    • Connected and disconnectable: Edit and Disconnect
    • Connected and not disconnectable: Edit
  • AWS Bedrock

    • Expired credentials: Sign In Again, plus any otherwise applicable actions

When connected without an error, the provider should display Connected. When the connection is invalid, the UI should display an actionable, human-readable error.

Authentication and Credential Storage

Standalone uses NodeAuthService, backed by ai-config and ai-credentials.

Positron also uses ai-config, but stores credentials through its own SecretStorage implementation.

NodeAuthService currently contains provider-management behavior that is not inherently Node-specific. We should determine the minimum abstraction needed to reuse this behavior
while preserving platform-specific credential storage in PositronAuthService.

If extracting that shared behavior substantially expands this ticket, it should be tracked as a follow-up rather than blocking the initial integration.

Backward Compatibility

Existing Positron and Posit Assistant implementations may need to remain temporarily available.

New versions of Posit Assistant must continue to work when installed in older versions of Positron. If Assistant adopts the new implementation, it should use capability
detection and retain the existing WebView as a fallback where necessary.

This ticket should clearly identify which existing commands and implementations remain available after the integration.

Dialog Hosting

ConfigurationOverlay currently combines the dialog shell with its contents. In Positron, this may initially result in a dialog-like interface hosted inside an editor.

This is acceptable for the initial integration. Separating the dialog contents from the shell so they can be hosted in different contexts is future work and is not required by
this ticket.

Acceptance Criteria

  • Positron can open Standalone’s ConfigurationOverlay.
  • Provider metadata, status, errors, and actions are rendered correctly.
  • SSO, API-key, managed-provider, and expired AWS Bedrock credential flows work.
  • Credentials continue to be stored using Positron’s SecretStorage.
  • Existing Posit Assistant behavior remains compatible with older Positron releases.
  • Relevant authentication and UI behavior is covered by automated tests.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.