theJayTea / WritingTools

The world's smartest system-wide grammar assistant; a better version of the Apple Intelligence Writing Tools. Works with the free Gemini API, local LLMs, and other cloud providers.
GNU General Public License v3.0
573 stars 30 forks source link
ai artificial-intelligence gemini grammar-checker largelanguagemodel llm writing-tool

Writing Tools

Instantly proofread & optimise your writing system-wide:

https://github.com/user-attachments/assets/d3ce4694-b593-45ff-ae9a-892ce94b1dc8

Summarise webpages in a click:

https://github.com/user-attachments/assets/ad9729ab-75fb-404d-a2cf-a2c7b94351c3

🚀 What is Writing Tools?

Writing Tools is an Apple Intelligence-inspired application for Windows and Linux that supercharges your writing with AI LLMs. It lets you fix up grammar and more with one hotkey press, system-wide. It's currently the world's most intelligent system-wide grammar assistant.

🌟 Why Choose Writing Tools?

Aside from being the only Windows/Linux program that works like Apple's Writing Tools:

Writing Tools has been featured on Beebom, XDA, Neowin, and more!

✨ Features

Invoke Writing Tools with no text selected to enter a chat mode.

🖱 How to Use

  1. Select any text in any application (or don't select any text to use chat mode).
  2. Press your hotkey (default: Ctrl+Space).
  3. Choose an option from the popup menu or enter a custom instruction.
  4. Watch as your text is magically improved!

🛠 Installation

  1. Go to the Releases page and download the latest Writing.Tools.zip file. For Linux and macOS, run it from source with the instructions further below.

  2. Extract it where you want, run Writing Tools.exe, and enjoy! :D

    Note: If you extract Writing Tools into a protected system folder like Program Files, you'll need to run it as administrator at least on the first launch or it won't be able to create/edit its config file (in the same folder as its exe).

  3. To let it automatically start when you boot your PC, add a shortcut of the Writing Tools.exe to the Windows Start-Up folder (Open Run and type shell:startup to get to this folder).

🦙 (optional) Ollama Local LLM Instructions:

  1. Download and install Ollama.
  2. Choose the LLM you want to use form here. Recommended: Llama 3.1 8B if you have ~8GB of RAM or VRAM.
  3. Open your terminal, and type ollama run llama3.1:8b. This will download and run Llama 3.1. That's it! Leave this running in the background.
  4. In Writing Tools, choose the OpenAl Compatible AI Provider, and set your API Key to ollama, your API Base URL to http://localhost:11434/v1, and your API Model to llama3.1:8b.
  5. That's it! Enjoy Writing Tools with absolute privacy and no internet connection! 🎉 From now on, you'll simply need to launch Ollama and Writing Tools into the background for it to work.

🔒 Privacy

I believe strongly in protecting your privacy. Writing Tools:

Note: Privacy policies may vary depending on the AI provider you choose. Please review the terms of service for your selected provider.

🐞 Known Issues

  1. (Being investigated) On some devices, Writing Tools does not work correctly with the default hotkey. To fix it, simply change the hotkey to ctrl+` or ctrl+j and restart Writing Tools. PS: If a hotkey is already in use by a program or background process, Writing Tools may not be able to intercept it. The above hotkeys are usualy unused.

  2. The initial launch of the Writing Tools.exe might take unusually long — this seems to be because AV software extensively scans this new executable before letting it run. Once it launches into the background in RAM, it works instantly as usual.

👨‍💻 To Run Writing Tools Directly from the Source Code

If you prefer to run the program directly from the main.py file, follow these OS-specific instructions.

1. Download the Code

2. Install Dependencies
After extracting the folder, open your Terminal (or Command Prompt) in the relevant directory.

Make sure Python is installed!

3. Run the Program

👨‍💻 To compile the application yourself:

Here's how to compile it with PyInstaller and a virtual environmentL

  1. First, create and activate a virtual environment:
    
    # Install virtualenv if you haven't already
    pip install virtualenv

Create a new virtual environment

virtualenv myvenv

Activate it

On Windows:

myvenv\Scripts\activate

On Linux:

source myvenv/bin/activate


2. Once activated, install the required packages:

```bash
pip install -r requirements.txt
  1. Build Writing Tools:
    python pyinstaller-build-script.py

🌟 Contributors

Writing Tools would not be where it is today without its amazing contributors:

1. Cameron Redmore (CameronRedmore):

Extensively refactored Writing Tools and added OpenAI Compatible API support, streamed responses, and the chat mode when no text is selected.

2. momokrono:

Added Linux support and switched to the pynput API to improve Windows stability. Fixed misc. bugs, such as handling quitting onboarding without completing it. @momokrono has been super kind and helpful, and I'm very grateful to have them as a contributor - Jesai.

3. Disneyhockey40 (Soszust40):

Helped add dark mode, the plain theme, tray menu fixes, and UI improvements.

4. Alok Saboo (arsaboo):

Helped improve the reliability of text selection.

5. raghavdhingra24:

Made the rounded corners anti-aliased & prettier.

🤝 Contributing

I welcome contributions! :D If you'd like to improve Writing Tools, feel free to open a Pull Request or get in touch with me.

📬 Contact

My email: jesaitarun@gmail.com

Made with ❤️ by a high school student. Check out my other AI app, Bliss AI, a novel AI tutor free on the Google Play Store!

📄 License

Distributed under the GNU General Public License v3.0.