Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refine Experimental Message for AI Features #14187

Merged
merged 9 commits into from
Sep 19, 2024
Original file line number Diff line number Diff line change
Expand Up @@ -147,11 +147,11 @@ export class ChatViewTreeWidget extends TreeWidget {
<div className="section-content">
<p>To enable the experimental AI features, please go to &nbsp;
{this.renderLinkButton('the settings menu', CommonCommands.OPEN_PREFERENCES.id)}
&nbsp;and locate the <strong>Extensions &gt; ✨ AI Features [Experimental]</strong> section.</p>
&nbsp;and locate the <strong>AI Features</strong> section.</p>
<ol>
<li>Toggle the switch for <strong>'Ai-features: Enable'</strong>.</li>
<li>Provide an OpenAI API Key through the <strong>'OpenAI: API Key'</strong> setting or by
setting the <strong>OPENAI_API_KEY</strong> environment variable.</li>
<li>Provide at least one LLM provider (e.g. OpenAI), also see <a href="https://theia-ide.org/docs/user_ai/" target="_blank">the documentation</a>
for more information.</li>
</ol>
<p>This will activate the new AI capabilities in the app. Please remember, these features are still in development, so they may change or be unstable. 🚧</p>
</div>
Expand All @@ -163,11 +163,19 @@ export class ChatViewTreeWidget extends TreeWidget {
<p>Once the experimental AI features are enabled, you can access the following views and features:</p>
<ul>
<li>Code Completion</li>
<li>Quick Fixes</li>
<li>Terminal Assistance</li>
<li>Terminal Assistance (via CTRL+I in a terminal)</li>
<li>This Chat View (features the following agents):
<ul>
<li>Universal Chat Agent</li>
<li>Workspace Chat Agent</li>
<li>Command Chat Agent</li>
<li>Orchestrator Chat Agent</li>
</ul>
</li>
<li>{this.renderLinkButton('AI History View', 'aiHistory:open')}</li>
<li>{this.renderLinkButton('AI Configuration View', 'aiConfiguration:open')}</li>
</ul>
<p>See <a href="https://theia-ide.org/docs/user_ai/" target="_blank">the documentation</a> for more information.</p>
</div>
</div>
</div>
Expand Down
13 changes: 7 additions & 6 deletions packages/ai-core/src/browser/ai-core-preferences.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,16 @@ export const aiCorePreferenceSchema: PreferenceSchema = {
properties: {
[PREFERENCE_NAME_ENABLE_EXPERIMENTAL]: {
title: AI_CORE_PREFERENCES_TITLE,
markdownDescription: '❗ This setting allows you to access and experiment with our latest AI capabilities.\
markdownDescription: '❗ This setting allows you to access and experiment with the latest AI capabilities.\
\n\
Please note that these features are in an experimental phase, which means they may be unstable,\
undergo significant changes, or incur additional costs.\
Please note that these features are in an experimental phase, which means they may be unstable and\
undergo significant changes. It is important to be aware that these experimental features may generate\
continuous requests to the language models (LLMs) you provide access to. This might incur costs that you\
need to monitor closely. By enabling this option, you acknowledge these risks.\
\n\
By enabling this option, you acknowledge these risks and agree to provide feedback to help us improve.\
&nbsp;\n\
**Please note! The settings below in this section will only take effect\n\
once the main feature setting is enabled.**',
once the main feature setting is enabled. After enabling the feature, you need to configure at least one\
LLM provider below. Also see [the documentation](https://theia-ide.org/docs/user_ai/)**.',
type: 'boolean',
default: false,
},
Expand Down
23 changes: 10 additions & 13 deletions packages/getting-started/src/browser/getting-started-widget.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -406,27 +406,28 @@ export class GettingStartedWidget extends ReactWidget {
return <div className='gs-container gs-experimental-container'>
<div className='flex-grid'>
<div className='col'>
<h3 className='gs-section-header'> 🚀 Theia AI [Experimental] is available! ✨</h3>
<h3 className='gs-section-header'> 🚀 AI Support in the Theia IDE is available! [Experimental] ✨</h3>
<br />
<div className='gs-action-container'>
Theia IDE now contains the experimental "Theia AI" feature, which offers early access to cutting-edge AI capabilities within your IDE.
Theia IDE now contains experimental AI support, which offers early access to cutting-edge AI capabilities within your IDE.
<br />
<br />
Please note that these features are disabled by default, ensuring that users can opt-in at their discretion without any concerns.
For those who choose to enable Theia AI, it is important to be aware that these experimental features may generate continuous
requests to the language models (LLMs) you provide access to, potentially incurring additional costs.
Please note that these features are disabled by default, ensuring that users can opt-in at their discretion.
For those who choose to enable AI support, it is important to be aware that these experimental features may generate continuous
requests to the language models (LLMs) you provide access to. This might incur costs that you need to monitor closely.
<br />
For more details, please visit &nbsp;
<a
role={'button'}
tabIndex={0}
onClick={() => this.doOpenExternalLink(this.theiaAIDocUrl)}
onKeyDown={(e: React.KeyboardEvent) => this.doOpenExternalLinkEnter(e, this.theiaAIDocUrl)}>
{'Theia AI Documentation'}
{'the documentation'}
</a>.
<br />
<br />
We encourage feedback, contributions, and sponsorship to support the ongoing development of the Theia AI initiative use our&nbsp;
🚧 Please note that this feature is currently in development and may undergo frequent changes.
We welcome your feedback, contributions, and sponsorship! To support the ongoing development of the AI capabilities please visit the&nbsp;
<a
role={'button'}
tabIndex={0}
Expand All @@ -435,20 +436,16 @@ export class GettingStartedWidget extends ReactWidget {
{'Github Project'}
</a>.
&nbsp;Thank you for being part of our community!
<br />
<br />
Please note that this feature is currently in development and may undergo frequent changes. 🚧
</div>
<br />
<div className='gs-action-container'>
Let's dive in!<br /><br />
<a
role={'button'}
style={{ fontSize: 'var(--theia-ui-font-size2)' }}
tabIndex={0}
onClick={() => this.doOpenAIChatView()}
onKeyDown={(e: React.KeyboardEvent) => this.doOpenAIChatViewEnter(e)}>
{'Open the Theia AI Chat View now to catch a first glimpse and learn how to begin! ✨'}
{'Open the AI Chat View now to learn how to start! ✨'}
</a>
</div>
<br />
Expand All @@ -458,7 +455,7 @@ export class GettingStartedWidget extends ReactWidget {
</div>;
}

protected doOpenAIChatView = () => this.commandRegistry.executeCommand('ai-chat:open');
protected doOpenAIChatView = () => this.commandRegistry.executeCommand('aiChat:toggle');
protected doOpenAIChatViewEnter = (e: React.KeyboardEvent) => {
if (this.isEnterKey(e)) {
this.doOpenAIChatView();
Expand Down
Loading