Skip to content
uHAL10Public
forked from mekedron/ClipSlop

About

AI writing tool for macOS — fix grammar, translate, rewrite, format text with a hotkey. Chain prompts into pipelines. Works with ChatGPT, Anthropic, Ollama. Free and open-source.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

ClipSlop icon

ClipSlop

Select text. Press a hotkey. Grammar fixed.
AI-powered text transformations for macOS — fix grammar, translate, rewrite, format — without leaving your app.
Free and open-source.

Download  ·  Buy Me a Coffee ☕


ClipSlop is a free, open-source AI writing tool for macOS that works in any app. Fix grammar, translate text, rewrite in different tones, format as email or Markdown — all with a keyboard shortcut. Use it as a simple AI grammar checker with a single hotkey, or chain multiple AI prompts into a full text transformation pipeline. Supports ChatGPT (free sign-in), OpenAI API, Anthropic Claude, Ollama (local models), and any OpenAI-compatible provider.

Table of Contents


Why ClipSlop?

Most AI writing tools make you copy text, switch to a browser, paste, wait, copy the result, switch back, paste. ClipSlop does it with a hotkey — right where you're already typing.

Fix grammar without thinking about it:

select text → ⌃⌘G → grammar is fixed in place. Done.

That's Inline Run — assign any prompt to a global hotkey, and it runs inline: captures the selected text, transforms it, pastes the result back. You never leave your app.

Need more than one step? Chain transformations into a pipeline:

⌃⌘C → RB → TE → FE → done.

Each key picks a prompt from a navigable tree — RB Rewrite → Business, TE Translate → English, FE Format → Email. Every step is saved, arrow keys to go back, branch from any point. No browser, no copy-paste, no tab switching.

Free, open-source, works with any AI provider — ChatGPT, Claude, Ollama, or your own API.


ClipSlop — AI text transformations for macOS with prompt tree, Inline Run, transformation history, and search

Demos

Unedited screen recordings of the released app.

Run inline anywhere  ·  Inline Run  ·  ⌃⌘G · ⌃⌘T · ⌃⌘/

Three lines, three global shortcuts. Select the first line — Fix Grammar. Select the second — Translate → English. Select the third (prefixed with //) — Run Custom Prompt with the instruction typed inline after //. Every result pastes back where the cursor is.

Inline.Run.Demo.mp4

More on this mode in the docs: Inline Run.

Chain prompts across providers  ·  Full pipeline  ·  ⌃⌘C → R B → T F

A rough draft typed straight into Gmail: trigger ClipSlop, rewrite for business tone, translate to Finnish, paste back into the same message. Every step is saved as a history node — branch off if you want a different turn.

Prompt.Chaining.mp4

More on this mode in the docs: The full pipeline.

Analyze any selection on the web  ·  Run in Editor  ·  ⌃⌘⌥T → A S

Open a Finnish news article, highlight a paragraph, translate to English with Run in Editor, then condense it into a short summary with Analyze → Summary. The full pipeline goes anywhere you can highlight text.

Analyze.any.text.mp4

More on this mode in the docs: Run in Editor.

OCR images, then keep going  ·  Screen OCR  ·  ⇧⌘2 → T E → A S

Capture a region of the screen. Apple Vision recognises the text on-device, drops it into the panel, and you can keep chaining — translate, then summarise, then copy. Useful when the source is an image, a PDF, or an app that won't let you ⌘C its text.

OCR.mp4

More on this mode in the docs: Screen OCR.

How it works

Inline Run (fastest)

Select text → ⌃⌘G → grammar fixed in place

Assign any prompt to a global hotkey. ClipSlop captures the text, runs the prompt, pastes the result — all in the background.

Full pipeline

Select text → ⌃⌘C → Navigate prompts with keys → Chain transformations → Copy result
  1. Trigger — Select text anywhere, press ⌃⌘C. Text appears in a floating panel.
  2. Navigate — Prompt tree with single-key mnemonics: T → Translate, R → Rewrite, F → Format. Drill into folders, pick a prompt — one keypress each.
  3. Chain — Result becomes input for the next prompt. Translate → Elaborate → Format as Email. Each step saved.
  4. History — Arrow keys navigate the full transformation chain. Jump to any step, branch off.
  5. Use — Copy (⌘C), edit (⌘E), save (⌘S), or keep chaining.

Settings Assistant

An always-on-top chat window where an AI assistant manages ClipSlop for you — your prompt library and the whole Magic Button engine — so you don't have to dig through Settings.

⌃⌘⌥P → "the grammar prompt doesn't handle passive voice — fix it" → Approve

Open it with ⌃⌘⌥P (reconfigurable in Settings → General → Keyboard Shortcuts) or the Settings Assistant item in the menu-bar menu. Ask in plain language — "make a Legal folder and move the contract prompts into it" — and the assistant finds the prompt, folder, or setting and proposes the edit.

  • Nothing changes without your say-so. Every proposed change is an Approve/Reject card, applied only after you confirm. Deletes show an extra warning (with a descendant count for non-empty folders).
  • Full library control — create / edit / delete prompts, create / rename / delete folders, move prompts between folders, assign or clear the two per-prompt global shortcut slots (Inline Run, Run in Editor), and set per-prompt display mode, the "select all before capture" option, and provider.
  • Magic Button engine control — read and edit the ~/.clipslop/ engine files (workflow cards, core files, config.yaml, model routing) with every write validated by the engine's own parser before saving, and debug presses from the contentless traces ("why did my press show chips?"). API keys stay out of reach.
  • Works with tool-calling providers — OpenAI (API key), OpenAI (Sign In / ChatGPT), Anthropic, Ollama, and OpenAI-compatible. The CLI Tool provider isn't supported; the window shows a notice to switch. A provider switcher in the header lets you pick one and jump to Provider Settings.
  • Frosted, always-on-top panel. The chat input reuses the ⌘K quick-instruction field (Enter sends, Shift+Enter for a newline, Esc closes). The interface supports 18 languages; some tool activity and proposal details remain in English.

Features

  • Inline Run — Assign a global hotkey to any prompt. Captures selected text, runs the prompt, pastes the result inline — you never leave your app
  • Run in Editor — Like Inline Run, but opens ClipSlop and auto-runs the prompt so you can review, edit, or keep chaining
  • Settings Assistant — A floating chat window (⌃⌘⌥P) where an AI assistant manages your prompt library and the Magic Button engine for you via tool calling; ask in plain language, approve each change before it applies
  • Prompt shortcuts — Configure per-prompt in Settings → Prompts; shortcuts appear in the menu bar organized by folder
  • Keyboard-first — Single-key mnemonics for prompt navigation, all actions have shortcuts
  • Full pipeline — Chain unlimited transformations, navigate history with arrow keys, branch from any step
  • Multi-provider — OpenAI (sign in with ChatGPT or API key), Anthropic, Ollama, CLI tools, any OpenAI-compatible API
  • Nested prompt tree — Organize prompts in folders, each with a mnemonic key
  • Built-in prompts — Translate (18 languages), Rewrite (7 tones), Format (7 tools), Dev (6 tools), Analyze (4), Convert
  • Manual editing — Edit any result inline (⌘E), saved as a history step
  • Find in text — ⌘F search with highlighting across all display modes
  • Screen OCR — Capture and recognize text from any screen region with OCR (⇧⌘2)
  • Blank editor — Open an empty editor (⌃⌘N), write text, run prompts on it
  • Generate prompts with AI — Describe what you want, AI writes the system prompt
  • Per-prompt settings — Override provider, display mode per prompt
  • Import/Export — Share prompt configurations as JSON
  • iCloud Sync — Prompts sync across Macs
  • Temperature & reasoning — Per-provider temperature control, reasoning effort for ChatGPT models
  • Multiple display modes — Plain text, Markdown (native or HTML renderer), HTML
  • Adjustable UI — Opacity, size, theme, launch at login

Built-in prompts

[⌘/] // Your prompt — type // followed by your instruction to run a one-off custom prompt
[T]  Translate   → English, Finnish, Russian, Spanish, French, German, + 12 more
[R]  Rewrite     → Elaborate, Neutral, Professional, Warm, Business, Playful, Biblical
[F]  Format      → Fix Grammar, Clean Up, Beautify Code, Reformat, Email, Markdownify, HTMLify
[D]  Dev         → Add Comments, Beautify Code, Clean Logs, Explain Code, Explain Stack Trace, Naming
[A]  Analyze     → Summary, Explain Simply, TL;DR, Condense 20%
[C]  Convert     → HTML, Markdown

Some prompts ship with default global keyboard shortcuts (Inline Run pastes the result inline, Run in Editor opens ClipSlop):

Shortcut Prompt Mode
⌃⌘/ // Your prompt Inline Run
⌃⌘⌥/ // Your prompt Run in Editor
⌃⌘G Fix Grammar Inline Run
⌃⌘F Reformat Inline Run
⌃⌘T Translate → English Inline Run
⌃⌘⌥T Translate → English Run in Editor
⌃⌘⌥A Explain Simply Run in Editor

Fully customizable — add your own prompts, folders, mnemonics, and global shortcuts in Settings → Prompts.

Keyboard shortcuts

Shortcut Action
⌃⌘C Trigger ClipSlop (selected text)
⌃⌘V Process from clipboard
⌃⌘N Blank editor
⇧⌘2 Screen capture (OCR)
⌃⌘⌥P Settings Assistant
⌘E Edit mode
⌘F Find in text
⌘S Save to file
⌘O Open in TextEdit
⌘D Cycle display mode
⌘, Settings
↑↓ Navigate history (↑ newer step, ↓ older step)
Space Page down
⇧Space Page up
Esc Close / Back

Comparison with other AI writing tools

ClipSlop RewriteBar WritingTools Cai ClipboardAI WritersBrew Elephas Fixkey ShortcutAI Raycast AI PopClip ChatGPT (web)
Prompt chaining ✅ Unlimited chaining, full history ⚠️ Sequential action flow, no history ❌ One action ❌ One action ❌ One action ❌ One action ❌ One action ❌ One action ❌ One action ⚠️ Limited, no true pipeline ❌ One action ❌ Manual workflow
Keyboard-first ✅ Single-key mnemonics, full pipeline navigation, global shortcuts for text fields (Inline Run, Run in Editor) and on-screen text (OCR) ⚠️ Shortcut + action picker ⚠️ Hotkey + action picker ⚠️ ⌥C hotkey + action list ⚠️ Per-prompt shortcuts ⚠️ Shortcut + menu ⚠️ Super Command shortcut ⚠️ Custom shortcuts ⚠️ Shortcuts + // text commands ⚠️ Launcher, menu-based AI ❌ Mouse-driven ❌ Browser UI
Prompt organization ✅ Nested folders with mnemonics ⚠️ Flat action list ⚠️ Fixed presets + custom instructions ⚠️ Flat action list ⚠️ Flat list ⚠️ Flat preset list ⚠️ Flat snippets ⚠️ Flat list ⚠️ Flat list ⚠️ Flat command list ⚠️ Flat list ❌ Chat history
Step history ✅ Navigate back/forward, branch from any step ❌ No ❌ No ❌ No ❌ No ❌ No ❌ No ❌ No ❌ No ❌ No ❌ No ⚠️ Scroll up
Branching history ✅ Branch from any intermediate step ❌ No ❌ No ❌ No ❌ No ❌ No ❌ No ❌ No ❌ No ❌ No ❌ No ❌ No
Provider freedom ✅ ChatGPT sign-in (free), API keys, Ollama (local), CLI tools ✅ 37+ providers, local models, Apple Intelligence ✅ Gemini (free), OpenAI, Anthropic, Ollama, MLX local ✅ Built-in local, Ollama, LM Studio, Apple Intelligence, cloud APIs ⚠️ BYO key (OpenAI, OpenRouter) ⚠️ BYO OpenAI key only ⚠️ Built-in + BYO keys (OpenAI, Anthropic, Gemini) ❌ Built-in only (provider unclear) ❌ Managed API only (no BYO keys) ⚠️ Multiple, not fully open BYO ⚠️ OpenAI API ❌ OpenAI only
Screen OCR ✅ Capture any screen region (⇧⌘2) ❌ No ⚠️ Image processing via AI vision ✅ Screenshot text extraction ❌ No ✅ OCR to Text AI ❌ No ❌ No ❌ No ❌ No ❌ No ⚠️ Image uploads only
Platform ⚠️ macOS (native, works in any app) ⚠️ macOS (native, works in any app) ✅ macOS + Windows + Linux ⚠️ macOS (native, works in any app) ✅ macOS + Windows (native, works in any app) ⚠️ macOS (native, works in any app) ⚠️ macOS + iOS ⚠️ macOS ❌ Chrome extension only (browser text fields) ⚠️ macOS ⚠️ macOS ✅ Web (any platform)
Price ✅ Free, open-source ⚠️ $29 one-time (BYO key) or $5/mo ✅ Free, open-source ✅ Free, open-source ⚠️ €29 one-time (7-day trial) ⚠️ $24–$49 one-time + API costs ❌ $9.99–$39.99/mo ❌ $48/year ⚠️ Free (limited) / $5.90–$19.90/mo ⚠️ Free tier + Pro ~$8/mo ⚠️ $30 one-time + API costs ❌ $20/mo

Install

このフォークは macOS 15 以降に対応しています。Releases から DMG をダウンロードし、ClipSlop.app を Applications に移動してください。自己署名されており Apple の公証は受けていないため、初回起動時は「システム設定 → プライバシーとセキュリティ」で起動を許可してください。

元の ClipSlop の設定を使わずに始める場合は、インストール前に ~/.clipslop と ~/Library/Application Support/ClipSlop を別の場所にバックアップしてください。このフォークの設定と API キーは独自の識別子で管理します。元の自動更新は無効です。更新時は Releases から新しい DMG を取得してください。

Release

main の履歴にあるコミットに v2.3.2 のようなタグをプッシュすると、GitHub Actions が自己署名した DMG をビルドして Releases に公開します。署名鍵は GitHub Secrets に保存されています。

git switch main
git pull --ff-only origin main
git push origin main
git tag v2.3.2
git push origin refs/tags/v2.3.2

手元でビルドする場合は ./Scripts/build-release.sh 2.3.2 を実行します。署名には ClipSlop-Dev 証明書が必要です。

Build from source

git clone https://github.com/uHAL10/ClipSlop.git
cd ClipSlop
swift build
# Or open Package.swift in Xcode → Run

Requires macOS 15+ and Xcode with Swift 6.0+.

Requirements

  • macOS 15.0+
  • An AI provider: sign in with ChatGPT (free), API key (Anthropic, OpenAI), local Ollama, or CLI tools

Contributing

Pre-commit hooks (required)

ClipSlop ships with a pre-commit hook that blocks commits when any localization key is missing in any of the 17 translated languages. Install it once after cloning — .git/hooks/ is not versioned, so the hook is not active out of the box:

./Scripts/install-hooks.sh

What the hook does:

  • Runs only when a *.lproj/Localizable.strings file is in the commit.
  • Compares every key in en.lproj/Localizable.strings against the other 17 languages.
  • Blocks the commit if any translation is missing, and prints the offending keys per language.

To check translations manually at any time:

./Scripts/check-localizations.sh

Re-run ./Scripts/install-hooks.sh whenever the contents of Scripts/hooks/ change. Bypassing the hook with --no-verify is strongly discouraged — missing translations break the UI for users of those languages.

Acknowledgements

ClipSlop is built with these open-source libraries:

  • KeyboardShortcuts by Sindre Sorhus — customizable global keyboard shortcuts
  • LaunchAtLogin by Sindre Sorhus — launch at login support
  • Sparkle — software update framework for macOS
  • swift-markdown by Apple / Swift Project — Markdown parsing and rendering
  • Textual by Guillermo Gonzalez — native SwiftUI Markdown rendering
  • swift-rich-html-editor by Infomaniak — WYSIWYG rich HTML editor
  • Lobe Icons by LobeHub — provider icons for OpenAI, Anthropic, Ollama, Claude, Codex

License

MIT License — see LICENSE.

Support

If ClipSlop saves you time, consider buying me a coffee ☕

About

AI writing tool for macOS — fix grammar, translate, rewrite, format text with a hotkey. Chain prompts into pipelines. Works with ChatGPT, Anthropic, Ollama. Free and open-source.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages