Skip to main content

junkicide

TUI для macOS: быстро найти и осознанно прибить то, что зря жрёт ресурсы, — забытые эмуляторы, Docker-контейнеры, dev-серверы, тяжёлые вкладки браузера — и то, что зря занимает диск: старые дистрибутивы, программы, которыми не пользуются, фильмы, записи видеорегистратора, кэши и артефакты сборки заброшенных проектов.

uv tool install --editable ~/projects/own/junkicide   # один раз; дальше просто:
junkicide

Без установки: uvx --from ~/projects/own/junkicide junkicide; после публикации на PyPI — просто uvx junkicide.

Как работает

  1. Сразу — сводка (CPU, давление памяти, swap, свободное место, нагрев) и очевидные проблемы: процессы, которые устойчиво грузят CPU или держат много памяти, известные «пожиратели» (эмулятор Android, Docker VM, демоны Gradle, dev-серверы…), крупные файлы из индекса Spotlight.
  2. Параллельно в фоне — известные места на диске (кэши, Xcode, Android SDK/AVD, Homebrew, модели нейросетей…), давно не используемые программы и полный обход домашней папки: артефакты сборки по проектам (с датой, когда проект последний раз менялся), папки с видео (распознаются записи регистраторов), дубликаты, недокачанные файлы, архивы, уже распакованные рядом.
  3. Для каждой находки — что это, откуда взялось, чем грозит устранение, факты (пути, даты, PID, порты, рабочая папка, откуда скачан файл) и оценка, насколько вероятно это не нужно.
  4. Устранение — клавишей, с подтверждением. Файлы — только в Корзину; процессы — SIGTERM, SIGKILL по выбору; для кэшей — штатные команды (brew cleanup, docker builder prune, npm cache clean…). Корзину можно очистить отсюда же (E).

Результаты сканирования диска кэшируются: при следующем запуске прошлая картина видна сразу (⏳), пока идёт перепроверка.

Клавиши

1–5 вкладки (Главное, CPU, Память, Диск, Журнал) · Enter/a действия · k/K завершить/убить · d в Корзину · пробел отметить несколько · o Finder · i скрыть находку · / фильтр (#dev, #cache, #забытое…) · s сортировка по выгоде/размеру · r пересканировать · E очистить Корзину · ? помощь

Без интерфейса

junkicide --report        # просканировать (до 2 мин) и вывести отчёт
junkicide --report 40 --no-walk -v

Файлы

~/.config/junkicide/config.toml пороги и список скрытых находок (переносим между компьютерами)
~/Library/Logs/junkicide/journal.jsonl журнал: все действия и события сканирования
~/Library/Caches/junkicide/findings.json кэш прошлого сканирования диска (можно удалить)

Для полной картины (Корзина, Почта, данные некоторых программ) дайте терминалу «Полный доступ к диску»: Системные настройки → Конфиденциальность и безопасность.

Разработка

make help — все команды: make run, make test, make lint, make report, make uvx.

Устройство: scanners/ — независимые сканеры в фоновых потоках, пишут находки в общее хранилище (model.FindingStore); knowledge/ — база знаний (процессы, известные места, классификация файлов) с объяснениями; actions.py — исполнение действий с журналированием; tui/ — интерфейс на Textual.

Metadata

Release files for junkicide 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for junkicide 0.1.0
File Size Uploaded
junkicide-0.1.0.tar.gz 89.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for junkicide 0.1.0
File Interpreter ABI Platform
junkicide-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 185.3 kB

Release files / junkicide-0.1.0.tar.gz

Download URL junkicide-0.1.0.tar.gz
Size 89.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2d18c261ee9f6cb2a53d7e7b5dc5d0b305bde18359711b8cb2cb88b51ea26a79
BLAKE2b-256 checksum
How to use checksums
a840d73f1deb3672a71a05128db1131556396fdb87b62d23364b239aac6ec6a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.16

Release files / junkicide-0.1.0-py3-none-any.whl

Download URL junkicide-0.1.0-py3-none-any.whl
Size 95.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
46a1ff645e763ae08f5ddf5847f5f59456f054bd88ab9c7b9d8adbb5031da27c
BLAKE2b-256 checksum
How to use checksums
61f68b707f7b7126355c9c96be9c70ae6727cb53f7dbd9f7b3da98c0cda7a978
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.16

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page