Кодинг на бегу: как Litter превращает смартфон в IDE с ИИ
Представьте ситуацию: вы едете в метро или стоите в очереди, и вдруг в голову приходит отличная идея для рефакторинга или исправления бага. Обычно приходится либо записывать мысль в заметки, надеясь не забыть детали, либо доставать ноутбук, пытаясь балансировать им на коленях. Проект Litter предлагает другой путь — полноценный мобильный клиент для работы с AI-агентами прямо с телефона.
Это не просто очередная обертка над ChatGPT. Litter подключается к Codex (инструменту для агентного программирования) и позволяет запускать сложные рабочие процессы, управлять сессиями и даже использовать голосовой ввод для написания кода.
Что умеет этот мобильный клиент
Основная задача проекта — перенести мощь современных языковых моделей в форм-фактор смартфона, не теряя при этом в функциональности.
Работа с локальными и удаленными серверами
Вы не привязаны к какому-то одному облаку. Приложение умеет подключаться к вашим собственным инстансам Codex. Это полезно, если вы подняли сервер внутри своей сети или используете специфические настройки окружения. В интерфейсе можно легко переключаться между разными точками доступа.
Генеративный интерфейс
Это интересная фишка: приложение не просто выводит текст, оно адаптирует элементы управления под контекст задачи. Если AI генерирует какой-то интерактивный контент, интерфейс перестраивается, чтобы с этим было удобно взаимодействовать.
Голос и мультимодальность
Набирать код на экранной клавиатуре — сомнительное удовольствие. Разработчики Litter добавили поддержку Realtime Voice. Можно буквально продиктовать задачу: «Создай компонент кнопки с градиентом», и наблюдать за результатом.
Как это устроено внутри
С технической точки зрения проект примечателен своим подходом к кроссплатформенности. Вместо того чтобы писать всё на Flutter или React Native, автор выбрал связку Native UI + Rust.
Архитектура выглядит так:
- Ядро на Rust: Общая логика (
codex-mobile-client) отвечает за состояние сессий, стриминг ответов, аутентификацию и сетевое взаимодействие. - UniFFI: Инструмент, который генерирует обертки (bindings) для Swift и Kotlin, позволяя вызывать Rust-код напрямую.
- Тонкий нативный слой: UI на Swift (iOS) и Kotlin/Compose (Android) занимается только отображением и доступом к системным функциям вроде микрофона.
Такой подход дает высокую производительность и предсказуемое поведение приложения, при этом не нужно дублировать сложную бизнес-логику для двух платформ.
Как попробовать
Если вы хотите собрать приложение самостоятельно, вам понадобятся стандартные инструменты разработки под мобилки и установленный Rust. В репозитории предусмотрены удобные команды через make:
make ios-sim-fast # для запуска в симуляторе iOS
make android-emulator-fast # для запуска на эмуляторе Android
Для полноценной сборки под устройство или настройки SSH-доступа лучше заглянуть в папку docs/, там лежат подробные инструкции по окружению.
Для кого этот проект
Litter вряд ли заменит полноценную IDE на 32-дюймовом мониторе, но он отлично закрывает нишу «быстрого вмешательства». Он подойдет тем, кто:
- Использует Codex в своей работе и хочет иметь к нему доступ 24/7.
- Экспериментирует с AI-агентами и ищет удобный мобильный интерфейс.
- Интересуется тем, как Rust встраивается в мобильные приложения через UniFFI — это отличный пример для изучения архитектуры.
Проект активно развивается, и автор честно предупреждает, что большие PR пока могут конфликтовать с текущими задачами. Тем не менее, это один из самых продуманных Open Source клиентов для работы с LLM на мобильных устройствах, который я видел за последнее время. Код чистый, архитектура понятная, а возможность прикрутить свой сервер дает ту свободу, которой часто не хватает в закрытых мобильных приложениях.