Skip to content

feat(provider): add pipeline reasoning controls - #2373

Open
fdc310 wants to merge 8 commits into
masterfrom
codex/reasoning-controls
Open

feat(provider): add pipeline reasoning controls#2373
fdc310 wants to merge 8 commits into
masterfrom
codex/reasoning-controls

Conversation

@fdc310

@fdc310 fdc310 commented Jul 31, 2026

Copy link
Copy Markdown
Member

Overview

  • Add capability-aware reasoning controls for LLM providers, including conservative protocol-based levels for models missing LiteLLM metadata.
  • Store independent reasoning levels for Local Agent primary and fallback models while keeping provider_default parameter-free.
  • Translate pipeline reasoning choices into provider request parameters and preserve explicit unsupported-level errors.
  • Add a compact popover slider to the pipeline model selector with English, Simplified Chinese, and Japanese translations.
  • Add the 0018_llm_reasoning_config migration, compatibility handling, design documentation, and regression coverage.
  • Integrate the feature with the latest Workspace-scoped model manager and runtime execution context.

Verification

  • uv run --no-sync pytest tests/unit_tests/provider/test_reasoning_control.py tests/unit_tests/provider/test_requester_base.py tests/unit_tests/provider/test_litellmchat.py tests/unit_tests/provider/test_model_service.py tests/unit_tests/api/service/test_model_service.py -q (169 passed)
  • uv run --no-sync pytest tests/integration/persistence/test_migrations.py -q (11 passed)
  • Focused Workspace/reasoning unit suite (75 passed)
  • uv run --no-sync ruff check ...
  • cd web && pnpm test:unit (18 passed)
  • cd web && pnpm build
  • git diff --cached --check

Screenshots

Before: reasoning controls occupied a full-width row under every selected model.

After: reasoning controls use a compact button and a 272 px popover slider with capability-aware stops.

Screenshots are not attached because the local WebUI was not reachable from the browser automation environment. The frontend production build and TypeScript checks pass.

Checklist

For PR author

  • I have read the contribution guide.
  • I have signed, or will sign when prompted by the bot, the CLA.
  • I have communicated with the project maintainer.
  • I have tested the changes and ensured they work as expected.

For project maintainer

  • Related issues have been linked.
  • Configuration and migrations have been reviewed and verified.
  • Dependency declarations have been reviewed where applicable.
  • Documentation has been reviewed.

@dosubot dosubot Bot added size:XXL This PR changes 1000+ lines, ignoring generated files. eh: Feature enhance: 新功能添加 / add new features javascript Pull requests that update Javascript code m: Provider LLM 模型相关 / LLMs management pd: Need testing pending: 待测试的PR / PR waiting to be tested labels Jul 31, 2026
@codecov

codecov Bot commented Aug 1, 2026

Copy link
Copy Markdown

finally:
consumer_task.cancel()
with pytest.raises(asyncio.CancelledError):
await consumer_task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

eh: Feature enhance: 新功能添加 / add new features javascript Pull requests that update Javascript code m: Provider LLM 模型相关 / LLMs management pd: Need testing pending: 待测试的PR / PR waiting to be tested size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant