Skip to content

[UD] Add AI coding tool selection and API key management for DevWorkspaces #23796

@olexii4

Description

@olexii4

Is your enhancement related to a problem? Please describe

Eclipse Che Dashboard has no built-in way for users to select an AI coding tool or manage API keys for AI providers. Users must manually configure DevWorkspace specs and create Kubernetes Secrets, which is error-prone and not discoverable.

Describe the solution you'd like

1. AI provider and tool definitions

Separate provider metadata (name, icon, description) from tool injection details (container image, binary, env var). Multiple tools can share one provider. Definitions are served to the frontend via the server config endpoint and can be overridden by administrators through the CheCluster CR.

2. AI provider selector on workspace creation

Add a selector on the Get Started page so users can pick an AI provider when creating a workspace. The selected provider ID is passed as a factory URL parameter and the tool is injected into the DevWorkspace at creation time.

3. API key management in User Preferences

Add an "AI Providers Keys" tab in User Preferences for managing API keys:

  • List configured keys with provider name and status
  • Add, update, or delete keys

Keys are stored as Kubernetes Secrets with auto-mount labels so the DevWorkspace Controller injects them as environment variables.

4. AI tool info on Workspace Details page

Show the currently injected AI tool in the Overview tab. Allow users to view available tools and switch to a different one (workspace must be stopped).

5. Backend API

  • Serve provider and tool definitions via server config
  • REST endpoints for listing, creating, and deleting API key secrets scoped to the user's namespace

Describe alternatives you've considered

  • CheCluster CR only: Administrators configure AI tools entirely via CR, but users get no agency to select tools or manage their own API keys.
  • Flat tool definitions: Keeping provider metadata on the tool definition duplicates data when multiple tools share a provider.

Metadata

Metadata

Assignees

Labels

area/dashboardarea/dogfoodingUsing Eclispe Che to code, test and build Eclipse Chekind/enhancementA feature request - must adhere to the feature request template.severity/P2Has a minor but important impact to the usage or development of the system.team/AThis team is responsible for the Che Operator and all its operands as well as chectl and Hosted Che

Type

No type

Projects

Status

Ready for Review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions