Phone Use CLI
Приложение, CLI, MCP и скилл дают Claude Code и Codex смотреть на неизмененный iPhone и нажимать на нем, без джейлбрейка и кабеля.
- 638 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Агент получает ввод на реальном телефоне: может открывать приложения, читать уведомления и менять настройки.
- Установка на Linux требует sudo и отключает Bluetooth-плагин ввода у `bluetoothd`.
Установка
- Работает в
Ручная установка
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`).
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыДает Claude Code и Codex управлять настоящим iPhone: читать экран, нажимать, вводить текст и листать в любом приложении
MCP-сервер, который ставится на iPhone с джейлбрейком и дает агенту 46 инструментов: касания, снимки экрана, OCR, приложения, файлы, логи
MCP-сервер и плагин: агент видит экран iPhone через плату ESP32 за 7 долларов, нажимает, листает и печатает без изменений в iOS.
claude-in-mobile — управление телефоном и приложениями
claude-in-mobile
MCP-сервер: агент управляет Android, iOS-симулятором, HarmonyOS, Aurora, десктопом и браузером, снимает экран и отлаживает приложения
mobilecli управляет iOS- и Android-устройствами, эмуляторами и приложениями из терминала, а скилл учит этому Claude Code
Скиллы и CLI, чтобы Claude Code, Codex и OpenCode управляли Android-телефоном: открывали приложения, нажимали, вводили текст и тестировали сценарии
Коротко о 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).