theia-ext-logo

ECLIPSE THEIA - AI CHAT UI EXTENSION


## Description The `@theia/ai-chat-ui` extension contributes the `AI Chat` view.\ The `AI Chat view` can be used to easily communicate with a language model. It is based on `@theia/ai-chat`. ## Custom Tool Renderers To create a specialized renderer for a specific tool, implement the `ChatResponsePartRenderer` interface with a higher priority than the default `ToolCallPartRenderer` (priority `10`): ```typescript @injectable() export class MyToolRenderer implements ChatResponsePartRenderer { canHandle(response: ChatResponseContent): number { if (ToolCallChatResponseContent.is(response) && response.name === 'my_tool_id') { return 15; } return -1; } render(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode { // Custom rendering logic } } ``` For custom confirmation UIs, use the `ToolConfirmationActions` component to reuse the standard Allow/Deny buttons with dropdown options: ```typescript import { ToolConfirmationActions } from '@theia/ai-chat-ui/lib/browser/chat-response-renderer/tool-confirmation'; response.confirm()} onDeny={(mode) => response.deny()} /> ``` ## Additional Information - [API documentation for `@theia/ai-chat-ui`](https://eclipse-theia.github.io/theia/docs/next/modules/_theia_ai-chat-ui.html) - [Theia - GitHub](https://github.com/eclipse-theia/theia) - [Theia - Website](https://theia-ide.org/) ## License - [Eclipse Public License 2.0](http://www.eclipse.org/legal/epl-2.0/) - [δΈ€ (Secondary) GNU General Public License, version 2 with the GNU Classpath Exception](https://projects.eclipse.org/license/secondary-gpl-2.0-cp) ## Trademark "Theia" is a trademark of the Eclipse Foundation