Android
Нативный клиент на Kotlin и Compose, пакет net.varyen.clauder. Все экраны свои, а не веб-морда в webview: главная с дашбордом, проекты, чаты, лента сессии, чат с агентом, субагенты, экран агентов, расход, браузер файлов, git, терминал, устройства Android, шаблоны, настройки.
Подключение
Снимком QR-кода на вводном экране: адрес и ключ вводить руками не нужно. Код показывает карточка «Это подключение» в настройках сервера. Снять его можно и обычной камерой телефона: ссылка в коде откроет приложение сразу на экране подключения с заполненными полями.
Переехали на другой адрес — код пересобирается, и телефон подхватит его тем же снимком.
Уведомления
Держит foreground-служба со своим SSE-потоком. Firebase нет вовсе: это значит, что уведомления идут напрямую с вашей машины и не зависят ни от чьего облака, но и телефон должен разрешить службе жить в фоне.
Приходят они обо всём, что происходит на машине, а не только о чатах, начатых с телефона: вопрос от claude в терминале доедет так же — если подключены хуки.
Подробности про то, чем это отличается от Web Push, — в разделе Уведомления.
Где пойдёт сессия
Форма нового чата начинается со строки «Где» — с выбора машины, а не папки: каталоги, модели и команды у каждой машины свои. Машина здесь — это профиль сервера, и слотов четыре: домашний, запасной, ещё один и сам телефон.
Сервер на телефоне приложение поднимает само — с рутом через su, без рута через службу команд Termux, — и показывает, на какой стадии подъём. Чат, начатый на телефоне, автоматически никуда не переезжает, даже если телефонный сервер замолчал: молчание там обычное состояние, а не поломка.
Подробно — Где идёт сессия.
Без подписки Claude приложение предлагает короткое окно: облако (DeepSeek, OpenRouter, Kimi…), ключ API и одна кнопка — проверка, подключение и переключение новых чатов на это облако. Оно открывается из окна входа в Claude и из плашки на главной. С сервером на самом телефоне то же делает карточка в компаньоне Clauder Runtime. Подробно — Модели и провайдеры.
Где отличается от веб-морды
Терминал — без полной эмуляции: вывод показывается текстом, вычищенным от ANSI-последовательностей, ввод — строкой по Enter, а клавиш, которых нет на экранной клавиатуре, — кнопками: Ctrl+C, Tab, стрелки истории, Esc, Ctrl+D. Курсорные программы (vim, top) — в веб-морду.
Установка — подписанный APK; сборки выдаются по запросу в Telegram @varyen. В сторах приложения нет. Дальше приложение обновляется само: свою версию оно проверяет без сервера, по кнопке «Обновить» в настройках качает APK и открывает установщик системы. Там же обновляется Claude Code — в том числе внутри WSL и в компаньоне Clauder Runtime, а о новых версиях служба сообщает уведомлением в канале «Обновления». Подробнее — Обновление.
Остальное держится в паритете намеренно: возможность, появившаяся в веб-морде, приезжает в Android отдельной правкой, а не «когда-нибудь».