原文
A GTK graphical interface for chatting with Large Language Models (LLMs).
- Simple and easy-to-use graphical interface built with GTK
- Support for multiple conversations in independent windows
- Integration with python-llm for chatting with various LLM models
- Modern interface using libadwaita
- Support for real-time streaming responses
- Message history with automatic scrolling
- Markdown rendering of the responses
- Keyboard shortcuts (Enter to send, Shift+Enter for new line)
- Support for fragments: Include external content (files, URLs, or text snippets) in your prompts.
- Conversation Management: Rename and delete conversations.
- Applet Mode: Run a system tray applet for quick access to recent conversations.
- Model Selection: Choose from different LLM models.
- System Prompt: Set a custom system prompt for each conversation.
- Error Handling: Clear error messages displayed in the chat.
- Dynamic Input: The input area dynamically adjusts its height.
- Keyboard Shortcuts:
Enter
: Send message.Shift+Enter
: New line in the input.Ctrl+W
: Delete the current conversation.
pipx install llm # required by gtk-llm-chat
llm install gtk-chat
- llm
- Python 3.8 or higher
- GTK 4.0
- libadwaita
- libayatana-appindicator
Run the application:
or for an individual chat:
With optional arguments:
llm gtk-chat --cid CONVERSATION_ID # Continue a specific conversation
llm gtk-chat -s "System prompt" # Set system prompt
llm gtk-chat -m model_name # Select specific model
llm gtk-chat -c # Continue last conversation
To set up the development environment:
git clone https://github.com/icarito/gtk-llm-chat.git
cd gtk-llm-chat
python -m venv venv
source venv/bin/activate
pip install -e ".[dev]"
GPLv3 License - See LICENSE file for more details.