Керуйте серверами розробки, портами, Docker і папками збирання на Mac
«Розробка й агенти» в OneMacTools дає змогу керувати серверами розробки й портами на Mac з одного екрана. Він показує кожен запущений вами сервер за проєктом з портами, пам'яттю, ЦП і з'єднаннями, позначає ті, що давно простоюють, і зупиняє їх одним клацанням. Також він показує контейнери й місце Docker, Colima та OrbStack і знаходить старі папки збирання на кшталт node_modules, які можна очистити.
На цій сторінці
Що показує екран «Розробка й агенти»
Відкрийте Розробка й агенти в розділі Ваш Mac на бічній панелі або виберіть Перехід › Розробка й агенти. Підзаголовок пояснює, як це працює: Лише ваші процеси · ніщо не зупиняється без запиту. Тут видно лише процеси, запущені від вашого імені, і ніколи — процеси інших користувачів чи самої macOS.
Чотири плитки вгорі рахують Сеанси агентів, Сервери розробки, Неактивні сервери і Використовувана пам'ять (агенти й сервери разом, без подвійного врахування сервера, запущеного агентом). Нижче — чотири вкладки:
| Табуляція | Для чого це |
|---|---|
| Агенти | ШІ-агенти для програмування й усе, що вони запустили. Див. Моніторинг ШІ-агентів для програмування. |
| Сервери розробки | Сервери й бази даних, що слухають порти, згруповані за проєктами. |
| Docker | Контейнери, образи й кеші збирання з Docker Desktop, Colima чи OrbStack. |
| Файли проєктів | Папки збирання й завантажень усередині ваших проєктів, як-от node_modules. |
Поки екран відкрито, список оновлюється кожні три секунди й зупиняється, коли ви з нього виходите. Кнопка Оновити на панелі інструментів одразу перечитує все. Ця сторінка описує останні три вкладки.
Як сервери розробки знаходяться й групуються за проєктами
Сервер розробки — це ваш процес, що слухає TCP-порт і або є відомим середовищем виконання, або працює в папці проєкту й не належить жодній програмі. Відомі середовища: node, bun, deno, python, ruby, java, php, dotnet, go, vite, esbuild, uvicorn, gunicorn, puma, rails, hugo, caddy, nginx, httpd, streamlit, Jupyter і ollama, а також бази даних postgres, redis-server, mysqld і mongod.
Кожен сервер зараховується до проєкту, у якому він працює: найближчої папки у вашій папці користувача з файлом проєкту, як-от package.json, .git, pyproject.toml, requirements.txt, Cargo.toml, go.mod, Gemfile, composer.json, pom.xml, build.gradle, Package.swift, deno.json, pubspec.yaml, mix.exs чи Podfile. Postgres із Homebrew працює поза будь-яким проєктом, тож він потрапляє в Не в проєкті.

Як читати рядок сервера
- Чипи портів, як-от :3000. Клацніть чип, щоб відкрити
http://localhost:3000у браузері. - база даних позначає Postgres, Redis, MySQL і MongoDB.
- відкрито для мережі (помаранчевим) означає, що сервер слухає на всіх інтерфейсах, тож до нього можуть дістатися й інші пристрої у вашій Wi-Fi, а не лише цей Mac.
- неактивний 3 год (помаранчевим) означає, що стільки часу не було ні навантаження на ЦП, ні з'єднань (див. нижче).
- Команда, наприклад
node next dev -p 3000, далі з Terminal або з Cursor (програма, що її запустила), скільки часу вона працює і скільки з'єднань відкрито. - Пам'ять і ЦП праворуч, а далі — Зупинити….
Як дізнатися, що використовує порт на Mac
Введіть текст у поле пошуку вгорі Серверів розробки: Що на порту… (3000, 8080) або назва. Число відповідає портам, що з нього починаються (80 знаходить 8000 і 8080); слово відповідає команді (astro, uvicorn). Загальні відомості й спосіб через Термінал з lsof описано в посібнику Що використовує порт на моєму Mac?.
Порти, зайняті програмами та службами macOS, а не інструментами розробки, зібрано внизу в групі Інші програми, що слухають порти (N). Розгорніть її, щоб побачити кожну програму та її порти. Наприклад, Приймач AirPlay слухає порти 5000 і 7000, тому застосунок Flask на порту 5000 іноді не запускається. Зупинити їх звідси не можна; щоб звільнити порт, закрийте програму (або вимкніть Приймач AirPlay у Системних параметрах).
Неактивні сервери й безпечна зупинка сервера
Сервер вважається неактивним, коли він майже не використовував ЦП і не мав відкритих з'єднань щонайменше 15 хвилин, поки OneMacTools стежив. Плитка Неактивні сервери рахує їх, а кожен отримує чип неактивний із тривалістю. Типовий приклад — сайт документації на Astro, який ви запустили три дні тому й забули.
Зупинення сервера
- Натисніть Зупинити… в рядку.
- Прочитайте підтвердження, наприклад Зупинити node на порту 4321? з текстом Звільнить 298 МБ і порт. Запустіть його знову з проєкту, коли знадобиться.
- Натисніть Зупинити. Зелений рядок підтверджує, скільки процесів зупинено, а за секунду список оновлюється.
Зупинка просить процес завершити роботу тим самим ввічливим сигналом, що й Ctrl-C, щоб сервер міг коректно закритися. OneMacTools зупиняє лише ваші власні процеси й перевіряє, чи ідентифікатор процесу досі належить тій самій програмі, що була в списку, тож повторно використаний ідентифікатор ніколи не буде зачеплено помилково.
Попередження про процеси, що вийшли з-під контролю
Навіть коли цей екран закрито, OneMacTools кожні 30 секунд перевіряє ваші процеси розробки й надсилає сповіщення з кнопкою Зупинити, коли процес займає ціле ядро 10 хвилин, виростає на гігабайт за годину або день простоює на порту. Компілятори на кшталт rustc, clang, tsc і webpack мають бути зайняті, тож їх не чіпають. У «Параметри» › Процеси, що вийшли з-під контролю це можна вимкнути або дозволити OneMacTools зупиняти процеси самостійно: Зупинити процес, що завис на повному навантаженні CPU (через 15 хвилин, 30 хвилин або 1 годину) і Зупинити сервер розробки, яким ніхто не користується (через 1, 3 або 7 днів). Обидва типово мають значення Ніколи. Див. довідник параметрів.
Docker, Colima і OrbStack
Вкладка Docker працює з Docker Desktop, Colima й OrbStack. Що ви побачите, залежить від стану:
- Docker не встановлено: на цьому Mac немає жодного з трьох.
- Docker не запущено: показує, скільки місця на диску займає його віртуальна машина навіть у зупиненому стані. Відкрити Docker Desktop або Запустити Colima запускає його (Colima виконує
colima start, що може тривати хвилину). Для Colima є ще кнопка Скопіювати «colima delete», щоб вставити команду в Термінал, якщо ви більше ним не користуєтеся й хочете повернути місце. - Запущено: Місце, яке займає Docker і Контейнери.
Місце, яке займає Docker
По рядку для образів, контейнерів, локальних томів і кешу збирання — з кількістю, розміром і тим, скільки можна звільнити. Очистити… пояснює, що робить, перш ніж запуститися:
| Рядок | Що вилучає очищення |
|---|---|
| Зображення | Образи, які не використовує жоден контейнер. За потреби вони завантажуються чи збираються знову. |
| Контейнери | Зупинені контейнери. Усе, що вони зберігали поза томом, буде втрачено. |
| Кеш збирання | Кеш збирання Docker. Наступне збирання триватиме довше. |
| Локальні томи | Томи, які не використовує жоден контейнер. Їхні дані, як-от бази даних і вивантажені файли, видаляються назавжди. |
Контейнери показує кожен контейнер з образом, станом, портами, пам'яттю і ЦП, а також проєкт Compose, якщо він є. Запущені контейнери мають кнопку Зупинити… (дані залишаються); зупинені — Почати і Видалити… (томи зберігаються). Якщо встановлено OrbStack, Машини OrbStack показує його Linux-машини з кнопками Почати і Зупинити….
Очищення старих node_modules і папок збирання
Кожен проєкт на JavaScript має node_modules, що може займати сотні мегабайтів, а проєкти на Rust, Python і Flutter мають власні аналоги. Файли проєктів обходить вашу папку користувача (на шість рівнів углиб, пропускаючи «Бібліотеку», «Програми», медіапапки й приховані папки інструментів) і показує папки збирання для кожного проєкту, від найбільших.
Папку показано лише тоді, коли поруч із нею лежить файл, що її відтворює, тож папку, яка просто називається build чи target, ніколи не буде зачеплено:
| Папка | Потребує поруч | Що це |
|---|---|---|
node_modules | package.json | Завантажені пакети; npm install (або yarn, pnpm, bun) поверне їх |
.next, .nuxt, .svelte-kit, .turbo, .parcel-cache, .open-next | package.json | Результати збирання й кеші фреймворків |
.angular | angular.json або package.json | Кеш збирання Angular |
.wrangler | wrangler.toml, wrangler.jsonc або package.json | Локальний стан і кеш Wrangler |
target | Cargo.toml | Результати збирання Rust |
.venv, venv | pyproject.toml, requirements.txt і подібні | Віртуальне середовище Python |
Pods | Podfile | Залежності CocoaPods |
.build | Package.swift | Результати збирання Swift Package Manager |
.dart_tool, build, .gradle | pubspec.yaml або файли Gradle | Результати збирання й кеші Dart, Flutter і Gradle |
Для кожного проєкту показано, коли ви востаннє його змінювали, за вашими файлами й активністю Git. Проєкти, яких ви не торкалися 30 днів, позначено автоматично, а їхні дати стають помаранчевими. Клацніть лупу, щоб побачити папку у Finder.
- Зніміть позначки з усього, над чим ви збираєтеся працювати.
- Натисніть Перемістити в Смітник (N)… і підтвердьте. Діалог показує, скільки місця буде звільнено.
- Менеджер пакетів або збирання поверне папки наступного разу, коли ви працюватимете над проєктом. Доки ви не очистите Смітник, їх можна повернути з Історії.
Посібник Видалення node_modules на Mac пояснює загальний підхід; «Файли проєктів» — це його версія, де все робиться клацаннями. Про місце на всьому Mac див. Очищення Mac.
Використання з вашого ШІ-асистента
Ті самі дані доступні Claude, Cursor, Codex та іншим асистентам через MCP-сервер OneMacTools: що працює на порту, сервери розробки за проєктами, стан Docker і старі файли проєктів. Асистент може посеред завдання запитати «що використовує порт 3000?» і отримати ту саму відповідь, яку ви бачите тут. Для будь-якої зупинки все одно потрібне ваше схвалення (як працюють схвалення).
Запитання
Як завершити процес на порту на Mac без Термінала?
Відкрийте «Розробка й агенти», виберіть «Сервери розробки», введіть номер порту в поле пошуку й клацніть «Зупинити…» в рядку. OneMacTools просить сервер коректно завершити роботу й звільняє порт. Порти, зайняті програмами, наведено в групі «Інші програми, що слухають порти»; щоб звільнити їх, закрийте програму.
Чому порт 5000 на моєму Mac уже зайнятий?
Приймач AirPlay в macOS слухає порти 5000 і 7000. «Розробка й агенти» показує його в групі «Інші програми, що слухають порти». Вимкніть Приймач AirPlay у Системні параметри › Загальні › AirDrop і Handoff або запустіть свою програму на іншому порту.
Що означає «відкритий для вашої мережі» для сервера розробки?
Сервер слухає всі мережеві інтерфейси, а не лише цей Mac, тож телефони й комп'ютери в тій самій мережі Wi-Fi можуть до нього звернутися. Це зручно для тестування на телефоні, але в публічній мережі Wi-Fi краще прив'язати його до localhost.
Чи зупинятиме OneMacTools мої сервери самостійно?
Лише якщо ви попросите. Типово він лише сповіщає про процеси, що вийшли з-під контролю чи простоюють. У «Параметри › Процеси, що вийшли з-під контролю» можна вибрати зупинку процесу, що завис на повному навантаженні ЦП, через 15, 30 чи 60 хвилин або невикористовуваного сервера розробки через 1, 3 чи 7 днів.
Чи безпечно видаляти node_modules?
Так, якщо поруч є package.json — «Файли проєктів» це перевіряють. Виконання npm install (або yarn, pnpm чи bun) повертає папку. OneMacTools переміщує папки в Смітник, і їх можна повернути з Історії, доки ви його не очистите.
Чи працює «Розробка й агенти» з Colima та OrbStack?
Так. Вкладка «Docker» читає Docker Desktop, Colima чи OrbStack, може запустити Colima або відкрити Docker Desktop і перелічує Linux-машини OrbStack з кнопками запуску й зупинки.