Skip to content

Conversation

@CamilleLetavernier
Copy link
Contributor

@CamilleLetavernier CamilleLetavernier commented Nov 26, 2025

What it does

  • improve the Chat UX for first time Theia AI users (when Theia AI is not fully configured)

How to test

  • start from a fresh workspace
    • alternatively: unset all your API Keys (Anthropic, OpenAI, Gemini) and Ollama Configs (models, ...)
    • unset the default agent setting
  • start a new conversation in AI Chat
    • the welcome page should indicate a configuration error, indicating that Models are not configured
    • the page also indicates the error messages reported by each model (Typically "missing API Key")
    • there is no error for Ollama, because Ollama no longer provides any model out of the box (we check "Language Models" rather than "Providers").
  • add an API Key (can be a mock key) for OpenAI, Google or Anthropic (or any other provider)
    • should also work when adding a model for Ollama
  • the Welcome Page changes: it now requests the user to pick a default Agent
    • this can be done either via one of the recommendations (single click) or by navigating to the settings via the suggested link and entering a custom value

Screen 1: AI Features are disabled (Not change for this screen)

image

Screen 2: AI Models are not configured (New screen 🌟 )

image

Screen 3: Default Agent has not been selected (New screen 🌟 )

image

Screen 4: Everything is (probably) fine, happy chatting! (No change for this screen)

image

Follow-ups

Breaking changes

  • This PR introduces breaking changes and requires careful review. If yes, the breaking changes section in the changelog has been updated.

Attribution

Review checklist

Reminder for reviewers

@github-project-automation github-project-automation bot moved this to Waiting on reviewers in PR Backlog Nov 26, 2025
@ndoschek ndoschek marked this pull request as draft November 27, 2025 08:32
@CamilleLetavernier CamilleLetavernier changed the title Issues/16466 16466: larify role of Orchestrator agent in Theia AI chat interactions Nov 28, 2025
@CamilleLetavernier CamilleLetavernier changed the title 16466: larify role of Orchestrator agent in Theia AI chat interactions 16466: clarify role of Orchestrator agent in Theia AI chat interactions Nov 28, 2025
- ensure at least one language model is configured (e.g. API Key
present)
- report configuration errors for language models, to help the user
identify what they need to do
- unset the Ollama default models (not relevant defaults; also makes it
impossible to distinguish whether ollama is actually configured)
- remove the fallback "Default Agent"
- make sure the user explicitly selects its own "Default Agent" (with
some recommendations)
- improve error messages when using an invalid/disabled Agent
@CamilleLetavernier CamilleLetavernier marked this pull request as ready for review December 2, 2025 12:35
@CamilleLetavernier
Copy link
Contributor Author

I've rebased the PR on the current master, which included a refactoring of the Welcome Page from regular React to (Localized)Markdown: issues/16470

@ndoschek ndoschek self-requested a review December 2, 2025 13:51
@ndoschek ndoschek linked an issue Dec 2, 2025 that may be closed by this pull request
Copy link
Member

@ndoschek ndoschek left a comment

Choose a reason for hiding this comment

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

Hi @CamilleLetavernier, thanks for this improvement, the flow works great and will guide new users much better now! 🙌

I added a few minor comments inline and have one general thought:
The views could be aligned in a follow-up so they all use consistent headings and layout. The first and default view weren't touched by this PR, so handling it separately should be fine imo. When testing the new user flow, the views switch between different styles, fonts, sizes, and alignments, which feels a bit jumpy to the eye.

Comment on lines +253 to +257
{nls.localize('theia/ai/ide/continueAnyway', 'Continue Anyway')}
</button>
</div>
<small className="theia-WelcomeMessage-Hint">
{nls.localize('theia/ai/ide/bypassHint', 'Some agents like Claude Code don\'t require Theia Language Models')}
Copy link
Member

Choose a reason for hiding this comment

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

A little more info here would be nice, that this sets the preference Bypass Model Requirement.
Maybe a tooltip would also be good here.

Comment on lines +285 to +289
**Common fixes:**
- Check that your API key is valid and not expired
- Verify that custom servers (Ollama, LlamaFile) are running
- Check your network connection and firewall settings
Copy link
Member

Choose a reason for hiding this comment

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

This should also be left-aligned. If the UL content is centered, it looks off.

Comment on lines +342 to +349
<button
key={agent.id}
className="theia-WelcomeMessage-AgentButton"
onClick={() => this.setDefaultAgent(agent.id)}
title={agent.description}>
<span className="theia-WelcomeMessage-AgentButton-Icon">@</span>
<span className="theia-WelcomeMessage-AgentButton-Label">{agent.label}</span>
</button>
Copy link
Member

Choose a reason for hiding this comment

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

This is a little big, would be nice if we could get the same button size as on the other screen (open ui settings) to have a little consistency between the views.

<LocalizedMarkdown
localizationKey="theia/ai/ide/moreAgentsAvailable"
defaultMarkdown={recommendedAgents.length > 0
? 'More agents are available. Use @AgentName to try others or configure a different default in [preferences]({0}).'
Copy link
Member

Choose a reason for hiding this comment

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

This box looks a little off, we should have a least the same padding as the input box on the bottom.
In general it would be great if we could reuse another theia concept, like the classes used in the AlertMessage.
E.g. in the scm view we have a warning alert message, but in this case we could use info level, wdyt?

Image

Copy link
Member

Choose a reason for hiding this comment

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

In general I would like to double check the font sizes, margins and so on and use theia css variables where possible, but as mentioned in my general comment, it would also be fine for me to rework the styling in a follow up together with the other views we have.

@github-project-automation github-project-automation bot moved this from Waiting on reviewers to Waiting on author in PR Backlog Dec 3, 2025
@ndoschek ndoschek requested a review from JonasHelming December 3, 2025 15:29
@ndoschek
Copy link
Member

ndoschek commented Dec 3, 2025

@JonasHelming could you also take a look at the flow in general and let us know if you’re fine with it or have any additional feedback? TIA!

@JonasHelming
Copy link
Contributor

Thanks, this is a nice improvement for initial users!

  1. We still have an orchestrator related setting
  2. I was not able to get the "error" page, eve though I removed all AI related settings, so I could not test this
  3. Feedback to the screenshot above:

I think we should make the message feel less like an exception, as users will very likely run into it.

Suggestion:

Please configure at least one language model provider

If you want to use OpenAI, Anthropic or GoogleAI hosted models, please enter an API key in the settings. (maybe link the provider names to their settings page)
If you want to use another provider such as Ollama, please configure it in the settings and adapt agents or a model alias to use your custom model.
Note: Some agents, such as Claude Code do not need a provider to be configure, just continue in this case.
See the documentation for more details.

Current Configuration State

message from providers

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

Labels

None yet

Projects

Status: Waiting on author

Development

Successfully merging this pull request may close these issues.

Clarify role of Orchestrator agent in Theia AI chat interactions

4 participants