Skip to content

Fringe210/AI-Writer

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

40 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AI Writer πŸ–‹οΈ

logo

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.

Python PyQt5 llama.cpp License


✨ Features

  • πŸ€– 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

πŸ“‹ Requirements

System Requirements

  • Python 3.8+
  • llama.cpp server running locally (with OpenAI-compatible API enabled)
  • Operating System: Windows, macOS, or Linux

Python Dependencies

PyQt5>=5.15.0
requests>=2.28.0
python-docx>=0.8.11  # Optional, for .docx support

πŸš€ Installation

1. Install llama.cpp

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 8080

Or download pre-built binaries from the releases page.

2. Clone the Repository

git clone [https://github.com/yourusername/ai-writer.git](https://github.com/Laszlobeer/AI-Writer.git)
cd ai-writer

3. Create Virtual Environment (Recommended)

python -m venv venv

# Windows
venv\Scripts\activate

# macOS/Linux
source venv/bin/activate

4. Install Dependencies

pip install -r requirements.txt

Or install manually:

pip install PyQt5 requests python-docx

🎯 Usage

Starting the Application

python ai writer.py

Basic Workflow

  1. Select a Model - Click the model dropdown and choose an installed Ollama model
  2. Write Your Text - Start typing in the editor
  3. Click Generate - Press the ✨ Generate button or use keyboard shortcut
  4. Save Your Work - Export as .txt or .docx

Controls

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

βš™οΈ Configuration

Default Settings

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

Customizing Settings

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

Temperature Guide

  • 0.0 - 0.5 🎯 Focused, deterministic output
  • 0.5 - 1.0 βš–οΈ Balanced creativity and coherence
  • 1.0 - 2.0 🎨 Highly creative, unpredictable output

πŸ–ΌοΈ Screenshots

Light Mode

Light Mode

Dark Mode

Dark Mode


πŸ”§ Troubleshooting

llama.cpp Connection Error

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 8080

No Models Found

No models available

Solution: Ensure your GGUF model file is loaded by the server. The server will list available models at the /v1/models endpoint.

python-docx Not Available

install python-docx for .docx

Solution: Install the package:

pip install python-docx

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments


About

A code that will help you write a story

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%