A sleek desktop application for AI-assisted writing powered by llama.cpp and built with PyQt5. Let your local LLM continue your stories, articles, or documents seamlessly.
- π€ AI Text Completion - Continue your writing with local LLM models via llama.cpp
- π¨ Light/Dark Theme - Toggle between beautiful light and dark modes
- π‘οΈ Temperature Control - Adjust creativity vs. focus (0.0 - 2.0)
- π Token Limit - Control response length (10 - 2000 tokens)
- π Model Selection - Choose from all your installed llama.cpp models
- πΎ Multiple Export Formats - Save as .txt or .docx (Word)
- π₯οΈ Modern UI - Clean, responsive interface with sidebar controls
- Python 3.8+
- llama.cpp server running locally (with OpenAI-compatible API enabled)
- Operating System: Windows, macOS, or Linux
PyQt5>=5.15.0
requests>=2.28.0
python-docx>=0.8.11 # Optional, for .docx support
First, ensure llama.cpp is installed and the server is running with the OpenAI-compatible API:
Windows/macOS/Linux:
# Clone and build llama.cpp
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
make
# Start the server with OpenAI API enabled (default port 8080)
./server -m models/your-model.gguf --host 0.0.0.0 --port 8080Or download pre-built binaries from the releases page.
git clone [https://github.com/yourusername/ai-writer.git](https://github.com/Laszlobeer/AI-Writer.git)
cd ai-writerpython -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activatepip install -r requirements.txtOr install manually:
pip install PyQt5 requests python-docxpython ai writer.py- Select a Model - Click the model dropdown and choose an installed Ollama model
- Write Your Text - Start typing in the editor
- Click Generate - Press the β¨ Generate button or use keyboard shortcut
- Save Your Work - Export as .txt or .docx
| Control | Description |
|---|---|
| π/βοΈ | Toggle Light/Dark theme |
| π | Refresh available models |
| β¨ Generate | Trigger AI completion |
| π Save .txt | Export as text file |
| π Save .docx | Export as Word document |
| π‘οΈ Temperature | Adjust creativity (left=focused, right=creative) |
| π Token Limit | Set maximum response length |
| Setting | Default Value | Description |
|---|---|---|
| Temperature | 0.7 | Balance between creativity and coherence |
| Token Limit | 2000 | Maximum tokens in AI response |
| llama.cpp URL | http://localhost:8080 | Local llama.cpp server endpoint |
You can modify default values in the source code (ai writer.py):
# In ai writer.py
LLAMA_CPP_URL = "http://localhost:8080"
DEFAULT_TOKEN_LIMIT = 140
DEFAULT_TEMPERATURE = 0.7- 0.0 - 0.5 π― Focused, deterministic output
- 0.5 - 1.0 βοΈ Balanced creativity and coherence
- 1.0 - 2.0 π¨ Highly creative, unpredictable output
Cannot connect to llama.cpp. Is the server running?
Solution: Ensure llama.cpp server is running:
./server -m models/your-model.gguf --host 0.0.0.0 --port 8080No models available
Solution: Ensure your GGUF model file is loaded by the server. The server will list available models at the /v1/models endpoint.
install python-docx for .docx
Solution: Install the package:
pip install python-docxThis project is licensed under the MIT License - see the LICENSE file for details.
