Skip to content

Conversation

@ivanarifin
Copy link
Contributor

@ivanarifin ivanarifin commented Nov 29, 2025

Context

Auto Provider that will switch between 3 profiles based on task difficulty, can possibly reduce cost and setup for simple task without switching profile

Implementation

Vibecoded inspired by the Gemini CLI auto model to use AI as the classifier for the difficulty

Screenshots

image

How to Test

Use it in the provider

Get in Touch

ivanarifin

ivanarifin and others added 3 commits November 29, 2025 22:08
Add new "Intelligent Provider" that automatically selects appropriate provider profiles (easy, medium, hard) based on request complexity. Includes schema definitions, API handler, UI components, validation, and internationalization support for seamless integration.
@changeset-bot
Copy link

changeset-bot bot commented Nov 29, 2025

⚠️ No Changeset found

Latest commit: 13e48ae

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@mcowger
Copy link
Contributor

mcowger commented Nov 29, 2025

Neat! It says WIP, but does it work? Would like to try it.

@ivanarifin
Copy link
Contributor Author

Neat! It says WIP, but does it work? Would like to try it.

@mcowger yeah it's working, i want to make more improvements though. Open to ideas and suggestions. Also as you know about the profile id bug, i can't save the profile sometimes, but turns out it's the released version, I thought that was on me 🫠

ivanarifin and others added 4 commits December 1, 2025 09:53
…lidation handling

- Streamline classifier prompt to be more concise and focused
- Extract task classification to separate variable for clarity
- Add validation error propagation from IntelligentProvider to ApiOptions
- Improve parent component error handling with onValidationChange callback
Refactor IntelligentHandler to assess task difficulty only once per user message instead of on every createMessage call. Add rawUserPrompt and isInitialMessage metadata to track assessment state, implement assessment caching with race condition prevention, and update UI components to exclude intelligent provider from model listings.
@ivanarifin ivanarifin changed the title [VIBE CODED] [WIP] Feat: Intelligent provider [VIBE CODED] Feat: Intelligent provider Dec 1, 2025
@ivanarifin ivanarifin marked this pull request as ready for review December 1, 2025 15:30
ivanarifin and others added 6 commits December 2, 2025 08:09
Introduce frontend-based keyword assessment for task difficulty in the intelligent provider. This reduces redundant AI evaluations by pre-assessing and caching difficulty levels, allowing the handler to reuse results across conversations and task resets. Updates include new interface fields, event-driven state management, and UI integration for sending pre-assessed difficulty with messages.
@ivanarifin
Copy link
Contributor Author

hey @mcowger if you're intrested you can now try this provider

ivanarifin and others added 9 commits December 5, 2025 17:04
- Consolidate profile handlers into unified ProfileMap structure
- Move type definitions to shared types module for better reusability
- Extract classifier prompt as class constant for maintainability
- Refactor profile loading logic to use helper methods and parallel execution
- Remove frontend difficulty assessment logic to streamline chat component
- Extract validation logic into custom hook for better separation of concerns
Remove the preAssessedDifficulty property from task options, interfaces, and handlers to simplify the codebase, as it is no longer needed after recent restructuring.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants