Wipecraft
Русский
Купить · $9.99

Как работает Wipecraft

В ежедневной работе

Ваша работа остаётся на месте

Строки, в которых есть текущая работа, заблокированы. Вы их видите, но выбрать не можете.

  • Пока работает Claude Code или Codex: открытые им сеансы, всё, что он изменил за последние 24 часа, и worktree, в котором он работает.
  • Кэши Cursor, пока Cursor открыт.
  • Worktree с незакоммиченными изменениями, worktree, который менялся за последние 7 дней, и worktree, чьих коммитов нет ни в основной ветке, ни в удалённом репозитории.
  • Запущенный симулятор.
  • Рабочий образ песочницы Claude Desktop.

Изначально ничего не выбрано. «Выбрать рекомендуемые» отмечает только объекты из «Безопасно удалить» и «Возвращается» и никогда не отмечает объект из «Решать вам».

Сканирование только читает. Тест сравнивает каждый файл в тестовой домашней папке до и после полного сканирования, а также после сканирования и вывода статуса из командной строки.

7 дней, чтобы передумать

Файлы, которые не пересоздаёт ни одно приложение, при удалении попадают в карантин на том же диске. В каждой строке видно, сколько дней осталось, и есть кнопка «Восстановить». Через 7 дней карантин очищается сам при следующем запуске Wipecraft или во время ежедневной проверки. Если место нужно сегодня, «Очистить сейчас» освобождает его после повторного подтверждения.

Три вида действий проходят мимо карантина.

  • Кэши, журналы и временные файлы, которые их приложение пересоздаёт само, удаляются сразу. Восстановить их нельзя, и строка или карточка говорит об этом до того, как вы подтвердите. Wipecraft делает так только с папками и файлами, про которые знает, что приложение создаст их заново. Всё, у чего нет известного способа пересоздания, попадает в карантин.
  • Worktree удаляются с помощью git, их ветка остаётся в репозитории.
  • Несколько команд инструментов помечены как «Необратимо»: Wipecraft называет их и спрашивает второй раз.

Некоторые кэши остаются в карантине, потому что их инструмент не возвращает их сам: кэши JetBrains и Android Studio (в них хранится и локальная история среды разработки), модули Maven и Go, а также данные инструментов в Library/Caches, например среды Poetry, браузеры Playwright и Cypress и модели llama.cpp.

Истории сеансов не удаляются. Они перемещаются в сжатый архив, из которого их можно восстановить.

Сообщает, когда что-то растёт

Мониторинг выключен, пока вы его не включите. Когда он включён, это видно по значку в строке меню, а Wipecraft раз в день проверяет диск в выбранный вами час. Уведомление приходит, когда:

  • один объект вырос на 2 ГБ или больше за 7 дней,
  • на диске свободно меньше 10%,
  • worktree или симулятор размером от 1 ГБ не использовался 7 дней,
  • последней резервной копии Time Machine больше 7 дней.

Завершите работу приложения, и всё остановится.

Ваши правила и фильтры

Правила очистки необязательны. Их нет, пока вы не добавите правило в разделе «Настройки» > «Автоматическая очистка».

  • Правило задаёт источники, сколько дней объект не должен использоваться (от 7 до 365) и минимальный размер.
  • После ежедневной проверки подходящие под правило объекты перемещаются в карантин или в архив, а уведомление сообщает, сколько их.
  • Правила пропускают заблокированные строки. Они никогда не выполняют команды, не удаляют worktree и не делают ничего необратимого. Кэши, которые удаляются сразу, не входят в плановую очистку: правила берут только объекты, которые попадают в карантин или в архив.
  • Правила работают, только пока включён мониторинг.
  • Без лицензии правило ничего не перемещает. Если правило что-то переместило бы, Wipecraft раз в день сообщает, что очистка не выполнена.

Любой список найденного можно отфильтровать по тому, как давно объект не трогали, по источнику и по уровню безопасности. Фильтр скрывает строки и убирает их из выбора.

Не трогает неотправленную работу

Worktree, чей git-репозиторий на месте, предлагается к удалению, только когда его коммиты есть и где-то ещё. Единственное исключение: worktree, чей репозиторий исчез; см. последний пункт.

  • Его коммиты должны быть в основной ветке или в ветке удалённого репозитория. Если их там нет, строка заблокирована с причиной «Его коммитов пока нет ни в основной ветке, ни в удалённом репозитории.»
  • Коммиты, сделанные после последнего push, оставляют его заблокированным.
  • Squash merge добавляет в основную ветку новые коммиты, поэтому собственные коммиты ветки там никогда не появляются. Если GitHub показывает pull request этой ветки как слитый, Wipecraft снимает эту одну блокировку. Запрос идёт через ваш собственный вход в gh, только когда gh установлен и вы в нём авторизованы; это можно выключить в разделе «Настройки» > «Конфиденциальность». Незакоммиченные изменения по-прежнему блокируют worktree.
  • Wipecraft проверяет ещё раз непосредственно перед удалением worktree. Если коммитов больше нет ни в основной ветке, ни в удалённом репозитории или pull request больше не отображается как слитый, ничего не удаляется.
  • Worktree, чей основной репозиторий перемещён или удалён, git проверить не может. Wipecraft предлагает его только после 30 дней без изменений (значение по умолчанию) и перемещает всю папку в карантин, откуда её возвращает «Восстановить».

Сохраняет ваш .env при удалении worktree

git worktree remove удаляет папку вместе с файлами, которые git игнорирует: .env, локальными базами данных и настройками редактора. Wipecraft сначала перемещает эти файлы.

  • Перед удалением worktree Wipecraft перемещает его игнорируемые файлы, которые не являются результатами сборки, в карантин на 7 дней. Результаты сборки, например node_modules и target, удаляются вместе с worktree.
  • До подтверждения в строке указано, сколько файлов попадёт в карантин.
  • Если git отказывается удалять worktree, Wipecraft возвращает файлы на прежнее место.
  • «Восстановить» заново создаёт папки, в которых лежали эти файлы.
  • Эти файлы никогда не предлагаются отдельно. Результаты сборки предлагаются отдельной строкой, в том числе для заблокированного worktree.

Работает из терминала и внутри Claude Code

Командная строка. В приложение входит команда wipecraft. В разделе «Настройки» > «Основные» > «Инструмент командной строки» показана одна строка, которая добавляет её в ваш PATH.

  • wipecraft scan и wipecraft status показывают, что можно освободить, а с --json выводят версионированный JSON. Они ничего не меняют.
  • wipecraft clean показывает, что будет сделано. Ничего не меняется, пока вы не добавите --apply.
  • С --apply команда wipecraft clean делает с каждым указанным объектом то же, что приложение: кэши, журналы и временные файлы, которые их приложение пересоздаёт, удаляются сразу и не восстанавливаются (в плане написано «Would remove directly»), остальные файлы перемещаются в карантин, истории сеансов — в архив, а завершённый worktree удаляется через git worktree remove после того, как его игнорируемые файлы, не относящиеся к результатам сборки, перемещены в карантин. Журнал удалений записывает каждое действие. --all-safe выбирает только объекты, которые перемещаются в карантин. Нужна та же лицензия, что и для приложения.
  • Она отказывается обрабатывать заблокированные строки и строки, изменившиеся после сканирования. Действия, помеченные как «Необратимо», она не выполняет и предлагает открыть приложение.
  • wipecraft quarantine list показывает содержимое карантина, а wipecraft quarantine restore <id> возвращает запись на место. Ни одной из них лицензия не нужна.
  • Если приложение или другой терминал перемещает файлы, команда останавливается с сообщением, что Wipecraft занят, и ничего не перемещает.
  • Она выводит скрипты автодополнения для zsh, bash и fish.

Плагин для Claude Code. Плагин добавляет две команды и два хука сеанса.

  • /wipecraft:status кратко пересказывает вывод wipecraft scan --json. /wipecraft:tidy сначала показывает пробный запуск и выполняет --apply, только когда вы ответите «да» в чате.
  • Когда сеанс начинается и можно освободить больше 1 ГБ, плагин добавляет в сеанс одну строку. Строка берётся из сводки, сохранённой при последнем обновлении, поэтому сеанс никогда не ждёт сканирования. Если сводки за последние 24 часа нет, плагин ничего не выводит и обновляет сводку в фоне.
  • Когда сеанс заканчивается внутри связанного worktree, плагин выводит состояние этого worktree одной строкой.
  • Уборка завершённого worktree по умолчанию выключена. Это переключатель в разделе «Настройки» > «Агенты».
  • Когда переключатель включён, после окончания сеанса и короткой паузы wipecraft clean запускается в фоне, только для worktree этого сеанса. Он проходит те же проверки, что и команда, и worktree, который всё ещё заблокирован, остаётся.

Другие агенты (MCP). wipecraft mcp — это сервер, который Claude Code, Codex, Cursor и другие агенты могут запустить на вашем Mac. Он общается только через стандартный ввод и вывод; в его исходном коде нет сетевых подключений, и он не слушает ни один порт.

  • Агент может читать итоги, получать список объектов и их описания и смотреть содержимое карантина. Эти запросы ничего не меняют.
  • Очистка через агента выключена, пока вы не включите «Разрешить агентам очистку через MCP» в разделе «Настройки» > «Агенты».
  • Когда она включена, запрос показывает план, если агент не просит применить его. Для выполнения нужна лицензия; заблокированные строки пропускаются. Для каждого id, который назвал агент, Wipecraft делает то же, что wipecraft clean --apply: кэши, журналы и временные файлы, которые их приложение пересоздаёт, удаляются сразу и не восстанавливаются, остальные файлы перемещаются в карантин, истории сеансов — в архив, завершённый worktree удаляется с помощью git. Описание инструмента сообщает агенту, какие объекты восстановить нельзя, чтобы он сказал об этом до применения. Действия, помеченные как «Необратимо», например удаление локального снимка Time Machine, по-прежнему отклоняются.
  • В разделе «Настройки» > «Агенты» есть текст для подключения Claude Code, Codex и Cursor. Wipecraft показывает этот текст и не меняет настройки агентов.

Что он находит

Каждая строка говорит, что это, какого размера и что будет, если это удалить. Если что-то можно вернуть, строка также говорит, как.

Claude Code, Codex, worktree и инструменты разработчика ниже появляются, когда включён режим разработчика. См. раздел «Частые вопросы».

ИИ-агенты и ИИ-приложения

  • Claude Code. Истории сеансов, сгруппированные по проектам и месяцам. Они архивируются, а не удаляются. Также история файлов, снимки оболочки, журналы отладки и плагины.
  • Codex. Сеансы, архивные сеансы, а также базы данных истории цепочек и журналов. Всё это архивируется, а не удаляется. Также созданные изображения и кэш.
  • Claude Desktop. Пакеты виртуальных машин. Рабочий образ песочницы показан и заблокирован. Его сжатые копии и оставшиеся данные быстрого запуска предлагаются, только пока Claude Desktop закрыт. Также кэши.
  • Cursor. Его кэши.
  • Локальные модели. Ollama, LM Studio, кэш Hugging Face, кэш PyTorch и модели Whisper, с размером и временем последнего использования.
  • Git worktree. От любого агента или от вас: worktree git-репозиториев в вашей домашней папке и папки в .claude/worktrees. Для каждого показаны ветка, размер, последнее изменение и отдельным списком файлы, которые git игнорирует. Worktree сгруппированы по инструменту, который их создал: Claude Code, Codex, Cursor или «Другое». Группа определяется по папке или по имени ветки.
  • Остатки worktree. В списке есть папки, чей основной репозиторий перемещён или удалён, а также записи git о worktree, папок которых больше нет. Удаление записей запускает git worktree prune, который не удаляет файлов. Запись, чья папка перемещена, а не удалена, остаётся заблокированной, и строка предлагает выполнить git worktree repair.

Инструменты разработчика

  • Xcode. Данные сборки по проектам, архивы, файлы поддержки устройств, превью и кэш модулей. Проект, открытый в Xcode, заблокирован.
  • Симуляторы. Каждое устройство с размером и временем последнего использования. «Удалить устройство» и «стереть содержимое» — отдельные действия. Образы сред выполнения предлагаются, только когда их не использует ни один симулятор.
  • Кэши пакетов. npm, pnpm, Yarn, pip, Homebrew, CocoaPods, Swift Package Manager, Gradle и Cargo, а также Bun, uv, conda, Go и Maven.
  • Результаты сборки. node_modules в проектах, которые не менялись 30 дней. Также папки вроде .venv, target, .next, build, dist, Pods и .build, но только когда в проекте есть его файл-маркер (например, Cargo.toml или package.json), git игнорирует папку и проект не менялся 30 дней. Эти 30 дней можно изменить. Агент программирования или редактор, запущенный в папке проекта, блокирует его, пока работает.
  • Редакторы. Кэши и журналы VS Code, IDE JetBrains и Android Studio. Пока редактор работает, они заблокированы. Для папки более старой версии IDE это указано.
  • Android. Эмуляторы (виртуальные устройства) и системные образы SDK. Эмулятор перемещается в карантин и заблокирован, пока работает какой-либо эмулятор или существует его файл блокировки. Системный образ заблокирован, пока его использует устройство, а также когда Wipecraft не может прочитать настройки устройства.
  • Docker. Образы и тома, пока Docker работает. Образ или том, который использует контейнер, заблокирован. Также кэш сборки, который сейчас не использует ни одна сборка; его удаление запускает docker builder prune --all --force, и это действие необратимо. Папка данных OrbStack показана с размером, и Wipecraft её не удаляет.

Системные данные

Раздел «Хранилище» в Системных настройках показывает для системных данных одно число. Wipecraft исходит из занятого места на диске и делит каждый занятый байт на четыре части: macOS, Приложения, Ваши файлы и Системные данные. В сумме части дают занятое место.

Системные данные, в свою очередь, делятся на пять групп. У каждой есть цвет и объяснение в одно предложение.

  • Нужно вашему Mac. Файл подкачки, системные базы данных и данные, которые приложения хранят для себя. Показано, но никогда не предлагается к удалению.
  • Безопасно удалить. Кэши, журналы и временные файлы, которые их приложение пересоздаёт само.
  • Возвращается. Удалить можно, но при использовании это снова заполняется, например кэши браузеров и пакетов.
  • Решать вам. Единственная копия того, что само не вернётся: локальные модели, эмуляторы, симуляторы, worktree, образы Docker и истории сеансов. Карточка сообщает, что это и когда вы пользовались этим в последний раз. Эти объекты попадают в карантин, где их можно вернуть в течение 7 дней, или в архив, из которого их можно восстановить.
  • macOS не показывает. То, что остаётся после вычета всего, что Wipecraft может назвать, с указанием причины: выключен «Полный доступ к диску», папки, которые может читать только администратор, либо накладные расходы APFS и клоны.

Корзина на карточке удаляет только объекты из «Безопасно удалить» и «Возвращается», которые не заблокированы. Она никогда не берёт объект из «Решать вам», а объект, открытый приложением, остаётся заблокированным. Сначала карточка переворачивается и сообщает, что произойдёт и можно ли это отменить.

Локальные снимки Time Machine показаны по одному, с датами, вне групп. macOS не сообщает размер локального снимка, поэтому Wipecraft его не угадывает. Удаление снимка помечено как «Необратимо» и каждый раз запрашивает пароль администратора.

Для некоторых из этих папок нужен «Полный доступ к диску». Без него папки пользователя всё равно сканируются, а в обзоре указано, какие папки не удалось учесть.

Как работает отмена

Тип строкиЧто делает WipecraftКак вернуть
«Пересоздаётся автоматически»Удаляет сразу, без карантина. Только для кэшей, журналов и временных файлов, которые их приложение пересоздаёт. Строка или карточка говорит об этом до того, как вы подтвердите.Восстанавливать нечего. Приложение создаст это заново, когда понадобится. Отменить нельзя.
«Можно вернуть»Перемещает файлы в карантин.«Восстановить», в течение 7 дней. Или скачать либо собрать заново.
Истории сеансов (с пометкой «Можно вернуть»)Сжимает их в архив, затем удаляет оригиналы.Восстановить архив. Архивы хранятся, пока вы их не восстановите.
Worktree (с пометкой «Можно вернуть»)Перемещает его игнорируемые файлы, не относящиеся к результатам сборки (например, .env), в карантин, затем запускает git worktree remove. Папка удаляется сразу, без карантина, вместе с результатами сборки.Ветка остаётся в репозитории. Выполните git worktree add с этой веткой, чтобы снова её извлечь. «Восстановить» возвращает сохранённые файлы.
«Необратимо»Запускает собственную команду инструмента. Сначала называет команду и спрашивает второй раз.В подтверждении сказано, как получить это снова.
«Заблокировано»Ничего.Возвращать нечего.

Кэши, которые их инструмент не возвращает сам, в первую строку не входят. Они попадают в карантин: кэши JetBrains и Android Studio, модули Maven и Go, а также данные инструментов в Library/Caches, например среды Poetry, браузеры Playwright и Cypress и модели llama.cpp.

Необратимые действия: удаление локального снимка Time Machine, удаление среды выполнения симулятора, стирание содержимого симулятора, удаление образа или тома Docker и удаление кэша сборки Docker.

Worktree, чей репозиторий на месте, Wipecraft предлагает к удалению, только когда он чистый: нет изменённых отслеживаемых файлов, нет неотслеживаемых файлов, которые git не игнорирует, нет изменений в течение 7 дней (значение по умолчанию; его можно изменить в настройках), и его коммиты есть в основной ветке или в удалённом репозитории. Worktree, чей основной репозиторий исчез, git проверить не может. Он предлагается после 30 дней без изменений (значение по умолчанию) и попадает в карантин целой папкой. Его файлы, игнорируемые git (результаты сборки, зависимости), также идут отдельной строкой, которая попадает в карантин. Эту строку могут предложить, даже когда сам worktree заблокирован, например из-за незакоммиченных изменений.

Карантин перемещает файлы в пределах того же диска, поэтому место освобождается, когда карантин очищается. На экране «Карантин» видны оба числа: «В карантине» и «Освободится при очистке».

Каждое действие записывается в локальный журнал удалений: когда, что, сколько и какого типа было действие. Его можно экспортировать в CSV из настроек.

Конфиденциальность в 10 принципах

  1. Без учётной записи.
  2. Без телеметрии и аналитики в приложении.
  3. Wipecraft никуда не отправляет имена файлов и пути. Агент программирования, которого вы подключаете сами, получает результаты сканирования на вашем Mac по локальному соединению. Что этот агент делает с ними дальше — дело его поставщика.
  4. Сканирование читает размеры, даты и состояние инструментов (git, simctl, Docker) на этом Mac. Оно ничего не загружает в сеть.
  5. Приложение выходит в сеть по двум поводам: для вашей лицензии, если вы её активируете (с именем вашего Mac как меткой активации), и для проверки обновлений. Одна необязательная проверка идёт через ваш собственный вход в gh, только когда gh установлен и вы в нём авторизованы. Её можно выключить в настройках, и тогда gh никогда не запускается.
  6. Отчёты о сбоях по умолчанию выключены. Если вы их включите, они отправляются только при сбое приложения, без имён файлов и путей (Sentry, регион ЕС).
  7. В фоне ничего не работает, если вы не включили мониторинг, а его значок в строке меню показывает, что он включён. Единственный другой случай — плагин для Claude Code, если вы его установите: его хуки запускают wipecraft, когда сеанс начинается или заканчивается.
  8. Вспомогательная программа с правами администратора не устанавливается. Пароль администратора запрашивается только для удаления снимка, каждый раз. Команда wipecraft работает с вашими собственными правами и не выполняет команды администратора.
  9. Журнал удалений остаётся на вашем Mac. Экспортируете его только вы.
  10. Ваш лицензионный ключ хранится в вашей связке ключей. Команда wipecraft читает его оттуда, чтобы проверить лицензию.

Подробнее: wipecraft.app/privacy/ru