https://github.com/interesting-vibe-coding/agentshot
πΈ The screenshot tool built for AI agents β auto-compress to vision's sweet spot, paste anywhere with up to 81% fewer image tokens, no loss in comprehension. Native macOS, zero deps.
https://github.com/interesting-vibe-coding/agentshot
ai ai-agents claude clipboard gpt llm macos menubar objective-c productivity screenshot token-optimization vision
Last synced: 25 days ago
JSON representation
πΈ The screenshot tool built for AI agents β auto-compress to vision's sweet spot, paste anywhere with up to 81% fewer image tokens, no loss in comprehension. Native macOS, zero deps.
- Host: GitHub
- URL: https://github.com/interesting-vibe-coding/agentshot
- Owner: interesting-vibe-coding
- License: mit
- Created: 2026-06-07T03:58:10.000Z (30 days ago)
- Default Branch: main
- Last Pushed: 2026-06-07T06:07:26.000Z (30 days ago)
- Last Synced: 2026-06-07T06:23:54.129Z (29 days ago)
- Topics: ai, ai-agents, claude, clipboard, gpt, llm, macos, menubar, objective-c, productivity, screenshot, token-optimization, vision
- Language: Python
- Homepage: https://interesting-vibe-coding.github.io/agentshot-site/
- Size: 54.7 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AgentShot
The screenshot tool built for Codex and GPT vision agents. Snip a region and it's auto-compressed to the vision model's optimal size, then copied to your clipboard.
**Why it matters for Codex:** OpenAI bills vision input by the image's pixel dimensions, tiled. A full-screen Retina grab burns thousands of tokens before the model reads a thing. AgentShot caps the long edge at 1568px and JPEG-encodes it, so you stop paying for pixels the model never uses.
**Measured, not theoretical** β same screenshot, real OpenRouter API calls (`bench/run_openrouter_tokens.py`):
| Model | Original (757 KB, 3024Γ1964) | AgentShot (174 KB, 1568Γ1018) | Saved |
|-------|------|------|------|
| **GPT-5.5** | 7083 input tokens | 1896 input tokens | **β73%** |
[δΈζ](README.zh.md)

## Install
```bash
curl -fsSL https://raw.githubusercontent.com/interesting-vibe-coding/agentshot/main/install.sh | bash
```
Installs to `/Applications` and launches. Grant Accessibility once in onboarding. The first capture asks for Screen Recording β allow it, then reopen AgentShot.
## Usage
Press `ββ§2` to start. Click once for full screen, or drag to select a region. A preview appears:
- `C` / `β©` β copy the compressed image (label shows `original KB β compressed KB`)
- `β§C` β copy the original
- `Esc` β cancel
Paste into Codex or any model billed by image resolution. Shortcut, quality tier, and launch-at-login live in the menubar (πΈ).
## How it works
OpenAI bills vision by pixel area (tiled). AgentShot's pipeline: downscale to β€1568px long edge β JPEG q0.82 β enforce β€β
the original size β hard cap at 1000 KB. Reading accuracy is unaffected β only token count drops ([benchmarks](bench/RESULTS.md)).
> **Note on Claude:** Anthropic normalizes images server-side before billing, so for Claude the token cost is already fixed regardless of what you send β AgentShot saves no tokens there. The win is real on resolution-billed models (GPT/Codex).
---
Homepage & benchmarks: **https://interesting-vibe-coding.github.io/agentshot-site/** Β· MIT License Β· part of [interesting-vibe-coding](https://github.com/interesting-vibe-coding)