Snip
Visual communication layer between humans and AI agents for macOS.
Capture and annotate screenshots, render diagrams from code, review agent-generated visuals with approve/request-changes flow — all from the menu bar. AI organizes and indexes everything for semantic search. CLI and MCP integration let any AI agent use Snip as their visual I/O.
Install
brew install --cask rixinhahaha/snip/snip
Or download the DMG directly from Releases (Apple Silicon only).
Quick Start (Development)
npm install
npm run rebuild # compile native modules
npm start # launch (tray icon appears in menu bar)
Requires macOS 14+, Node.js 18+, and Xcode CLT (xcode-select --install). macOS 26+ recommended for native Liquid Glass effects.
For AI-powered organization, install Ollama separately. Snip detects your system Ollama and guides you through setup in Settings.
How It Works
- Cmd+Shift+2 — Fullscreen overlay appears on whichever display the cursor is on, drag to select a region
- Annotate — Rectangle, arrow, text, tag, blur brush, or AI segment tools
- Esc — Copies annotated screenshot to clipboard
- Cmd+S — Saves to disk + AI organizes in background
Screenshots saved to ~/Documents/snip/screenshots/. AI renames, categorizes, and indexes them for search.
Agent Integration (CLI & MCP)
Snip exposes a CLI and MCP server so AI agents can use it as their visual I/O:
# Render a Mermaid diagram and open for review
echo 'graph LR; A-->B-->C' | snip render --format mermaid --message "Does this flow look right?"
# Open an image for agent review
snip open screenshot.png --message "Is the layout correct?"
The agent gets structured feedback: { status: "approved" | "changes_requested", edited, path, text? }. The user can annotate spatially, type text feedback, or just approve.
MCP tools: render_diagram, open_in_snip, search_screenshots, list_screenshots, get_screenshot, transcribe_screenshot, organize_screenshot, get_categories, install_extension.
Key Shortcuts
| Shortcut | Action |
|---|---|
| Cmd+Shift+2 | Capture screenshot |
| Cmd+Shift+1 | Quick Snip (select & copy to clipboard) |
| Cmd+Shift+S | Open semantic search |
| Cmd+S | Save to disk (in editor) |
| Esc / Enter | Copy to clipboard & close (in editor) |
| V / R / T / A / G / B / S | Select / Rectangle / Text / Arrow / Tag / Blur / Segment tools |
| U | Upscale image |
| W | Transcribe text |
Documentation
| Doc | Role | Contents |
|---|---|---|
docs/PRODUCT.md |
Product Manager | Vision, feature specs, terminology, product principles |
docs/DESIGN.md |
Designer | Color palettes (Dark/Light/Glass), component patterns, glass effects, icon specs |
docs/ARCHITECTURE.md |
Developer | Code structure, conventions, IPC channels, data flow, key decisions |
docs/DEVOPS.md |
DevOps | Build pipeline, signing, native modules, environment setup |
docs/USER_FLOWS.md |
QA / PM | Detailed user flows for every feature, edge cases, test cases |
CLAUDE.md |
Claude Code | Autonomous agent instructions, role references, documentation rules |
Tech Stack
Electron 33 / Fabric.js 7 / Mermaid.js 11 / Ollama (local LLM) / HuggingFace Transformers.js / SlimSAM (ONNX) / Chokidar 4 / electron-liquid-glass
On-Device Models
All AI runs locally — no cloud APIs needed for core features.
| Model | Purpose | By | Link |
|---|---|---|---|
| MiniCPM-V | Vision LLM (naming, tagging, categorizing) | OpenBMB | HF |
| SlimSAM-77-uniform | Object segmentation | Meta AI / Xenova | HF |
| Swin2SR-lightweight-x2-64 | Image upscaling (2x) | Conde et al. / Xenova | HF |
| all-MiniLM-L6-v2 | Semantic search embeddings | Microsoft / Xenova | HF |
| Vision OCR | Text transcription | Apple | Built into macOS |
License
MIT