Skip to content

feat(web): configure thinking levels and align settings pages - #864

Open
testikun wants to merge 1 commit into
openpi-dev:mainfrom
testikun:codex/independent-dev-20261015
Open

testikun wants to merge 1 commit into
openpi-dev:mainfrom
testikun:codex/independent-dev-20261015

Conversation

@testikun

@testikun testikun commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

Custom models can enable reasoning in Web settings but cannot declare which thinking levels the provider accepts. The conversation and Configuration pickers need to reflect those model capabilities after a save. Settings pages also use inconsistent widths, headings, nested sidebars and control styles.

Closes #866.

Value

Users can configure supported thinking levels without editing Pi's model file manually, and use the updated capabilities immediately in the current Session. A consistent settings layout makes configuration easier to scan on desktop and mobile.

Approach

  • Edit Pi's native thinkingLevelMap in each model's advanced parameters. Validate supported keys and nonempty choices, retain provider-specific mappings, and use an explicit reset to remove the override. Project built-in defaults separately so automatic mode reflects Pi's catalog.
  • Reuse the existing native model refresh after saving; the conversation and Configuration selectors continue to read Pi's available levels and native adjustment of an unsupported current effort. Discard a stale slider preview when capabilities change.
  • Align all ten settings pages with the Browser page's content column, title, spacing, neutral grouped rows and controls. Replace nested subagent/resource sidebars with the shared page layout while retaining existing setup entry points and draft behavior.
  • Rebase only the new work after the frozen development baseline onto main at 78dc5743; the historical PR 711 stack and local baseline integration commits are excluded.

Validation

  • bun run check: passed after the rebase, including regenerated Web assets.
  • VITEST_MAX_WORKERS=2 bun run test: passed; Node 2,650 passed / 9 skipped, UI 1,523 passed across 98 files.
  • Settings browser regressions: 18 passed, including all ten pages at 1440 / 890 / 390 px, desktop Axe checks, native Configuration menus, resource drafts, appearance and archives.
  • Native provider browser integration: passed. The real model settings form saves thinkingLevelMap, the active Session publishes the new available levels, and the conversation slider sends reasoning_effort: "max" to the loopback provider. The existing high/off and reload checks also pass. This validates the integration, not an external provider's advertised capabilities.
  • bun run provenance: checkout a8c26fbe, with exactly one OpenPI source matching this worktree.
  • git range-diff confirms the migrated source changes match the original feature commit; only generated Web assets changed for the newer main.
  • Simplification review removed the nested settings layout and obsolete styles; the regression checks protect native persistence, picker updates, setup submission and responsive layout rather than generated screenshot equality.

Impact

  • User-visible behavior: per-model thinking-level selection and reset; consistent settings pages at desktop and mobile sizes.
  • Model-visible context/tools: none added or changed.
  • Runtime/lifecycle: uses the existing Pi model reload and Session refresh; Pi remains the source of truth for supported and active thinking levels.
  • Persisted config/data: writes the native per-model thinkingLevelMap in models.json; reset removes that override. No OpenPI-owned setting, migration or credential-format change.
  • Compatibility/risk: preserves existing provider mappings and validates the native effort vocabulary through max. Older callers that omit the field retain existing mappings. Provider acceptance remains dependent on the user's selected model and mapping.

@github-actions github-actions Bot added documentation Improvements or additions to documentation area:setup OpenPI setup, configuration, or setup documentation labels Oct 16, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:setup OpenPI setup, configuration, or setup documentation documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(web): configure native thinking levels and align settings pages

1 participant