Skip to content

Conversation

@PrasangAPrajapati
Copy link

@PrasangAPrajapati PrasangAPrajapati commented Sep 25, 2025

Related GitHub Issue

Closes: #8087

Roo Code Task Context (Optional)

Description

  • Added IBM watsonx AI provider in the list of providers in the Roo Code VS Code extension to connect to IBM watsonx-hosted LLMs.

Test Procedure

  • You can start with the free trial: https://dataplatform.cloud.ibm.com/registration/stepone?context=wx
  • Sign up with Google (Do not use RedHat) - If you already have an account, just use Log In
  • Once you're logged in to the IBM Cloud, you'll be asked to add the address and the credit card information (Don't worry, you won't get charged)
  • Go to the Resources list from the left sidebar menu
  • Click on the Create resource button
  • Go to the Category - AI/Machine Learning
  • Click on watsonx.ai runtime
  • Select the Region (Dallas) and Lite plan, which is free
  • You can give the service name, and the resource group will be the default.
  • Accept terms and conditions and hit create
  • Now there is a button called Launch In -> Select IBM watsonx from the drop-down - it will create a watsonx instance
  • Go down on the page and create a project by clicking on the + icon (it may create automatically)
  • Go to Manage and click on the Services and integrations from the left menu bar (make sure the created watsonx.ai runtime is associated)
  • Go back to the home page by clicking on the top left IBM watsonx
  • Select your project from the drop-down shown in the Developer access area
  • Click on the Create API key and save the API key (you won't be able to see that again)
  • Note project ID and api key
  • Use the project ID and api key in the Roo Code IBM watsonx provider

Pre-Submission Checklist

  • Issue Linked: This PR is linked to an approved GitHub Issue (see "Related GitHub Issue" above).
  • Scope: My changes are focused on the linked issue (one major feature/fix per PR).
  • Self-Review: I have performed a thorough self-review of my code.
  • Testing: New and/or updated tests have been added to cover my changes (if applicable).
  • Documentation Impact: I have considered if my changes require documentation updates (see "Documentation Updates" section below).
  • Contribution Guidelines: I have read and agree to the Contributor Guidelines.

Screenshots / Videos

Screenshot 2025-09-25 at 6 43 30 PM

Documentation Updates

Additional Notes

Get in Touch

  • Let's use the GH PR only for communication.

Important

Adds IBM watsonx as a new AI provider with full integration, including configuration, validation, UI support, and testing.

  • Behavior:
    • Adds IBM watsonx as a new AI provider in provider-settings.ts and global-settings.ts.
    • Introduces WatsonxAIHandler in ibm-watsonx.ts for handling API interactions.
    • Supports both ibmCloud and cloudPak platforms with different authentication methods.
  • Validation:
    • Updates validate.ts to include validation for IBM watsonx configurations.
    • Adds validation tests in validate.test.ts for IBM watsonx.
  • UI:
    • Updates UI components in ApiOptions.tsx and providers/ibm-watsonx.tsx to support IBM watsonx configurations.
    • Adds localization strings for IBM watsonx in multiple language files.
  • Testing:
    • Adds unit tests for WatsonxAIHandler in ibm-watsonx.spec.ts.
    • Updates webviewMessageHandler.spec.ts and ClineProvider.spec.ts to include IBM watsonx.

This description was created by Ellipsis for 68c8418950abec9520c27e486cc79ba0929a912e. You can customize this summary. It will automatically update as commits are pushed.

@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. Enhancement New feature or request labels Sep 25, 2025
@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Sep 25, 2025
Copy link
Contributor

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found several issues that need attention before merge. See inline comments for details.

@daniel-lxs daniel-lxs moved this from Triage to PR [Changes Requested] in Roo Code Roadmap Sep 25, 2025
@hannesrudolph hannesrudolph added PR - Changes Requested and removed Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. labels Sep 25, 2025
@daniel-lxs daniel-lxs moved this from PR [Changes Requested] to PR [Needs Prelim Review] in Roo Code Roadmap Sep 26, 2025
Copy link
Member

@daniel-lxs daniel-lxs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, I took a look at the changes and found a couple of issues that need to be addressed.

@PrasangAPrajapati
Copy link
Author

@daniel-lxs I have addressed your feedback. Thanks for the review. It should be ready for review now.

Copy link
Contributor

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found some issues that need attention before merge. See inline comments.

Copy link
Contributor

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found some issues that need attention before merge. See inline comments.

roomote[bot]

This comment was marked as outdated.

roomote[bot]

This comment was marked as outdated.

roomote[bot]

This comment was marked as outdated.

@RooCodeInc RooCodeInc deleted a comment from roomote bot Oct 2, 2025
@RooCodeInc RooCodeInc deleted a comment from roomote bot Oct 2, 2025
Copy link
Contributor

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found some issues that need attention before merge. See inline comments for details.

Copy link
Contributor

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found some issues that need attention before merge. See inline comments for details.

Copy link
Contributor

@roomote roomote bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found some issues that need attention before merge. See inline comments for details.

PrasangAPrajapati and others added 19 commits November 3, 2025 13:23
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
- Reduce UI component from 470 to 313 lines (33% reduction)
- Remove redundant manual refresh button (follows LMStudio/Ollama pattern)
- Extract validation helper function to reduce duplication
- Consolidate duplicate credential input fields
- Fix region naming to use actual codes instead of pretty names
- Simplify handler variable declarations and error handling
- Remove redundant validation checks in fetcher
- Add documented constant for non-inference model filtering
- Overall 19% reduction across all watsonx files (913 -> 735 lines)
- Removed watsonx-specific logic from DiffSettingsControl component
- Removed 'advanced.diff.watsonx.description' translation key from all 18 language files
- IBM watsonx provider has nothing to do with diff settings
* feat: convert Chutes to dynamic/router provider

- Add chutes to dynamicProviders array in provider-settings
- Add chutes entry to dynamicProviderExtras in api.ts
- Create fetcher function for Chutes models API
- Convert ChutesHandler to extend RouterProvider
- Update tests to work with dynamic provider setup
- Export chutesDefaultModelInfo for RouterProvider constructor

* fix: address security and code quality issues from review

- Fix potential API key leakage in error logging
- Add temperature support check before setting temperature
- Improve code consistency with RouterProvider patterns

* fix: add chutes to routerModels initialization

- Fix TypeScript error in webviewMessageHandler
- Ensure chutes is included in RouterName Record type

* Fixes

* Support reasoning

* Fix tests

* Remove reasoning checkbox

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
* feat: convert Chutes to dynamic/router provider

- Add chutes to dynamicProviders array in provider-settings
- Add chutes entry to dynamicProviderExtras in api.ts
- Create fetcher function for Chutes models API
- Convert ChutesHandler to extend RouterProvider
- Update tests to work with dynamic provider setup
- Export chutesDefaultModelInfo for RouterProvider constructor

* fix: address security and code quality issues from review

- Fix potential API key leakage in error logging
- Add temperature support check before setting temperature
- Improve code consistency with RouterProvider patterns

* fix: add chutes to routerModels initialization

- Fix TypeScript error in webviewMessageHandler
- Ensure chutes is included in RouterName Record type

* Fixes

* Support reasoning

* Fix tests

* Remove reasoning checkbox

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
* feat: convert Chutes to dynamic/router provider

- Add chutes to dynamicProviders array in provider-settings
- Add chutes entry to dynamicProviderExtras in api.ts
- Create fetcher function for Chutes models API
- Convert ChutesHandler to extend RouterProvider
- Update tests to work with dynamic provider setup
- Export chutesDefaultModelInfo for RouterProvider constructor

* fix: address security and code quality issues from review

- Fix potential API key leakage in error logging
- Add temperature support check before setting temperature
- Improve code consistency with RouterProvider patterns

* fix: add chutes to routerModels initialization

- Fix TypeScript error in webviewMessageHandler
- Ensure chutes is included in RouterName Record type

* Fixes

* Support reasoning

* Fix tests

* Remove reasoning checkbox

---------

Co-authored-by: Roo Code <roomote@roocode.com>
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
@osdakira
Copy link

osdakira commented Dec 9, 2025

@PrasangAPrajapati
Thank you for the great task. I’m looking forward to this feature being merged. How are you doing?

@osdakira
Copy link

@PrasangAPrajapati
Hi, how are you doing? I’m looking forward to this PR. If you’re not able to work on it, would it be okay for someone else to take it over?

@osdakira
Copy link

Hi @PrasangAPrajapati,

Thank you for your excellent work on adding IBM watsonx AI provider support!

Since this PR has been inactive for a while and has merge conflicts with the current main branch, I've created a continuation PR #10167 that:

  • Rebases your changes onto the latest main branch (v3.36.8+)
  • Resolves all merge conflicts
  • Maintains all your original implementation and credits you as the original author

The new PR is ready for review and testing. All credit for the implementation goes to you and the reviewers who helped improve the code quality.

Please let me know if you'd like to continue working on this, and I'm happy to close my PR in favor of yours.

@github-project-automation github-project-automation bot moved this from PR [Draft / In Progress] to Done in Roo Code Roadmap Jan 6, 2026
@github-project-automation github-project-automation bot moved this from New to Done in Roo Code Roadmap Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Enhancement New feature or request PR - Draft / In Progress size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

[ENHANCEMENT] Add IBM watsonx AI provider in the list of providers to connect to IBM hosted LLMs

4 participants