OnlySwitch

jacklandrinMIT活跃维护

把 macOS 菜单栏变成一站式控制中心,集成可定制开关、系统监控、AI Agent、快捷指令、小组件和远程控制,省去在多个小工具间来回切换。

👑 The all-in-one macOS menu bar companion: customizable controls, system monitor, AI Agent, Shortcuts, widgets, remote control, and more.

release_3.5.0发布于 2026-11-06 19:54 UTC6,045star +2 / 7 天247fork同步于 2026-11-10 11:34 UTC

怎么上手

由 README 提炼,执行前请确认
brew install only-switch
硬件要求按 README 说明

README 未说明。仅支持 macOS(徽章标注 Platform: Tahoe),部分功能需在 macOS Sonoma 及更高版本使用。

支持 Apple Silicon
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

把隐藏桌面图标、深色模式、保持唤醒等 macOS 常用开关收进一个可定制的菜单栏应用

把 macOS 菜单栏变成一站式控制中心,集成可定制开关、系统监控、AI Agent、快捷指令、小组件和远程控制,省去在多个小工具间来回切换。

核心能力

  • 集中管理可增删排序的内置开关与 Shortcuts
  • 用 Schedules 按间隔或指定时间自动执行动作
  • Sound Mixer 按应用调音量并支持 10 段均衡器
  • Brightness 用原生、DDC/CI 或软件遮罩调亮度
  • 通过 OnlyRemote 从 iPhone 或 iPad 远程控制 Mac

容易踩的坑

2.5.6 及更早版本的自动更新失效,需手动更新或用 Homebrew 重装;Dock Preview 需授予辅助功能与屏幕录制权限;Tailscale 开关需先安装官方客户端。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本release_3.5.0
  1. beta_3.6.0pre-release2026-11-08 · 2026-11-08 21:15 UTC
    查看更新说明

    New features:

    • Supported screen record

    Improvement:

    • Refactored project

    Bugfix:

    • Fix screenshots & record button issue
  2. release_3.5.0最新正式版2026-11-06 · 2026-11-06 19:54 UTC

    New features:

    • Added Schedule mode
    • Supported sync built-in screen's brightness to external displays
    • Brightness supported to manually input value
    • Redesigned settings screen
    • Desk pet supported to open Apple Music and Spotify
    • Tabs is sortable

    Bugfixes:

    • When closing Apple Music, app crashed
    • Desk pet couldn't recognize Spotify
    • Brightness sync mode didn't work
    • Memory process value was wrong
    • Memory occupation issue
  3. beta_3.5.0pre-release2026-11-04 · 2026-11-04 14:44 UTC
    查看更新说明

    New features:

    1. Task Schedule
    2. The Desk pet can hide on the screen edge
    3. Dim screen supported external screens
    4. The brightness value can be input on the tab
  4. release_3.4.02026-11-02 · 2026-11-02 20:36 UTC
    查看更新说明

    New features:

    1. Radio accesses Radio Browser API
    2. Desk pet can show the music information
    3. Top sticker supports checklist
    4. Supported OnlyRemote for screenshots

    Improvement:

    1. Update Authenticator UI

    Bugfix:

    1. Top sticker dragging issue
  5. beta_3.4.0pre-release2026-10-31 · 2026-10-31 21:22 UTC
    查看更新说明

    New features:

    1. Radio accesses Radio Browser API
    2. Desk pet can show the music information
    3. Top sticker supports checklist

    Bugfix:

    1. Top sticker dragging issue

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Listed on TakoAPI

    OnlySwitch

    A smaller menu bar starts with one all-in-one switch.

    OnlySwitch puts everyday macOS controls—such as hiding desktop icons, changing appearance, keeping the Mac awake, and managing the notch—into one customizable menu-bar app. Add, remove, and reorder switches and Shortcuts, assign keyboard shortcuts, or place controls on the desktop as widgets.

    Installation

    Homebrew

    brew install only-switch
    

    Manual download

    Download the latest OnlySwitch DMG.

    [!IMPORTANT] Automatic updating is broken in version 2.5.6 and earlier. If you are on one of those versions, update manually or reinstall with Homebrew.

    Quick start

    1. Launch OnlySwitch and enable it under System Settings → Menu Bar if macOS does not show its icon.
    2. Click the OnlySwitch menu-bar icon to open the control list.
    3. Open settings to add, remove, and reorder switches or Shortcuts, configure hotkeys, and enable optional features.
    4. On supported macOS versions, add Only Widget from the widget gallery for desktop or Notification Center access.

    To control OnlySwitch from an iPhone or iPad, install OnlyRemote from the App Store, then open iOS Remote in OnlySwitch settings to enable local-network access and pair the device.

    Features

    Highlights

    • Automate recurring Mac tasks with Schedules.
    • Import macOS Shortcuts into OnlySwitch and control switches and Shortcuts with keyboard shortcuts.
    • Customize which controls appear and arrange them to fit your workflow. Built-in switches are grouped by category and can be searched by name.
    • Manage every optional page from one place: OnlySwitch Settings → Tabs shows or hides tabs in the menu-bar list and Only Control.
    • Use Apple Widgets on macOS Sonoma and later, including Evolution controls.
    • Open the compact Only Control interface for a focused control panel.
    • Control your Mac from iPhone or iPad with OnlyRemote.
    • Enable the optional Desktop Pet, drag it anywhere, click it to show or dismiss Only Control, and skip to the next track or radio station with playback animations for Apple Music, Spotify, and Radio.
    • Enable Turn off after sleep for Keep Awake to turn it off when you manually put your Mac to sleep.

    Schedules

    Open OnlySwitch Settings → Schedules to automate supported switches, buttons, Shortcuts, and Evolutions. Run an action at a repeating interval, at a specific minute every hour, or at a set time on selected days. For example, turn Dim Screen on at 8:00 AM and off at 7:00 PM every day, or run Empty Trash every Saturday at 9:00 AM.

    Use the Schedules tab in the menu bar or Only Control to see what runs next, run an action immediately, or turn a schedule on or off. Show or hide the tab under OnlySwitch Settings → Tabs. Schedules run locally while OnlySwitch is running, even with no window open.

    Built-in switches

    SwitchStatusSwitchStatus
    Hide desktopfinishedHide notchhas known issues
    Dark modefinishedLow power moderequires initial authorization
    Screen SaverfinishedShow Finder Path Barfinished
    Night ShiftfinishedMute micfinished
    Autohide DockfinishedSmall launchpad iconfinished
    AirPodsfinishedPomodoro timerfinished
    BluetoothfinishedShow extension namefinished
    Xcode cachefinishedShow user library folderfinished
    Autohide Menu BarfinishedMutefinished
    Show hidden filesfinishedEmpty pasteboardfinished
    Radio StationfinishedEmpty trashfinished
    Keep awakefinishedShow Recent Apps on Dockfinished
    SpotifyfinishedApple Musicfinished
    Screen Test & CleanfinishedHide Menu Bar Iconspartially finished
    FKeyfinishedBack Noisesfinished
    Dim ScreenfinishedEject Discsfinished
    Hide Windowspartially finishedTrue Tonefinished
    Top Stickerpartially finishedKey Lightfinished
    Only AgentfinishedNatural Scrollingfinished
    Show desktop petfinishedTailscalerequires official client
    Dock Previewrequires Accessibility and Screen Recording

    Switches can be added to or removed from the list. Optional tabs (Authenticator, Sound Mixer, Brightness, Screenshots & Record, System Monitor, Codex Usage, Claude Usage, Aphrodite, Xcode Cleaner, and App Uninstaller) are shown or hidden under OnlySwitch Settings → Tabs; switches that only toggled a tab have been replaced by this page.

    Sound Mixer

    Sound Mixer sets the volume and mute state of each app that is playing audio. On macOS 14.4 or later, each app can also expand its own 10-band equalizer (−12 to +12 dB, with a flat reset) and route its audio to one or more output devices at the same time. Equalizer settings and output selections are remembered per app; selecting no output follows the system default. If every selected device is disconnected, the app's original audio is restored until a selected device returns.

    When the current output is an external display with speakers, the keyboard's volume up, volume down, and mute keys adjust the display's volume over DDC/CI and show a volume HUD. Holding Shift+Option steps in finer increments. Capturing these keys requires Accessibility permission.

    Brightness

    The Brightness tab shows one slider per active display. OnlySwitch uses native brightness control for Apple displays, DDC/CI for compatible external monitors, and a software dimming overlay when hardware control is unavailable; each row shows which method is in use. Options under OnlySwitch Settings → Display add smooth transitions, combined hardware and software dimming for an extra-dark range, synchronization with the built-in display, and an opt-in zero software brightness.

    The keyboard's brightness keys adjust the external display under the pointer, using the same fine-step modifier as volume keys. On the built-in display, macOS behavior is unchanged. Software dimming changes image brightness rather than the physical backlight.

    Screenshots & Record

    The Screenshots & Record tab collects your screenshots and screen recordings in one list. Enable Collect screenshots and recordings under OnlySwitch Settings → Screenshots & Record to save system captures and ⇧⌘5 recordings, iOS Simulator screenshots and recordings, and Xcode Device Hub screenshots and recordings to ~/Pictures/OnlySwitch Screenshots; OnlySwitch backs up your previous capture settings and restores them when you turn collection off. New captures fly into the list automatically; a recording flies in as its first frame.

    Click an item to copy it, double-click to open it, drag it out to share it, or pin it to the top of the list. Recordings show a video badge with their length and are copied as files. The built-in editor adds pen strokes, rectangles, ellipses, arrows, and blur to screenshots, with undo and redo; saving overwrites the original file in its original format. Recordings can't be edited. Deleting moves files to the Trash, and Delete All keeps pinned items. Assign an optional keyboard shortcut on the Screenshots & Record settings page to open or close the tab. Clipboard-only captures are not collected.

    Dock Preview

    Hover over an app in the Dock to see thumbnails of its open windows, then click a thumbnail to bring that window to the front. When you hover over Apple Music or Spotify, the preview also offers previous, play or pause, and next controls. Enable the Dock Preview switch and grant Accessibility and Screen Recording permissions when prompted.

    Tailscale

    Install and set up the official Tailscale client, then open OnlySwitch Settings → Tailscale to manage saved accounts, exit nodes, and supported network preferences. The Tailscale switch connects or disconnects the active account; its connected subtitle lets you copy your Mac's Tailscale IP.

    Xcode Cleaner

    Open OnlySwitch Settings → Xcode Cleaner, or show its tab in the menu-bar list or Only Control from Settings → Tabs. Scan your development data, review the selected items, and confirm cleanup. Supported items include DerivedData, Xcode and SwiftPM caches, simulator caches and logs, simulator devices and runtimes, and DeviceSupport files. Source projects and archives are excluded.

    App Uninstaller

    Open OnlySwitch Settings → App Uninstaller, or show its tab in the menu-bar list or Only Control from Settings → Tabs. Drop an app or choose one, review the application and matching related files, then confirm which items to move to Trash. Discovery covers supported locations matched by bundle identifier, so the results may not include every related file.

    Dock Preview, Tailscale, Xcode Cleaner, and App Uninstaller are local Mac features and are unavailable in Only Widget or OnlyRemote. Screenshots & Record is unavailable in Only Widget; OnlyRemote Plus can view, copy, drag, and delete screenshots and play, drag, and delete recordings, but not edit them.

    Shortcuts Gallery

    Anyone can contribute macOS Shortcuts. See How to contribute to the Shortcuts Gallery.

    ShortcutRemarkShortcutRemark
    Toggle Scroll DirectionMontereyInvert Scroll Direction (Ventura)Ventura
    DarkMode SwitchNetwork Details
    Split-Screen AppsPasswords
    Google TranslateIP Address Information
    Autohide menu bar in full screenMontereyFlush DNS Cache
    Do Not DisturbMonterey or laterUpcoming Events
    S-GPTworks with S-GPT Encoder, needs OpenAI API keyS-GPT Encoder

    Shortcuts actions

    ActionStatus
    Get wallpaper imagehas known issues
    Get wallpaper URLfinished
    Is dark modefinished
    Set dark modefinished

    Evolution

    Evolution lets you build custom switches and buttons backed by Shell or AppleScript, invoke them with hotkeys, and share them through the Evolution Gallery. Evolution requires macOS 13 or later, and its settings are implemented with The Composable Architecture.

    Evolution scripts run locally with the permissions of OnlySwitch. Review scripts before saving or importing them, especially scripts that execute shell commands, Apple Events, or privileged operations.

    Anyone can contribute an Evolution. See How to contribute to the Evolution Gallery.

    EvolutionRemarkEvolutionRemark
    Stage ManagerUpdate Softwareinstalled via App Store
    Hide desktop WidgetSonomaHide Desktop IconsSonoma
    ClamshellWi-Fi Switch
    Creating an Evolution

    Evolution supports two types:

    1. A Button runs its script when you press Run.
    2. A Switch has four editable fields:
      • Check status: runs when the OnlySwitch list appears or settings change. The debug button shows the script output.
      • True condition: defines the output that represents the on state.
      • Turn on: changes the state to on.
      • Turn off: changes the state to off.

    Every script must pass the built-in test before the Evolution can be saved.

    Aphrodite

    Aphrodite builds mini apps from natural language. Describe what you want, choose a configured AI provider and model, then generate, run, edit, save, share, or import the result. Aphrodite requires macOS 26 or later and uses the model-provider settings configured in OnlySwitch.

    Only Agent and OpenClaw

    Only Agent lets you describe a task in English and generates AppleScript to control your Mac. When Agent mode is enabled, the generated script is executed immediately. Only Agent supports Ollama, OpenAI, and Gemini providers and requires macOS 26 or later. Provider-backed requests may send your prompt to the provider you select; review both the prompt and generated script before enabling immediate execution.

    You can also control OnlySwitch with natural language through OpenClaw. Say things like “empty trash”, “toggle keep awake”, or “turn on dark mode” to trigger the matching switch through a deeplink. See OpenClaw setup for installation as an extra skill directory or under ~/.openclaw/skills.

    System Monitor

    System Monitor shows live CPU, GPU, memory, disk, and network usage. Open its tab in Only Control, then choose dashboard cards and optional menu-bar indicators under OnlySwitch Settings → System Monitor. CPU and memory cards can expand to show the busiest processes. Network Details includes Wi-Fi or Ethernet information, local and public IP addresses, and—when macOS exposes them—SSID, signal strength, and link rate.

    Enabled menu-bar indicators keep sampling while the Only Control popover is closed. The minimum sampling interval is one second. Public-IP lookup sends external requests to ipify's IPv4 and IPv6 endpoints; results are cached for up to five minutes.

    Some values may be unavailable when the hardware or macOS does not expose them, including temperature readings. GPU reporting relies on private, undocumented macOS APIs and may stop working after a system update. Network usage is system-wide; per-process network rates are not available.

    When a process is associated with a regular macOS application, click its row in the CPU or memory process list to activate that application. Protected or background-only processes may not be activatable.

    Codex Usage and Claude Usage

    Codex Usage is an optional built-in tab showing the signed-in Codex account's plan, remaining five-hour and weekly usage, reset times, available credits, and reset-credit information. It uses the existing local Codex sign-in, so OnlySwitch does not require a separate sign-in.

    Claude Usage shows the Claude Code account's plan and its reported five-hour, weekly, model-specific, and extra usage. It reads your existing Claude Code sign-in; if the credentials have expired, sign in to Claude Code again.

    Turn on Codex Usage or Claude Usage under OnlySwitch Settings → Tabs to show them in OnlySwitch and Only Control.

    OnlyRemote

    OnlyRemote controls OnlySwitch from iPhone or iPad over the local network. Open iOS Remote in OnlySwitch settings to enable access and pair a device. Choose which tabs appear under OnlyRemote's Settings → Tabs; Controls is always shown, while System Monitor, Codex Usage, Claude Usage, Sound Mixer, Brightness, Screenshots & Record, and Aphrodite are optional.

    OnlyRemote Plus unlocks the Sound Mixer tab (per-app volume, mute, equalizer, and output routing), the Brightness tab (per-display brightness), the Screenshots & Record tab (view, copy, drag, and delete Mac screenshots; play, drag, and delete screen recordings up to 512 MB), and Aphrodite. The Sound Mixer, Brightness, and Screenshots & Record tabs need the latest OnlySwitch on the Mac; recordings appear only when the Mac runs an OnlySwitch version that supports them. If the iPhone or iPad cannot find your Mac, both apps show the discovery error.

    Only Widget

    Only Widget can be configured with supported built-in switches and buttons and placed on the desktop or in Notification Center. Clicking a widget triggers the corresponding control. Evolution is supported in widgets.

    Screen Test & Clean

    Screen Test opens a full-screen solid-color view for checking dead pixels or cleaning the display. Use the left and right arrow keys to cycle through black, white, red, green, and blue.

    Known limitations and troubleshooting

    OnlySwitch crash reports

    OnlySwitch starts watching for new crash reports the first time you open the updated app. On later launches, it shows a notice for the newest report it has not already handled. If macOS is still writing the report when you reopen OnlySwitch, a later launch can still find it. Select Show in Finder to find the .ips file if you want to attach it to a bug report. OnlySwitch does not upload the file.

    If there is no notice, open Console → Crash Reports and look for OnlySwitch. This also works for older reports or when OnlySwitch cannot finish launching.

    OnlySwitch icon missing from the menu bar

    OnlySwitch is accessed through its menu-bar icon. On macOS 26.2, the app can appear not to open when it is disabled in the system menu-bar settings.

    1. Open System Settings → Menu Bar.
    2. Find OnlySwitch and enable it.
    3. Click the OnlySwitch icon in the menu bar.

    If the icon is still missing, other items may be using all available space. Remove or hide some items. If you use OnlySwitch's collapsing feature, also review Hide Menu Bar Icons. If the issue continues, add your macOS version, OnlySwitch version, and menu-bar setting to issue #188.

    Hide Menu Bar Icons

    When enabled, items to the left of the divider (arrow) icon are hidden. Hold Command and drag menu-bar icons to configure the hidden section. Settings let you disable the feature or change its auto-hide interval. If the date becomes truncated, choose System Settings → Control Center → Clock Options → Show date → Always. The switch can also be controlled by right-clicking its icons.

    On macOS 27 or later, OnlySwitch uses the system's native menu-bar visibility mechanism. The first collapse requests Accessibility permission so OnlySwitch can keep icons to the right of its divider visible. If permission is denied or a macOS update makes the integration unavailable, the menu bar remains unchanged and the switch stays off.

    This macOS 27 integration relies on a private API, is not suitable for Mac App Store distribution, and may stop working after a macOS update. While active, macOS also hides Now Playing and may hide Camera, AirDrop, Focus, and Timer; OnlySwitch cannot exempt these system-level items.

    For development testing on macOS 27, run the signed build from /Applications, not Xcode's DerivedData directory. The system visibility matcher may fail to recognize a DerivedData-launched app and hide OnlySwitch's icons. Quit the Xcode-run instance before launching the Applications copy.

    If both OnlySwitch icons disappear after Command-dragging the divider, re-enable OnlySwitch under System Settings → Menu Bar → Allow in the Menu Bar. macOS 27 can disable the entire app when an older, non-removable status item is dragged; current builds mark both OnlySwitch items as removable to prevent this.

    Hide notch

    Hide notch appears only on the built-in display of M1 Pro/Max MacBook Pro models. It controls the current desktop rather than every workspace. Dynamic wallpapers are supported but take longer to process.

    Low Power Mode

    Low Power Mode uses commands that require root access. OnlySwitch asks for initial authorization to install or authorize its privileged helper; subsequent toggles do not prompt again while that authorization remains valid.

    AirPods detection

    OnlySwitch uses classOfDevice value 2360344 to identify AirPods Pro. Other AirPods generations may report a different value. Reports from AirPods 1–3 owners are welcome; battery-value count may be a possible fallback.

    Radio Player

    Radio Player supports M3U and AAC streams. If it crashes, include the crash log and stream URL in your report. Disabling the sound-wave effect in Radio settings uses the more stable AVPlayer path. Disabling Radio hides its switch and unregisters it from Now Playing, though macOS may introduce a short delay. Radio lists can be exported and imported.

    Widget language after updating

    After updating from version 2.5.0, you may need to reset the app language. If widgets do not follow the selected language, quit the Only Widget process so it reloads the setting.

    Development

    Start with ARCHITECTURE.md, the source of truth for project boundaries and engineering constraints.

    • OnlySwitch/ is the main macOS menu-bar app and owns app-specific UI, persistence, audio, and system integrations.
    • OnlyWidget/ is the widget extension and uses extension-safe shared models and effects.
    • OnlySwitchRemote/ is the remote-control app and shares protocol contracts without importing main-app implementation details.
    • Modules/ is the primary Swift Package boundary for features, domain models, networking, remote transport, and shared utilities.
    • OpenClaw/ contains the deeplink-based natural-language integration and its setup documentation.

    The app follows The Composable Architecture and uses injected dependencies for effects. Keep business logic out of SwiftUI views, preserve Swift 6 concurrency safety, and treat shell commands, Apple Events, keychain access, networking, system settings, and user permissions as explicit, testable boundaries.

    Community and contributions

    Join the Telegram group or Discord server.

    Pull requests are welcome, especially for bug fixes and additional translations. If you have another idea, open an issue or send the maintainer an email.

    Supported languages

    English, Simplified Chinese, German, Croatian, Turkish, Polish, Filipino, Dutch, Italian, Russian, Spanish, Japanese, Somali, Korean, French, Ukrainian, Slovak, Portuguese (BR), and Czech.

    Donate

    If OnlySwitch is useful to you, support its development with a donation.

    Press and mentions

    itopnews.deIfun.deappgefahren.deCASCHYS BLOG
    softpediamacupdatev1txOSCHINA
    MackenAAPL Chappsofterlifehacker.ru
    appletechnikblogAll-in-One personMac GadgetMaxiApple
    insmactchgdnsinsmacmacbff
    korbenmacgkorbenAlternativeTo
    macsoft.jpmacgenerationhdwh.deMacKed
    Mac TorrentsPCtipplifehackerPHAPLUAT
    TechgedönsMacVinceonmymenubar

    Contributors

    Translation
    LanguageContributorLanguageContributor
    German@C0d3Br3akerItalian@bellaposa
    Croatian@milotypeRussian@kirillyakopov
    Turkish@berkbatuhansSpanish@kant
    Polish@kpacholakJapanese@ShogoKoyama
    DutchAlexSomali@abdorizak
    FilipinoRoselKorean@iosdevted
    French@BtKent and Ange LefrèreUkrainian@andryua
    Slovak@Svec-TomasPortuguese (BR)@EvertonCa
    Czech@ForksApps

    Additional thanks to:

    • @wrngwrld for the Radio Player volume slider.
    • @kant for syntax fixes.
    • @Ryderwe for Authenticator.
    • @lou1s19 for Claude models in Only Agent, Sound Mixer, and external-monitor dimming.
    • @oecer for settings backup.

    Acknowledgements

    License

    OnlySwitch is available under the MIT License.