Hammerspoon как локальный сервер и “пульт” управления
Одна из самых практичных вещей в моём сетапе Hammerspoon: он работает не только как хоткеи, но и как локальный HTTP-сервер. Это превращает Mac в “хаб”, который можно дергать командами с других устройств.
Как это устроено
- Поднимается HTTP server на фиксированном порту (в моём случае 9876).
- Авторизация сделана через header token (X-Auth-Token) вместо Basic Auth, потому что так удобнее и стабильнее интегрироваться с Shortcuts.
- Есть простой rate limit (минимальный интервал между вызовами), чтобы не спамить одинаковыми командами и не ловить гонки.
- Есть health-check / watchdog: сервер регулярно проверяет /ping и, если что-то пошло не так, перезапускается. То есть он не “умирает тихо”.
Что даёт на практике
Получается очень прямой “пульт управления”, где каждый endpoint это действие:
- медиа-команды по конкретным приложениям (например, Twitch/YouTube/Spotify/Music/Podcasts/Books)
- системные команды, включая pmset displaysleepnow (быстро погасить дисплеи)
Ключевой момент: это не “универсальная кнопка”, а точечные сценарии, завязанные на конкретные приложения и нужную последовательность шагов (активация, задержка, команда и т.д.).
Архитектура
- Mac Studio выступает как хаб: он выполняет действия локально и предсказуемо.
- Shortcuts на iPhone или другом Mac выступают как клиенты: нажал кнопку → ушёл HTTP-запрос → на Mac выполнилась команда.
Это даёт ощущение “домашнего пульта”: управление медиа и системными действиями не привязано к тому, где сейчас руки, какое окно активно и на каком устройстве ты находишься.
Дальше разберу связку Hammerspoon + displayplacer: авто-раскладка экранов без ручной правки.
Оглавление темы 📌
Навигация по проектам канала 📍
Все проекты 🎶
#macOSAutomation@annsFlow
💻 annFlow
Post #87
36