Застосунок для macOS
Toss — полиця, що передає скриншоти macOS у Claude Code
Якщо перетягнути скриншот macOS у термінал, Claude Code отримує мертве посилання, бо macOS одразу видаляє тимчасовий файл. Приблизно за 10 хвилин свого часу я зробив з Claude Code Toss — нативний застосунок для рядка меню. Струсни мишею, закинь серію скриншотів у чорну діру, а потім перетягни їх у термінал по одному або всі разом. Я користуюся ним щодня для 30+ файлів, не зберігаючи скриншоти в папках.
10 хв мого часу, щоб зробити його з Claude Code
30+ скриншотів і файлів на день
0 дозволів macOS не потрібно
MIT безкоштовний і з відкритим кодом
Завдання
Я щодня працюю з Claude Code у терміналі й постійно показую йому скриншоти. Якщо в macOS перетягнути мініатюру скриншота прямо в термінал, вставляється шлях до тимчасового файлу. macOS одразу видаляє цей файл, тож Claude отримує мертве посилання.
Звичні обхідні шляхи не підходили. Збереження скриншотів у папку захаращує Mac, а буфер обміну тримає один скриншот за раз. Я хотів робити серію різних скриншотів, тримати їх десь тимчасово й перетягувати в термінал разом.
Ідея
Мій напарник, дизайнер Джордж Новак (George Novak), показав мені ідею «струсни й закинь» для файлів, яку він побачив у застосунку, що працював погано. Я побачив, що, зроблена як слід, вона розв’язує мою проблему зі скриншотами. З Claude Code я зробив власну версію приблизно за 10 хвилин свого часу: застосунок на Swift в одному файлі для рядка меню, на AppKit і Core Animation.
Як це працює
- Виклик: струсни мишею вліво-вправо — відкривається чорна діра. Значок у рядку меню теж її відкриває.
- Закинути: файли, папки, файли з «Фото» та браузерів, дані зображень і текст. Кожен копіюється у сховище, по спіралі затягується в діру й далі обертається навколо неї круглою мініатюрою з назвою і типом файлу.
- Взяти один: витягни мініатюру з орбіти. Біля курсора орбіта сповільнюється, тож файли легко схопити.
- Взяти всі: потягни з чорного центру — усі файли виходять разом.
- Додатково: скопіювати всі шляхи, готові до вставлення, показати у Finder, скопіювати як зображення, видалити. Esc закриває.
Безпечний за задумом
- Файли копіюються, а не посилаються, тож шлях працює й після того, як macOS видалить свій тимчасовий файл.
- Сховище очищається при кожному запуску: жодних папок зі скриншотами, які треба прибирати.
- Йому не потрібні дозволи macOS.
- Оновлення захищені: підписані коміти, скрипт safe-pull, що перевіряє кожен новий коміт, і захищена гілка main на GitHub.
Результат
Toss у щоденному вжитку: я закидаю 30+ скриншотів і файлів на день у термінал Claude Code, і Claude читає кожен. Ще 2–3 людини теж ним користуються. Вигляд чорної діри та відповідна іконка застосунку намальовані в коді, а код відкритий на GitHub.
Інструменти
Часті запитання
Чому б просто не зберігати скриншоти в папку або не копіювати їх у буфер обміну?
Я пробував обидва способи. Папка заповнюється старими скриншотами, які треба прибирати, а буфер обміну тримає лише один скриншот за раз. Якщо перетягнути мініатюру прямо в термінал, виходить мертве посилання. Toss тримає цілу серію в одному місці й передає їх разом.
Скільки часу це забрало, і чи було воно того варте?
Приблизно 10 хвилин мого часу, з Claude Code. Тепер я передаю через нього 30+ скриншотів і файлів на день, тож він окупився в перший же день.
Чи потрібні йому спеціальні дозволи macOS?
Ні. Розпізнавання струшування зчитує позицію курсора 60 разів на секунду, а це macOS дозволяє без доступу до Універсального доступу чи запису екрана.
Чи зберігає він мої скриншоти?
Лише поки вони вам потрібні. Файли копіюються в тимчасове сховище, яке очищається при кожному запуску застосунку, тож на Mac нічого не накопичується.
Як ви дбаєте про безпечне оновлення коду?
Кожен коміт підписаний ключем, який є лише на моєму Mac. Скрипт safe-pull відхиляє непідписану або переписану історію й позначає підозрілі рядки, перш ніж щось застосувати, а гілка main на GitHub захищена.
Чи користується ним ще хтось?
Так, окрім мене ним користуються ще 2–3 людини. Ідея прийшла від мого напарника Джорджа Новака (George Novak), який побачив її в застосунку, що працював погано. Я перебудував її під свою роботу зі скриншотами, щоб вона працювала надійно.
Чи можу я його встановити?
Так, на Mac з Apple silicon і macOS 13 або новішою. Клонуйте репозиторій і запустіть один скрипт збірки — він компілює, підписує та встановлює застосунок у папку «Програми».
Є дрібна щоденна незручність у роботі вашої команди, яку міг би прибрати такий інструмент? Напишіть мені.