Scramble: Open-Source Alternative to Grammarly
(github.com)409 points by zlwaterfield 2 days ago
409 points by zlwaterfield 2 days ago
Lol, this was my second thought immediately after my first, which was one of excitement. Hope the author does add a option for local. Wonder how that would work as a Chrome extension. Doesn't seem like a good idea for extensions to be accessing local resources though.
> Doesn't seem like a good idea for extensions to be accessing local resources though.
To the best of my knowledge all localhost connections are exempt from CORS and that's in fact how the 1Password extension communicates with the desktop app. I'd bet Bitwarden and KeePassXC behave similarly
settings for opting out of training etc. for OpenAI
https://help.openai.com/en/articles/7730893-data-controls-fa...
Download koboldcpp and llama3.1 gguf weights, use it with the llama3 completions adapter.
Edit the 'background.js' file in the extension and replace the openAI endpoint with
'http://your.local.ip.addr:5001/v1/chat/completions'
Set anything you want as an API key. Now you have a truly local version.
* https://github.com/LostRuins/koboldcpp/releases
* https://huggingface.co/bartowski/Meta-Llama-3.1-8B-Instruct-...
* https://github.com/LostRuins/koboldcpp/blob/concedo/kcpp_ada...
People really should stop calling a glorified openAI API as an open-source software.
There are several free alternatives to OpenAI that use the same API; which would make it possible to substitute OpenAI for one of those models in this extension. At least on paper. There is an open issue on the github repository requesting something like that.
So, it's not as clear cut. The general approach of using LLMs for this is not a bad one; LLMs are pretty good at this stuff.
Yes, but the API at the end is providing the core functionality. Simply swapping out one LLM model for another - let alone by a different company altogether - will completely change the effectiveness and usefulness of the application.
Plan is to add local LLM support so goal is fully OSS, agree initial wording could have been better.
I have been using LanguageTool[1] for years as "an open source alternative to [old school] Grammarly". It doesn't do that fancy "make this text more professional" AI stuff like this or Grammarly can now do, but they offer a self-hosted version so you don't need to send everything you write to OpenAI. If all you want is a better spelling/grammar checker, I highly recommend it.
You can also run your own local instance for the in-browser checking, which is handy for me as I need to be careful about sending text off to another company in another country (due to both client security requirements and personal paranoia!).
You don't get the AI based extras like paraphrasing, and the other bits listed in as premium only (https://languagetool.org/premium_new), but if you install the n-gram DB for your language (https://languagetool.org/download/ngram-data/) I found it at least as good as, for some examples better than, Grammarly's free offering last time I did a comparison.
Replying to self as I'm too late to edit: I left the wrong link for ngram info, the download location instead of the instructions for use which are at https://dev.languagetool.org/finding-errors-using-n-gram-dat...
I've downloaded 'ngrams-en-20150817'. Please drop link that can teach me how to apply ngrams file.
Thanks.
I dropped the wrong link in the original post. The instructions for use are at https://dev.languagetool.org/finding-errors-using-n-gram-dat...
It's great. I had a subscription for Grammarly for a couple of years and used both tools in parallel, but found myself mostly using languagetool increasingly. It is strictly better, I'd say even for English but certainly if you need other languages or deal with multilingual documents. So I canceled Grammarly and didn't miss it since.
You also can self-host and we do that at my workplace, because we deal with sensitive documents.
Same, it integrates in all input fields too and has all the browser extensions you need. Non-GitHub landing page: https://languagetool.org
For VSCode users who want to try out LanguageTool, I cannot recommend the LTeX extension [1] highly enough. Setting up a self-hosted configuration is really easy and it integrates very neatly with the editor. It was originally built for LaTeX but also supports Markdown now.
And you can write your own custom rules. It's great as a reward for spotting an error in your writing you get to write a tiny little bit of code to spot it automatically next time. I've collected hundreds.
I've turned off the spell checker. Spell checking is done just fine in Word so I don't need it there.
You can add your own words to your account, if that’s what you mean!
How come I have never heard of languagetool before or maybe I have never looked beyond Grammerly. Thank You!
There is also an alternative more lightweight self-hosted server in Rust, compatible with the official clients: https://github.com/cpg314/ltapiserv-rs
Absolutely plus one on this. LanguageTool is great and I’m also very happy on the free tier. With the app installed on macOS it also checks mails in the Apple Mail app, for example.
> It doesn't do that fancy "make this text more professional"
I looked into the Scramble code[0] and it seems there are few pre-defined prompts(const DEFAULT_PROMPTS).
[0] https://github.com/zlwaterfield/scramble/blob/main/backgroun...
And if you are in a regulatory environment (or elsewhere where data exfiltration paranoia is part of your daily work life), you can install your own instance of the service (sans premium features) and not send your text anywhere outside infrastructure you control.
After years with Grammarly, I wanted a simpler, cheaper way to improve my writing. So I built Scramble, a Chrome extension that uses an LLM for writing enhancements.
Key features: - Uses your OpenAI API key (100% local) - Pre-defined prompts for various improvements - Highlight text and wait for suggestions - Currently fixed to GPT-4-turbo
Future plans: add LLM provider/model choice, custom prompts, bug fixes, and improve default prompts.
It's probably buggy, but I'll keep improving it. Feedback welcome.
> Key features: - Uses your OpenAI API key (100% local)
Sorry, but we have a fundamental disagreement on terms here. Sending requests to OpenAI is not 100% local.
The OpenAI API is not free or open source. By your definition, if you used the Grammarly API for this extension it would be a 100% local, open source alternative to Grammarly too.
Agree, I want to add a local LLM set up. The wording there isn't great.
Without marketing speak can I ask why anyone would have a need for a service like grammerly, I always thought it was odd trying to sell a subscription based spell checker (AI is just a REALLY good spell checker).
Non-native speakers find it useful since it doesn't just fix spelling but also fixes correctness, directness, tone and tense. It gives you an indication of how your writing comes across, e.g. friendly, aggressive, assertive, polite.
English can be a very nuanced language - easy to learn, difficult to master. Grammarly helps with that.
The "grammar" part, at least in a professional setting. You might be shocked at how many people will write an email pretty much like they would talk to friends at a club or send a text message (complete with emojis!) or just generally butcher professional correspondence.
So it may be more attractive to employers to check their employees' output, rather than an individual checking his own?
No, it's also useful to check your own writing. I've used it as both an Editor and a Writer.
It is widely used in countries where the professional language is English, but the native language of the speakers is not.
For example, most Slavic languages don't have the same definite/indefinite article system English does, which means that whilst someone could speak and write excellent English, the correct usage of "a" and "the" is a constant conscious struggle, where having a tool to check and correct your working is really useful. In Greek, word order is not so important. And so on.
Spell check usually just doesn't cut it, and when it does (say, in Word), it usually isn't universally available.
Personally, I have long wanted such a system for German, which I am not native in. Lucky for me DeepL launched a similar product with German support.
A recent example for me was that I was universally using "bekommen" as a literal translation of "receive" in all sentences where I needed that word. Through DeepL I learned that the more appropriate word in a bunch of contexts is "erhalten", which is the sort of thing that I would never have got from a spell check.
Grammarly is notably a Ukrainian founded company.
They aren't a native English speaker and would like a hand with phrasing.
Correct but I'm going to loom into a locally running LLM so it would be free.
Look into allowing it to connect to either a LM Studio endpoint or ollama please.
Does it work in "not a browser" though? Because that's the last place I need this, I really want this in Typora, VS Code, etc. instead.
Not right now. Looking into a mac app. This was just a quick and dirty first go at it.
Makes sense. Strongly hope it won't be a "mac app" but a cross-platform application instead though, nothing worse than having a great mac app that you can't use 50% of the time because your work computer's a mac and your personal computer's a windows machine because you like playing games.
In the same space, I recommend checking out the Vale linter. Fairly powerful and open source, too. And doesn't rely on a backend.
I love vale. I’ve been using it for years. I branched rules from someone trying to emulate the economist style guide and kept tweaking.
I like this approach so much better than leaning on AI because it’s more my “voice”.
Grammarly is a lifesaver for my day-to-day writing. All it does is correct spelling and punctuation or give rephrase suggestions. But Grammarly does it so unreasonably well that nothing else compares.
Grammarly's core functionality is not even LLM-based; it's older than that. Recently, they've crammed in some LLM features that I don't care a snoot about compared to its core functionality.
This tool, like any other "Grammarly alternative," is just another GPT wrapper to rewrite my text in an overly verbose and soulless way. I was hoping for a halfway-decent spelling corrector.
Nice job—I'm always a fan of 'bring your own key' (BYOK) approaches. I think there's a lot of potential in using LLMs as virtual copy editors.
I do a fair amount of writing and have actually put together several custom GPTs, each with varying degrees of freedom to rewrite the text.
The first one acts strictly as a professional editor—it's allowed to fix spelling errors, grammatical issues, word repetition, etc., but it has to preserve the original writing style.
I do a lot of dictation while I walk my husky, so when I get back home, I can run whisper, convert the audio to text, and throw it at the GPT. It cleans it up, structures it into paragraphs, etc. Between whisper/GPT, it saves me hours of busy work.
The other one is allowed to restructure the text, fix continuity errors, replace words to ensure a more professional tone, and improve the overall flow. This one is more reserved for public communique such as business related emails.
If your point is that BYOK is a useless acronym since it has the same number* of syllables, I disagree. Acronyms aren't just for reducing syllable count; they also reduce visual clutter and are easier to read for people who scan text.
Hahaha, this comment has me thinking about how I would pronounce it. Bee-yok? Bye-yolk?
I do something similar. I have a custom Gemini Gem that critiques my writing and points out how I can better my paragraphs, but I do the bulk of the rewriting myself.
I'm not a native speaker, and the nice thing about this approach is that I seem to be learning to write better instead of just delegating the task to the machine.
Very cool! I'd be interested in reading more about your dictation-to-text process if you documented it somewhere, thanks.
My partner and I were just talking about how useful that would be, especially driving in the car when all of the "we should..." thoughts come out of hiding. Capturing those action items more organically without destroying the flow of the conversation would be heavenly.
> open-source Chrome extension
> It's designed to be a more customizable and privacy-respecting alternative to Grammarly.
> This extension requires an OpenAI API key to function
I disagree with this description of the service
No, it's not an "Open Source alternative to grammarly", it's an OpenAI wrapper
Wonder if there's an option to somehow pipe the prompting to a local ollama instead.
Agree, wording could be improved. I'm gonna add local LLM support.
Disagree. The fact that it can call another closed-source service doesn't mean that this tool itself is not open source.
The source seems to be at the linked repo, and the license is MIT. How’s that a stretch?
Check out languagetool, as mentioned in other comments. It isbtruly open source
Because it’s a wrapper on a closed-source system.
Imagine writing a shell script that cuts and converts video by calling ffmpeg, would you say it was “a video converter written in bash”? No, the important part would not be in bash, that’s just the thin wrapper used to call the tool and could be in any language. Meaning it would be useless to anyone who e.g. worked on a constrained system where they are not allowed to install any binaries.
Same thing here. If you only run open-source software for privacy reasons, sending all your program data to some closed server you don’t control doesn’t address your issue. There’s no meaningful difference between making an open-source plugin that calls an OpenAI API and one that calls a Grammarly API.
Code is only copyrightable if it has any element of creativity.
This repo is _only_ really 7 sentences, like "Please correct spelling mistakes in the following text: " (these https://github.com/zlwaterfield/scramble/blob/2c1d9ebbd6b935...)
Everything else is uncreative, and possibly un-copyrightable, boilerplate to send those sentences to OpenAI.
All of the creative software happens on OpenAI's servers using proprietary code.
The MIT licensed code is a wrapper for the OpenAI API. That OpenAI API provides the core functionality, and it is not open source.
While Scramble doesn't seem to respect your privacy, a project I've been working on does.
Meet Harper https://github.com/elijah-potter/harper
I made the same thing, but it works without ChatGPT key: https://github.com/nucleartux/ai-grammar/
It actually works pretty well. It fixes all grammar mistakes and punctuation and changes words if they don’t fit. The only downside is that, because it’s a very small model, it sometimes produces completely nonsensical or incomplete responses. I haven’t figured out how to fix this yet.
You can have a look at the screenshots in the repository or on the store page.
From what I understand, they've used a whole bunch of different kinds of AI models over the years.
They've been reasonably transparent about how things work, e.g. this blog post from 2018: https://www.grammarly.com/blog/transforming-writing-style-wi...
I was a big fan of Grammarly, as dyslexic, so often write the wrong word then ten minutes later when re-reading spot i used the wrong word/spelling etc.
It worked extremely well, as you say I think by using basic rules engines.
I’ve canceled my subscription recently as found it getting worse, not better, I suspect because they are now applying LLMs.
The suggestions started to make less sense and the problem with LLM suggestions is all your writing takes the tone of the LLM, you loose your personality/style in what you write.
The basic rules approach worked much better for me.
This pretends that LLMs aren't just "more machine leearning", which they simply are.
How does this compare to https://languagetool.org, which is also open source?
I'm not sure what kind of AI Languagetool uses but it works really well!
They use the LGPL license for a lot of their work.
https://github.com/languagetool-org/languagetool/blob/master...
Seems like it just has some prebaked prompts right now. FF's AI integration does this much already with custom prompts and custom providers. Pls let me set my own base url. So many tools already support the openai api.
All of that to say, this is of course a great addition to the ecosystem.
For me the huge part of Grammarly's magic is that it's not just in the browser, but in any text input on desktop with their desktop app (with some exceptions). Having it only in only in one application just doesn't cut it, especially since it's not my browser of choice. Are there any plans regarding desktop integration. Linux is woefully underserved in this space with all major offerings (Grammarly, Languagetool) having only macOS/Windows versions.
I have developed a system-wide writing assistant like you're describing. By design, it has no exceptions to where it works.
Currently, it's only for Mac, but I'm working on an Electron version too (though it's quite challenging).
Check out https://steerapp.ai/
One strong point of Grammarly comes from its friendly display of diffs (which is somewhat similar to what Cursor does). This project simply uses some predefined prompts to generate text and then replaces it. There are countless plugins that can achieve this, such as the OpenAI translator.
If this tool really wants to compete with Grammarly.
I am a Grammarly user and I just installed Scramble to try it out. However, it does not seem to work. When I click on any of the options, nothing happens. I use Ubuntu 22.04.
Also, to provide some feedback, it would be awesome to make it automatically appear on the text areas and highlight errors like Grammarly does, it creates a much better UX.
Agree - I want to improve the UX, this was just a quick attempt at it. Thanks for the feedback!
Grammarly was here before the AI boom, so Grammarly isn't just dependent on AI, but also heavily on HI.
>Important: This extension requires an OpenAI API key to function. You need to provide your own API key in the extension settings. Please visit OpenAI to obtain an API key.
Obviously not important enough to put in the title, or a submission statement here, though. Curious.
Honestly just an oversight. I want to remove that dependancy anyways with an open source model.
I’m just going to remind everyone that all these LLMs were also trained on not just pirated, but all out stolen data in organized and resourced assaults on proprietary information/data, not even to mention roughshod ignoring any and all licenses.
Nowadays I just load the whole thing in to chatgpt and it checks the whole thing better than I ever could. You got to be clear what you want do in the prompt. Don't change my writing! only correct errors.
An alternative from the developer of Coolify. It’s no longer for sale, but the page mentions he’ll open-source it:
This is exactly as open source as a Chrome extension wrapping Grammarly’s API would be, i.e. not at all.
I am currently paying for LaguageTool but I will definitely give this open source software a try !
So it doesn't provide realtime feedback on your writing within a dialog box like Grammarly does? It's just a (non-open source) OpenAI set of pre-written prompts?
Come on.
Pitch this honestly. It'll save me clicks if I'm using an LLM to checker grammar already, but if I use Grammarly it's not an alternative at all. Not by a long way.
They proclaim "privacy-respecting" but all your keystrokes go to OpenAI. Horrific and genuinely upsetting.
Edit: The author replied to another comment that there is an intent to add local AI. If that is the plan, then fix the wording until it can actually be considered privacy-respecting: https://news.ycombinator.com/item?id=41579144