Your own AI assistant for KDE Plasma Desktop
Kopilot is a KDE Plasma widget that brings AI assistance directly to your desktop. Chat with multiple AI providers right from your panel or desktop, with support for OpenAI, Anthropic, Google, Groq, and custom API endpoints.
-
🤖 Multiple AI Provider Support
- OpenAI (GPT-3.5, GPT-4)
- Anthropic (Claude)
- Google (Gemini)
- Groq (Llama)
- Custom API endpoints (OpenAI-compatible)
-
💬 Rich Chat Interface
- Clean, intuitive chat UI
- Message history
- Copy responses to clipboard
- System prompt customization
-
⚙️ Flexible Configuration
- Easy provider switching
- Custom model selection
- Adjustable API endpoints
- System prompt customization
-
🎨 Native Plasma Integration
- Matches your desktop theme
- Compact panel representation
- Expandable popup interface
- KDE Plasma 6.0 or later
- Qt 6.x
(Coming Soon)
- Clone the repository:
git clone https://github.com/funinkina/Kopilot.git
cd Kopilot- Install the widget:
kpackagetool6 --type Plasma/Applet --install package- Add the widget to your panel or desktop:
- Right-click on your panel or desktop
- Select "Add Widgets..."
- Search for "Kopilot"
- Add it to your preferred location
To update an existing installation:
kpackagetool6 --type Plasma/Applet --upgrade packagekpackagetool6 --type Plasma/Applet --remove org.kde.plasma.kopilot- Right-click on the Kopilot widget
- Select "Configure Kopilot..."
- Configure your preferred AI provider:
- API Key: Your OpenAI API key
- Model:
gpt-3.5-turbo,gpt-4, etc. - API URL: Default is
https://api.openai.com/v1/chat/completions
- API Key: Your Anthropic API key
- Model:
claude-3-sonnet-20240229,claude-3-opus-20240229, etc. - API URL: Default is
https://api.anthropic.com/v1/messages
- API Key: Your Google AI API key
- Model:
gemini-pro, etc. - API URL: Default is
https://generativelanguage.googleapis.com/v1/models/
- API Key: Your Groq API key
- Model:
llama-3.3-70b-versatile, etc. - API URL: Default is
https://api.groq.com/openai/v1/chat/completions
- Configure any OpenAI-compatible API endpoint
- Useful for local models (Ollama, LM Studio, etc.)
Customize the AI's behavior by setting a custom system prompt. Default: "You are a helpful assistant."
- Click on the Kopilot icon in your panel
- Select your AI provider from the dropdown menu
- Type your message in the input field
- Press Enter or click the send button
- Click the copy icon to copy AI responses to clipboard
- Use the clear button to start a new conversation
package/
├── metadata.desktop # Desktop entry metadata
├── metadata.json # KPlugin metadata
└── contents/
├── config/
│ ├── config.qml # Configuration UI
│ └── main.xml # Configuration schema
└── ui/
├── configGeneral.qml # General settings page
└── main.qml # Main widget UI
The widget is written in QML and doesn't require compilation. Simply modify the QML files and reinstall/upgrade the package.
After making changes, upgrade the widget:
kpackagetool6 --type Plasma/Applet --upgrade packageThen restart plasmashell:
killall plasmashell && plasmashell &Or use:
plasmoidviewer --applet org.kde.plasma.kopilot- Never share your configuration files
- Use API keys with appropriate usage limits
- Consider using environment variables for sensitive deployments
Contributions are welcome! Please feel free to submit issues and pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please report bugs at: https://github.com/funinkina/Kopilot/issues
This project is licensed under the MIT License - see the LICENSE file for details.
- KDE Community for the excellent Plasma framework
- All AI providers for their APIs
- Contributors and users of this widget
- Streaming responses
- Image support for vision models
- Conversation history persistence
- Markdown rendering
- Code syntax highlighting
- Voice input support
- Multiple conversation threads
Made with ❤️ for the KDE Community