Skip to content

Conversation

@roomote
Copy link
Contributor

@roomote roomote bot commented Jan 26, 2026

Summary

This PR adds Keywords AI as a new LLM provider to Roo Code. Keywords AI is a gateway API that provides observability and analytics features for LLM interactions.

Changes

Types (packages/types)

  • Added keywords-ai.ts with default model configuration
  • Added Keywords AI to dynamicProviders array and provider settings schema
  • Added keywordsAiModelId to modelIdKeys for dynamic model selection
  • Added Keywords AI to MODELS_BY_PROVIDER mapping

API Handler (src/api)

  • Created KeywordsAiHandler class extending BaseProvider
  • Uses OpenAI-compatible API pattern
  • Implements special disable_log: true parameter when logging is disabled
  • Default base URL: https://api.keywordsai.co/api

Model Fetching (src/api/providers/fetchers)

  • Created getKeywordsAiModels() function to fetch available models
  • Parses model capabilities (reasoning, vision, caching)
  • Integrated into model cache system

UI Components (webview-ui)

  • Created KeywordsAi.tsx provider settings component
  • API key input
  • Enable Logging toggle (sends disable_log: true when disabled)
  • Custom base URL option
  • Model picker with refresh button
  • Added i18n translations

Special Features

  • Enable Logging Toggle: When disabled, Keywords AI will not log requests (sends disable_log: true in API requests). When enabled (default), logging is active for observability.

Related Issue

Closes #10962

- Add Keywords AI provider with gateway API and observability features
- Implement KeywordsAiHandler using OpenAI-compatible API
- Add Enable Logging toggle (sends disable_log: true when disabled)
- Support dynamic model fetching from Keywords AI API
- Add UI settings component with API key, base URL, and logging options
- Add i18n translations for Keywords AI settings

Closes #10962
@roomote
Copy link
Contributor Author

roomote bot commented Jan 26, 2026

Rooviewer Clock   See task on Roo Cloud

Review complete. Found 1 issue that needs to be addressed before merging.

  • Add Keywords AI to the candidates array in webviewMessageHandler.ts to enable automatic model fetching

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

lmstudio: {},
roo: {},
chutes: {},
"keywords-ai": {},
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Keywords AI is added to the routerModels object here, but it's missing from the candidates array below (around line 894). Without an entry in candidates, models won't be fetched automatically when the settings page loads. Users would need to manually click "Refresh Models" to populate the model picker.

Add Keywords AI to the candidates array:

{
	key: "keywords-ai",
	options: {
		provider: "keywords-ai",
		apiKey: apiConfiguration.keywordsAiApiKey,
		baseUrl: apiConfiguration.keywordsAiBaseUrl,
	},
},

Fix it with Roo Code or mention @roomote and request a fix.

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

Labels

None yet

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

[ENHANCEMENT] Add Keywords AI as LLM provider with gateway API and observability

2 participants