Установка
Демон запускается на Mac, которым вы хотите управлять. На телефоне ничего устанавливать не нужно — Mini App открывается прямо в Telegram.
Требования
- macOS 12 Monterey или новее
- Node.js 22 или новее (или Bun 1.x)
- Аккаунт Telegram
SESSION_TOKEN— предоставляется при получении доступа к Teleportus
Установка демона
Запустите на своём компьютере:
npx remote-claude-daemon@latest --token {{SESSION_TOKEN}}SESSION_TOKEN приходит в приветственном сообщении от бота.
При первом запуске демон компилирует небольшой Swift-бинарник для захвата экрана — это занимает около пяти секунд и происходит только один раз.
Затем macOS попросит два разрешения. Оба обязательны:
| Разрешение | Для чего |
|---|---|
| Запись экрана | Захват кадров для стриминга на телефон |
| Универсальный доступ | Управление мышью и нажатие клавиш удалённо |
Выдайте их в Системных настройках → Конфиденциальность и безопасность и перезапустите демон если нужно.
Иконка в menu bar
После запуска Teleportus добавляет иконку в menu bar macOS. Нажмите на неё, чтобы увидеть:
- Статус подключения и релей, к которому вы подключены
- Аптайм — сколько времени работает демон
- Количество зрителей — сколько человек смотрят
- Статус видео / микрофона — транслируется ли каждый из них сейчас
- Переключатели Транслировать экран и Транслировать камеру
- Трансляция микрофона (⌘M)
- Выход (⌘Q)

Автозапуск через launchd (необязательно)
Необязательный шаг
Нужно, только если хотите чтобы демон стартовал сам при входе в систему. Для обычного использования достаточно запускать команду вручную.
Чтобы демон запускался автоматически при входе в систему, создайте plist-файл по пути ~/Library/LaunchAgents/com.teleportus.daemon.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key> <string>com.teleportus.daemon</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/npx</string>
<string>remote-claude-daemon@latest</string>
<string>--token</string>
<string>your-session-token</string>
</array>
<key>RunAtLoad</key> <true/>
<key>KeepAlive</key> <true/>
</dict>
</plist>Загрузите его:
launchctl load ~/Library/LaunchAgents/com.teleportus.daemon.plistРежим отладки
Запустите с --debug для подробных логов:
npx remote-claude-daemon@latest --token {{SESSION_TOKEN}} --debugБудут показаны тайминги кадров, события ввода, попытки переподключения WebSocket и ошибки выдачи разрешений macOS (Запись экрана и Универсальный доступ).
Удаление
launchctl unload ~/Library/LaunchAgents/com.teleportus.daemon.plist
rm ~/Library/LaunchAgents/com.teleportus.daemon.plist
npm uninstall -g remote-claude-daemonРазрешения macOS при желании отзовите в Системных настройках → Конфиденциальность и безопасность.