Take the boil out of comment threads.
A Chrome extension that uses Gemini Nano via Chrome's Prompt API to rewrite any page live to whatever tone you ask for. No API keys. No backend. Nothing leaves your browser.
Works on Hacker News, X, Reddit, and most article/comment pages.
- Open HN or X.
- Click the floating coffee cup (bottom-right).
- Type a rule — "make every comment polite", "3-word summary", "pirate speak".
- Watch each comment / post stream a rewrite in real time.
- Click the ↺ next to any block to see the original.
Facts, stance, and voice. Only the tone changes. A pro-X take stays pro-X — Decaf defangs the delivery, not the position. Click ↺ to see the unfiltered original anytime.
Needs Chrome 138+ + ~22 GB disk / 4 GB VRAM / 16 GB RAM (Gemini Nano's hardware floor).
chrome://flags/#optimization-guide-on-device-model→ Enabled BypassPerfRequirementchrome://flags/#prompt-api-for-gemini-nano→ Enabled, then relaunchgit clone https://github.com/milind-soni/Decaf.gitchrome://extensions→ Developer mode → Load unpacked → pick the folder- Click the toolbar icon → Download Gemini Nano (~4 GB, one time)
If anything's stuck: chrome://on-device-internals is the diagnostic page.
Vanilla JS, no build step. The service worker keeps one warm LanguageModel session and clones it per request. Each rewrite streams via promptStreaming with a JSON-schema-constrained response; a hand-rolled parser extracts the rewritten field character-by-character and pipes it over a chrome.runtime Port to the content script, which swaps element.textContent live. Original HTML is stashed on each element's dataset so the ↺ can put it back exactly.
- English-strong only (
en/es/ja). - First rewrite is slow (model warmup); subsequent ones are sub-second.
- Nano-quality rewrites — fast, free, fully local. Not Claude-quality.
MIT.