Chat Interface
The DevoxxGenie chat interface is the primary way you interact with LLM models. It provides a clean, intuitive interface designed specifically for code-related conversations.
Chat Window Overview
The DevoxxGenie chat interface consists of several key components:
- LLM Provider Selector: Choose between different LLM providers and models
- Feature Toggles: Enable/disable features like RAG, Web Search, and Git Diff
- Conversation History: View and manage past conversations
- Chat Messages Area: Display the ongoing conversation
- Context Files Panel: View and manage files added to the context
- Input Area: Enter your prompts and questions
- Action Buttons: Access additional functionality
Starting a Conversation
To start a new conversation:
- Click on the DevoxxGenie icon in the right toolbar of IntelliJ IDEA
- Select your preferred LLM provider and model from the dropdown
- Type your question or prompt in the input area
- Press Enter or click the Submit button
You can also use slash commands like /explain or /review followed by your query.
Chat Messages
The chat messages area displays the conversation between you and the LLM:
- User Messages: Your prompts and questions (displayed in blue bubbles)
- AI Responses: The LLM's responses (displayed in white/gray bubbles)
- Code Blocks: Code in responses is syntax-highlighted
- Message Controls: Options to copy or delete messages
Code Highlighting
Code blocks in responses are automatically detected and syntax-highlighted based on the language. The highlighting follows your IDE theme for consistency.
Message Actions
Each message has several actions available:
- Copy Message: Copy the entire message to clipboard
- Copy Code: Copy just the code blocks from the message
- Delete Message: Remove the message from the conversation
- Edit Message: (User messages only) Edit and resubmit your prompt
Streaming Responses
DevoxxGenie supports real-time streaming of responses:
- As you submit a prompt, you'll see a "Thinking..." indicator
- The response will appear token by token as it's generated
- You can stop the generation at any point by clicking the Stop button
The streaming feature can be toggled in the settings if you prefer to receive complete responses.
Context Files
The context files panel shows files that are included in the conversation context:
- Default File: The currently open editor file is automatically included
- Added Files: Files you've explicitly added to the context
- File Actions: Remove files or copy their content
Adding Files to Context
There are several ways to add files to the context:
- Right-click menu: Right-click on a file in the project view and select "Add To Prompt Context"
- Code selection: Select code in the editor, right-click, and choose "Add To Prompt Context"
- Drag and drop: Drag files from the project view into the DevoxxGenie window
Context Size Indicator
A progress bar shows how much of the available context window is being used by your files and conversation.
Conversation History
DevoxxGenie saves your conversations for future reference:
- Click on the "History" button to view past conversations
- Select a conversation to resume it
- Use the search function to find specific conversations
- Delete conversations you no longer need
Conversations are saved per project, so you'll have different conversation histories for different projects.
Feature Toggles
The feature toggle buttons allow you to enable or disable key features:
- RAG: Retrieval-Augmented Generation for context-aware responses
- Web Search: Incorporate web search results in responses
- Git Diff: Enable Git diff view for code changes
These toggles allow you to customize how DevoxxGenie behaves for different types of questions.
LLM Provider Selection
The provider dropdown lets you switch between different LLM providers and models:
- Select a provider (e.g., Ollama, OpenAI, Anthropic)
- Choose a specific model from that provider
- View context window size and cost information for each model
Your selection is persisted, so DevoxxGenie will remember your preference.
Input Area
The input area is where you type your prompts:
- Multi-line support: Press Shift+Enter for new lines
- Command auto-completion: Suggestions for slash commands
- Image attachment: Drag and drop images for multimodal models
- Submit button: Send your prompt to the LLM
- Character counter: Shows the length of your prompt
Customizing the Interface
Several aspects of the chat interface can be customized in settings:
- Theme integration: The interface follows your IDE theme
- Font size: Adjusts with your IDE font settings
- Splitter positions: Resize different panels to your preference
- Behavior options: Configure auto-scrolling, prompt clearing, etc.
Keyboard Shortcuts
DevoxxGenie supports several keyboard shortcuts:
- Shift+Enter: Submit prompt (configurable)
- Escape: Cancel ongoing request
- Ctrl/Cmd+C: Copy selected text
- Ctrl/Cmd+V: Paste text
- Up/Down Arrows: Navigate through prompt history
Chat Memory
DevoxxGenie maintains a conversation memory to provide context for the LLM:
- Previous messages are included in the context for each new prompt
- The memory size is configurable in settings
- The memory is cleared when starting a new conversation
Best Practices for Chat Interface
- Be specific: Clearly state what you want the LLM to do
- Provide context: Include relevant code or explain your use case
- Use appropriate toggles: Enable RAG for project-specific questions
- Manage context: Remove unnecessary files to save context window space
- Use slash commands: Leverage built-in commands for common tasks