Phone Use CLI

Приложение, CLI, MCP и скилл дают Claude Code и Codex смотреть на неизмененный iPhone и нажимать на нем, без джейлбрейка и кабеля.

  • 638 ★ репозитория
  • Последний коммит
  • MIT
CLI

Широкий доступ

Почему такой уровень

  • Агент получает ввод на реальном телефоне: может открывать приложения, читать уведомления и менять настройки.
  • Установка на Linux требует sudo и отключает Bluetooth-плагин ввода у `bluetoothd`.
Все причины и проверки

lxe/phoneuse

Установка

Работает в

Ручная установка

git clone https://github.com/lxe/phoneuse.git ~/phoneuse
ln -s ~/phoneuse/bin/phoneuse ~/.local/bin/phoneuse
phoneuse install

Запуск из исходников на Linux из docs/SOURCE.md. Шаг phoneuse install требует sudo.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Агент получает ввод на реальном телефоне: может открывать приложения, читать уведомления и менять настройки.
  • Установка на Linux требует sudo и отключает Bluetooth-плагин ввода у `bluetoothd`.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Phone Use показывает экран iPhone в окне на компьютере и принимает ввод так, как это делают Bluetooth-мышь и клавиатура. Экран приходит по AirPlay, ввод уходит по Bluetooth HID, а на самом iPhone ставится приложение Phone Use из App Store. Джейлбрейка и кабеля не нужно, телефон и компьютер должны быть в одной сети Wi-Fi. Человек работает с телефоном мышью и клавиатурой прямо из окна, а агент подключается кнопкой «Connect Claude Code» в приложении. Перед тем как агент возьмет управление, Phone Use может спросить разрешения на самом iPhone, а перехватить управление можно в любой момент. Пока iPhone-приложение не связано с компьютером, агентам отказывают во всех действиях. Агент управляет телефоном командами `phoneuse` или MCP-инструментами: `look`, `tap`, `tap_on`, `scroll`, `type_text`, `open_app`, `navigate`, `read_notifications` и другими. Каждое действие ждет до трех секунд первого видимого изменения на экране. Для Linux есть Flatpak, для macOS 15 и новее образ `dmg` вместе с отдельным мостом, а для Windows пока запуск из исходников. Мост на плате LilyGO T-Display работает как Bluetooth-клавиатура и мышь по Wi-Fi и оставляет Bluetooth компьютера свободным.

Для кого. Разработчикам мобильных приложений и тестировщикам, которым нужно, чтобы Claude Code или Codex проверял сценарии на реальном iPhone с Linux, macOS или Windows.

Подходит, если

  • Нужно проверить сценарий в приложении на настоящем устройстве, а не в симуляторе.
  • Агенту надо открыть приложение, прочитать уведомление или изменить настройку телефона.
  • Тестировщик хочет повторить действие вручную мышью и сразу передать следующий шаг агенту.
  • Автоматизировать приложение через XCUITest невозможно, потому что к его исходникам доступа нет.

Не подходит, если

  • Нужно управлять телефоном без вашего присутствия: приложение просит разрешения и требует связи с iPhone.
  • Нет возможности завести Bluetooth-плату или отдать Bluetooth компьютера под клавиатуру и мышь для телефона.
  • Проект ждет стабильности: автор называет Phone Use альфа-версией.

Пример запроса к агенту

Открой на iPhone приложение «Настройки», найди раздел Wi-Fi и скажи, к какой сети телефон подключен.

Ограничения

Phone Use находится в альфа-версии. Проверялись iPhone 17 Pro с iOS 26, Arch Linux с BlueZ 5.87 и Hyprland 0.56.

Экран передается зеркалированием AirPlay, и запускает его человек из Центра управления iPhone, из компьютера это сделать нельзя. Указатель включают через AssistiveTouch, при включенном Dwell Control iOS нажимает там, где остановился курсор.

Команда `phoneuse install` на Linux требует sudo, отключает плагин ввода в `bluetoothd` и тем самым лишает компьютер Bluetooth-клавиатур и мышей. Отменяется скриптом установки с ключом --uninstall.

Как отключить. Остановите Phone Use и отзовите связь с iPhone-приложением. На Linux выполните `sudo scripts/install.sh --uninstall`, чтобы убрать службу `phoneuse-hid` и вернуть плагин ввода `bluetoothd`.

Частые вопросы

Нужен ли джейлбрейк или кабель?

Нет. Экран идет по AirPlay, ввод по Bluetooth, а на iPhone ставится приложение из App Store. Телефон и компьютер должны быть в одной сети Wi-Fi.

Как подключить Claude Code?

В приложении Phone Use нажмите «Connect Claude Code». Подключение настраивает приложение, а скилл и MCP-сервер `phoneuse` лежат в репозитории. Пока iPhone-приложение не связано с компьютером, ему отказывают во всех действиях.

Что такое мост и нужен ли он?

Мост нужен для macOS: плата LilyGO T-Display, которая выступает Bluetooth-клавиатурой и мышью по Wi-Fi. На Linux он необязателен и освобождает Bluetooth компьютера.

Как включить указатель на iPhone?

Выполните `phoneuse cursor on`: Phone Use голосом просит Siri включить AssistiveTouch. Либо включите его в настройках Универсального доступа и держите Dwell Control выключенным.

Работает ли на Windows?

Пока только из исходников, описание лежит в docs/WINDOWS.md. Готовые сборки есть для Linux (Flatpak) и macOS 15 и новее (`dmg`).

Обсуждение

Вопросов и отзывов пока нет.

Дает Claude Code и Codex управлять настоящим iPhone: читать экран, нажимать, вводить текст и листать в любом приложении

MCP-серверШирокий доступ494Звезды репозитория

MCP-сервер, который ставится на iPhone с джейлбрейком и дает агенту 46 инструментов: касания, снимки экрана, OCR, приложения, файлы, логи

MCP-серверШирокий доступ690Звезды репозитория

MCP-сервер и плагин: агент видит экран iPhone через плату ESP32 за 7 долларов, нажимает, листает и печатает без изменений в iOS.

MCP-серверШирокий доступ4,9 тыс.Звезды репозитория

mobilecli управляет iOS- и Android-устройствами, эмуляторами и приложениями из терминала, а скилл учит этому Claude Code

CLIШирокий доступ317Звезды репозитория

Скиллы и CLI, чтобы Claude Code, Codex и OpenCode управляли Android-телефоном: открывали приложения, нажимали, вводили текст и тестировали сценарии

СкиллШирокий доступ1,8 тыс.Звезды репозитория

Коротко о README

README короткий: ссылки на сайт и релизы, предупреждение об альфа-версии, три шага установки, способы работы человеком и агентом, описание моста и список документов для запуска из исходников, Windows, архитектуры и API приложения.

Бейдж для README

Исходный SKILL.md

---
name: phoneuse
description: See and operate the user's iPhone from this PC (Linux or Windows) with the `phoneuse` CLI (AirPlay mirror for the screen, Bluetooth mouse/keyboard for input). Use when a task needs the iPhone: open or use an app, read what is on the phone screen, tap, type, swipe, check a notification, change a phone setting, or test something on the device. Also use when the mirror or the Bluetooth link needs starting or fixing.
---

# Operating the iPhone with Phone Use

The `phoneuse` command drives a real, unmodified iPhone. Its screen arrives over
AirPlay as a mirror window on this PC and as a live page at
http://localhost:8777, and input goes in as a Bluetooth mouse and keyboard.
Everything an agent does is a `phoneuse` subcommand; run `phoneuse --help` for
the full list.

## Before acting

1. Run `phoneuse status`. You need `iPhone app: 1 paired` (or more), `HID service:
   active`, `connected=True`, and `Mirror window: ... showing the phone` (Windows:
   `Mirror: showing the phone`). "not paired": stop and ask the user to pair the Phone
   Use app (Pair iPhone in the Phone Use window); every action is refused until they
   do. If something is off and you don't see why, `phoneuse doctor` checks the whole
   setup and prints the fix for each problem.
2. No mirror window: check whether `phoneuse up` is running. If it isn't, start it
   somewhere the user can see it (a terminal or tmux window they use), not hidden in
   the background. "not mirroring" (or no window): ask the user to start Screen
   Mirroring to this PC's receiver ("Phone Use on <computer>"; `phoneuse status`
   names it) from the iPhone's Control Center. You can't start
   mirroring from the PC, and every input command refuses until it runs.
3. **Show the user the phone** before your first action, so they can watch what
   you do: open http://localhost:8777 (`phoneuse view --print` prints the address).
   If you have a browser of your own, such as a built-in browser pane, open it
   there. Otherwise run `phoneuse view`, which opens it in the user's default
   browser. Do this once per task; if the page is already open, leave it. The page
   is for the user to watch: act through `phoneuse` commands, never by clicking in
   the page.
4. `connected=False`: run `phoneuse status` again after a few seconds (the daemon
   reconnects), then ask the user to tap "Phone Use" in the iPhone's Bluetooth settings
   (Windows: the PC's name, which `phoneuse status` shows as `name=`).
5. HID service not active: on Linux `phoneuse install` (needs sudo) sets it up; on
   Windows `phoneuse up` starts it (it keeps running after `up` stops).

Сообщить о проблеме