个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证MacPeek: tiny native macOS menu-bar utilities to see what's using a port, file, disk, network or sleep, and end processes safely. Free, open source, no telemetry. https://www.macpeekapp.com
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗The tiny utilities macOS should have built in.
MacPeek is a native, lightweight, open-source collection of focused macOS menu-bar utilities for finding, inspecting and understanding the things macOS makes unnecessarily difficult to see. One small app, many Peeks — switch on the ones you want, switch off the rest.
Screenshot/GIF: add
docs/screenshot.pngafter the first build.
| Utility | Answers | Status |
|---|---|---|
| PortPeek | What is using port 3000? Free it safely. | ✅ Available |
| DisplayPeek | What display configuration am I actually running? | ✅ Available |
| USBPeek | What is connected, and at what speed? | ✅ Available |
| NetPeek | Is my network connection actually healthy? | ✅ Available |
| BatteryPeek | What is my MacBook battery actually doing? | Coming soon |
| SleepPeek | Why isn't my Mac sleeping? | ✅ Available |
| MemoryPeek | Is my Mac actually running out of memory? | ✅ Available |
| CPUPeek | What is making my Mac slow or hot right now? | ✅ Available |
| FileLockPeek | What process is using this file? | ✅ Available |
| ProcessPeek | What exactly is this process? | ✅ Available |
| DiskPeek | Which app is using my disk right now, and how full is each drive? | ✅ Available |
| EnvPeek | What environment variables does this environment see? | ✅ Available |
| DNSPeek | Which DNS servers is my Mac using, and do they respond? | ✅ Available |
| SoundPeek | Why is my audio going to the wrong place? | ✅ Available |
| UpdatePeek | What updates are available? | ✅ Available |
Open MacPeek's menu-bar icon to see the launcher. Manage utilities (or Settings → Manage utilities) lists every utility with a description, what it reads, what access it needs, and an on/off switch. A utility that is switched off does no work at all: no polling, no scanning, nothing in the launcher.
Download MacPeek-x.y.z.dmg from Releases, drag MacPeek to Applications,
launch it and look for the icon in the menu bar. Releases are Developer ID signed and notarized; verify the
download against the published SHA256SUMS.
Requires macOS 13+ and full Xcode 15+ (Swift 5.9). The standalone Command Line Tools are not enough:
SwiftUI's @State macro needs the SwiftUIMacros plugin that only Xcode ships. If you see
plugin for module 'SwiftUIMacros' not found, run
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
(see Troubleshooting the build).
swift build
swift test
swift run MacPeek # runs the menu-bar app
open Package.swift # or open it in Xcode
scripts/build-app.sh 0.1.0 # build/MacPeek.app (ad-hoc signed unless SIGN_IDENTITY is set)
scripts/make-dmg.sh 0.1.0 # dist/MacPeek-0.1.0.dmg + SHA256SUMS
MacPeek (menu-bar app) Sources/MacPeek
├─ Shell: launcher · router · utility manager · settings · about
├─ SharedUI: PeekHeader · PeekRow · StatusBadge · EmptyState · CopyButton …
└─ Utilities/<Name>/ view + module for each utility
MacPeekCore (shared, UI-free) Sources/MacPeekCore
└─ ProcessTerminationService · PermissionService · ProcessInspecting · ProcessUsageReader · ShellCommand · UtilityCatalog
<Name>Kit (one per utility, UI-free) Sources/PortPeekKit, …
└─ models · parsers · discovery · services — unit-tested with fixtures
The shell knows only utility metadata and navigation; each utility owns its models, services, views and tests. Details: docs/architecture.md. Adding a utility: CONTRIBUTING.md.
MacPeek runs as your user and never elevates privileges. It can only see and terminate what your user can. Termination never trusts a stale PID. Details: SECURITY.md.
No account, no telemetry, no cloud. MacPeek reads local system information to show it to you and never transmits it. MacPeek asks GitHub about once a day whether a newer release exists (Settings → Check for updates automatically; update downloads are verified with an EdDSA signature). Otherwise the only network traffic is what you ask for: NetPeek's pings, DNSPeek's lookups and UpdatePeek's macOS and npm checks (Apple's update servers and the npm registry), each run only when you press the button. Each utility documents exactly what it reads (see Manage utilities).
Remote management (Settings → Remote management) is off by default. While it is off MacPeek does not listen, does not
advertise itself and connects nowhere. When you turn it on, MacPeek listens on your local network and advertises itself
over Bonjour (_macpeek._tcp) so a MacPeek Remote console can find it. A console can read anything only after you pair it
on this Mac (a one-time code plus four words you compare on both screens), and every connection is end-to-end encrypted
and checked against the paired key. Actions (freeing a port, quitting a process) are a separate switch, are allowed only
for consoles you paired as "View and act", use the same safety checks as on the Mac, and are recorded in an activity log
you can read in Settings. A menu-bar dot shows whenever Remote management is on. The protocol is described in
docs/remote.md. Nothing goes through a MacPeek server: relay access from outside your network is not
part of this release.
Fourteen utilities are built (PortPeek, FileLockPeek, DisplayPeek, USBPeek, SleepPeek, MemoryPeek, CPUPeek, ProcessPeek, DiskPeek, EnvPeek, NetPeek, DNSPeek, SoundPeek, UpdatePeek); BatteryPeek is next (it needs a capture from a MacBook), then global search, accessibility and localization polish → signed releases.
See CONTRIBUTING.md and CODE_OF_CONDUCT.md. Licensed under the MIT License.