Parent
Problem
The Web model picker can select an already available provider/model pair, but the browser cannot:
- inspect provider authentication availability without leaking credentials;
- start or complete a supported Pi-native provider login flow;
- view or set the current thinking/reasoning level;
- enter the canonical OpenPI setup episode;
- inspect package setup status or runtime provenance.
Users must leave the Web workbench to understand or change these settings, and unavailable models provide limited recovery guidance.
Value
- Make model configuration usable from the browser while keeping Pi authoritative.
- Preserve the single OpenPI setup entry point and typed persistence boundary.
- Give users enough provenance to diagnose which runtime/configuration they are operating.
Approach constraints
- Pi remains the source of truth for provider credentials, available models, and reasoning state.
- Credentials, tokens, and secrets must never enter snapshots, SSE events, browser storage, or logs.
- Model and reasoning changes bind to the expected Session and return exact accepted/stale/failed receipts.
- OpenPI configuration must continue through the canonical /openpi-setup episode and episode-scoped typed writer.
- Do not add a browser parser, direct preference-file writes, or an extension-specific setup command.
- Package-owned settings must keep setup config, status output, SETUP.md, README defaults, and tests synchronized.
- Authentication UI must use a reviewed Pi/provider seam; unsupported providers get explicit external instructions.
Acceptance criteria
Related work
Out of scope
- A second provider stack.
- Browser-managed credential storage.
- Hardcoded default providers or models.
Parent
Problem
The Web model picker can select an already available provider/model pair, but the browser cannot:
Users must leave the Web workbench to understand or change these settings, and unavailable models provide limited recovery guidance.
Value
Approach constraints
Acceptance criteria
Related work
Out of scope