管理 Mac 上的開發伺服器、連接埠、Docker 和建置檔案夾

你的 Mac · 閱讀時間約 8 分鐘 · 已於 2026年10月24日 更新 · 說明文件選單

OneMacTools 的「開發與智慧代理」讓你在同一個畫面中管理 Mac 上的開發伺服器和連接埠。它依專案列出你啟動的每個伺服器及其連接埠、記憶體、CPU 和連線,標示閒置已久的伺服器,按一下就能停止。它也會顯示 Docker、Colima 和 OrbStack 的容器和空間,並找出 node_modules 等可清除的舊建置檔案夾。

本頁內容

「開發與智慧代理」畫面會顯示什麼

在側邊欄的 你的 Mac 下開啟 開發與智慧代理,或選擇 前往 › 開發與智慧代理。副標題說明了它的運作方式:只限你的程序 · 不經詢問絕不停止任何項目。它只會查看以你的身分執行的程序,絕不包括其他使用者或 macOS 本身的程序。

頂端的四個方塊分別計算代理程式工作階段、開發伺服器、閒置的伺服器和使用中的記憶體(代理和伺服器合計,若伺服器由代理啟動,不會重複計算)。下方有四個分頁:

Tab用途
代理AI 程式設計代理及其啟動的所有項目。請參閱監控 AI 程式設計代理。
開發伺服器正在監聽連接埠的伺服器和資料庫,依專案分組。
Docker來自 Docker Desktop、Colima 或 OrbStack 的容器、映像檔和建置快取。
專案檔案專案中的建置和下載檔案夾,例如 node_modules。

畫面開啟時,列表每三秒重新整理一次,離開時就會停止。工具列中的 重新整理 按鈕會立即重新讀取所有內容。本頁說明最後三個標籤頁。

如何找到開發伺服器並依專案分組

開發伺服器是指你的某個程序正在 TCP 連接埠上監聽,而且它是已知的執行環境,或在專案檔案夾中執行且不屬於任何 App。已知的執行環境包括 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。Homebrew 安裝的 Postgres 在任何專案之外執行,因此歸在不在專案中。

OneMacTools 開發與智慧代理:依專案分組的開發伺服器及其連接埠、一個標示為閒置的 Astro 伺服器、一個 Postgres 資料庫,以及「停止」按鈕
開發與智慧代理:依專案列出每個開發伺服器,並標示閒置的伺服器。

解讀伺服器列

  • 連接埠標籤,例如 :3000。按一下即可在瀏覽器中開啟 http://localhost:3000。
  • 資料庫標示 Postgres、Redis、MySQL 和 MongoDB。
  • 對你的網路開放(橘色)表示它在所有介面上監聽,因此不只這台 Mac,你 Wi-Fi 上的其他裝置也能連上它。
  • 閒置 3 小時(橘色)表示這段時間內沒有 CPU 活動,也沒有任何連線(見下方)。
  • 指令,例如 node next dev -p 3000,接著是 來自「終端機」 或 來自 Cursor(啟動它的 App)、已執行多久,以及開啟了多少連線。
  • 右側為記憶體和 CPU,接著是 停止…。

如何找出 Mac 上佔用連接埠的程式

在 開發伺服器 頂端的搜尋欄位中輸入:連接埠上有什麼…(3000、8080)或名稱。輸入數字會比對以該數字開頭的連接埠(80 會找到 8000 和 8080);輸入文字則比對指令(astro、uvicorn)。一般背景知識以及在「終端機」中使用 lsof 的方法,請見指南什麼在使用我 Mac 上的連接埠?。

由 App 和 macOS 服務(而非開發工具)佔用的連接埠,會集中在底部的 其他正在監聽連接埠的 App(N) 下。展開即可查看每個 App 及其連接埠。例如 AirPlay 接收器會監聽 5000 和 7000,這就是為什麼使用 5000 連接埠的 Flask App 有時無法啟動。你無法從這裡停止這些項目;請結束該 App(或在「系統設定」中關閉 AirPlay 接收器)以釋放連接埠。

閒置的伺服器,以及如何安全地停止伺服器

當伺服器在 OneMacTools 監看期間至少 15 分鐘幾乎沒有使用 CPU,也沒有任何開啟的連線時,就會被視為閒置。閒置的伺服器方塊會計算它們的數量,每個都會有一個標示閒置多久的閒置標籤。你三天前啟動後就忘了的 Astro 文件網站,就是典型的例子。

停止伺服器

  1. 按一下該列的停止…。
  2. 閱讀確認訊息,例如 要停止連接埠 4321 上的 node 嗎? 以及 釋放 298 MB 和連接埠。需要時再從你的專案重新啟動。
  3. 按一下停止。綠色的一行文字會確認停止了多少個程序,一秒後列表會更新。

停止會要求程序結束,發送的是與 Ctrl-C 相同的溫和訊號,讓伺服器可以正常關閉。OneMacTools 只會停止你自己的程序,而且會再次確認程序 ID 仍屬於當初列出的同一個程式,因此絕不會誤停被重複使用的程序 ID。

失控程序警示

即使這個畫面已關閉,OneMacTools 仍會每 30 秒檢查一次你的開發程序;當某個程序佔用一個完整核心達 10 分鐘、一小時內增加 1 GB,或在連接埠上閒置一天時,就會傳送附有停止按鈕的通知。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 的建置快取。下次建置會花比較久的時間。
本機磁碟區沒有容器使用的卷宗。其中的資料(例如資料庫和上傳內容)會永久刪除。

容器列出每個容器及其映像檔、狀態、連接埠、記憶體和 CPU,若有 Compose 專案也會一併顯示。執行中的容器有停止…(資料會保留);已停止的容器有開始和移除…(卷宗會保留)。如果安裝了 OrbStack,OrbStack 機器會列出它的 Linux 機器,並提供開始和停止…。

清除舊的 node_modules 和建置檔案夾

每個 JavaScript 專案都帶著一個可能多達數百 MB 的 node_modules,Rust、Python 和 Flutter 專案也有各自的對應檔案夾。專案檔案會走訪你的個人專屬檔案夾(向下六層,略過「資料庫」、「應用程式」、媒體檔案夾以及各工具自己的隱藏檔案夾),並逐一專案列出建置檔案夾,由大到小排列。

只有在可重新建立該檔案夾的檔案就在旁邊時,檔案夾才會列出,因此剛好名為 build 或 target 的檔案夾絕不會被動到:

檔案夾旁邊需要有的檔案說明
node_modulespackage.json下載的套件;npm install(或 yarn、pnpm、bun)會重新取回
.next、.nuxt、.svelte-kit、.turbo、.parcel-cache、.open-nextpackage.json框架的建置輸出與快取
.angularangular.json 或 package.jsonAngular 建置快取
.wranglerwrangler.toml、wrangler.jsonc 或 package.jsonWrangler 的本機狀態和快取
targetCargo.tomlRust 建置輸出
.venv、venvpyproject.toml、requirements.txt 等Python 虛擬環境
PodsPodfileCocoaPods 相依套件
.buildPackage.swiftSwift Package Manager 建置輸出
.dart_tool、build、.gradlepubspec.yaml 或 Gradle 檔案Dart、Flutter 和 Gradle 的輸出與快取

每個專案都會顯示你上次更改它的時間,依據是你自己的檔案和 Git 活動。30 天沒有動過的專案會自動勾選,日期也會變成橘色。按一下放大鏡即可在 Finder 中查看檔案夾。

  1. 取消勾選你即將要處理的任何項目。
  2. 按一下將 N 個丟到垃圾桶…並確認。對話框會顯示可釋放多少空間。
  3. 下次處理專案時,你的套件管理工具或建置流程會將這些資料夾產生回來。在清空垃圾桶之前,你都可以從記錄將它們放回原處。

指南在 Mac 上刪除 node_modules說明了一般做法;「專案檔案」則是用滑鼠點選就能完成的版本。若要處理整台 Mac 的空間,請見 Mac 清理。

從你的 AI 助理使用

Claude、Cursor、Codex 和其他 AI 助理也能透過 OneMacTools MCP 伺服器取得相同的讀數:連接埠上有什麼、依專案分組的開發伺服器、Docker 狀態以及舊的專案檔案。AI 助理可以在工作途中詢問「什麼在使用連接埠 3000?」,並得到與你在這裡看到的相同答案。停止任何項目仍需要你的核准(核准機制說明)。

問題

如何不用終端機就在 Mac 上結束佔用連接埠的程序?

開啟「開發與智慧代理」,選擇「開發伺服器」,在搜尋欄位中輸入連接埠號碼,然後按一下該列的「停止…」。OneMacTools 會要求伺服器正常結束並釋放連接埠。由 App 佔用的連接埠列在「其他正在監聽連接埠的 App」下;結束該 App 即可釋放。

為什麼我 Mac 上的連接埠 5000 已被佔用?

macOS 的「AirPlay 接收器」會監聽連接埠 5000 和 7000。「開發與智慧代理」會將它列在「其他監聽連接埠的 App」下。請在「系統設定」›「一般」›「AirDrop 與接力」中關閉「AirPlay 接收器」,或讓你的 App 在其他連接埠上執行。

開發伺服器「對你的網路開放」是什麼意思?

伺服器監聽所有網路介面,而不只是這台 Mac,因此同一個 Wi-Fi 上的手機和電腦都能連上。這在用手機測試時很方便,但在公共 Wi-Fi 上,你可能會想將它綁定到 localhost。

OneMacTools 會自行停止我的伺服器嗎?

除非你要求,否則不會。預設情況下,它只會通知你失控或閒置的程序。在「設定」›「失控的程序」中,你可以選擇在 15、30 或 60 分鐘後停止卡在 CPU 滿載的程序,或在 1、3 或 7 天後停止未使用的開發伺服器。

刪除 node_modules 安全嗎?

可以,只要旁邊有 package.json 即可,「專案檔案」會檢查這一點。執行 npm install(或 yarn、pnpm、bun)就能將它還原。OneMacTools 會將資料夾移到垃圾桶,在你清空垃圾桶之前,都可以從「記錄」放回原處。

「開發與智慧代理」支援 Colima 和 OrbStack 嗎?

可以。「Docker」標籤頁會讀取 Docker Desktop、Colima 或 OrbStack,可以啟動 Colima 或開啟 Docker Desktop,並列出 OrbStack 的 Linux 機器,提供「開始」和「停止」。

相關文件

Stop hunting for tools.
從一個開始。

全部 151 個工具。免費下載,一次付費購買授權,永久擁有。