Оставьте себе терминалы Claude Code, Codex и OpenCode — или работайте из приложения
Happier запускает их как ту же самую сессию, которую вы запустили бы сами, — так что управлять ею можно из их собственного TUI, с телефона или сразу с обоих, и сессия этого не заметит.
Если вы живёте в терминале, большинство текстов про запуск агентов программирования с телефона читаются как просьба перестать. Отказаться от такого — справедливо. Ничто в экране телефона не лучше, чем tmux и клавиатура, для той части работы, в которой вы действительно хороши.
Поэтому утверждение здесь уже. Сессия Happier — это одна сессия с двумя фронтендами: терминал на компьютере, который делает работу, — один из них, приложение на телефоне — второй. Переключение между ними не запускает ничего нового: идентификатор сессии, транскрипт, режим разрешений и сообщения в очереди — это те же самые объекты по обе стороны переключения.
Начните в терминале или в приложении и переходите между ними
- Начните в терминале
- Выполните
happierв репозитории — и вы получите агента по умолчанию с подключённым приложением.happier codex,happier opencode,happier geminiи остальные из реестра — то же самое, только направленное на другой CLI. Вы в своём собственном терминале, в своей оболочке, со своими алиасами; приложение просто смотрит. - Начните в приложении, закончите в терминале
- Начните сессию с телефона в поезде, а сев за стол, выполните
happier attach <session-id>. Без идентификатора он открывает список сессий, работающих на этом компьютере, и помечает те, к которым подключиться нельзя, причиной, а не прячет их. - Верните сессию приложению
- Взятие локального управления начинается из терминала; вернуть его обратно можно попросить из приложения. Happier сначала дождётся, пока текущий терминальный ход дойдёт до безопасной точки остановки, потому что впихивать промпт в занятый TUI — это способ потерять ту работу, посреди которой он был.
- Пользуйтесь терминалом, встроенным в приложение
- Живая оболочка на подключённом компьютере, закреплённая в нижней панели, в боковой панели или в панели деталей, переживающая обновление страницы и сохраняющая ту же оболочку, куда бы вы её ни переставили. Это тот же терминальный транспорт, через который приложение выполняет входы у провайдеров.
Какие агенты переносят сессию между терминалом и приложением
Трое из тринадцати, и ведут они себя по-разному. Codex эксклюзивен — по одному управляющему за раз. OpenCode нет, а Claude Code может быть и тем и другим, в зависимости от того, под каким рантаймом вы его запустили.
| Агент | Терминал и приложение вместе | Переподключается через | Что это значит на практике |
|---|---|---|---|
| Claude Code | По очереди или оба сразу | tmux | На рантайме по умолчанию сообщение, отправленное из приложения, пока вы работаете в терминале, ждёт в очереди, а не печатается в вашу сессию; запросы разрешений при этом всё равно пересылаются в приложение, и этот мост включён по умолчанию. Единый терминальный рантайм — это и есть случай «оба сразу», см. ниже. |
| Codex | По очереди | tmux | Та же эксклюзивность. Happier ждёт, пока локальный ход закончится, прервётся или выйдет, и только потом забирает сессию обратно и доставляет всё, что вы поставили в очередь. |
| OpenCode | Оба сразу | Собственный attach OpenCode | Совместное локальное управление, и включать заранее ничего не нужно: приложение остаётся доступным для записи, пока подключён TUI OpenCode, и никакого мультиплексора в схеме нет. |
Остальные десять агентов, которых запускает Happier, всё так же стартуют из терминала командой happier <agent> и всё так же появляются на вашем телефоне. Чего они не дают — так это забрать сессию обратно в их собственный TUI на полпути.
Ведите одну сессию Claude Code и из терминала, и из приложения
Направлять и прерывать — разные действия. Прерывание останавливает идущий ход и начинает новый, от вашего сообщения. Направление добавляет к идущему ходу — работа продолжается, теперь зная то, что вы только что сказали. Полезны оба, и второе — то, что нужно, когда вы поднимаете глаза от телефона и понимаете, что сейчас будет переименован не тот файл.
Anthropic описывает потоковый ввод Agent SDK как очередь сообщений, которые обрабатываются последовательно, с возможностью прерывания. Это тот рантайм, который Happier использует для Claude Code по умолчанию, и для большинства сессий он правильный. Собственный терминал Claude Code принимает другой вид сообщения: напечатайте, пока он работает, и инструкция присоединится к уже идущей работе.
Единый терминальный рантайм — то, как приложение до этого добирается. Happier запускает настоящий TUI claude внутри общего терминального хоста — tmux, если он у вас есть, иначе zellij, который поставляется с Happier, — транслирует этот терминал на все устройства, где вы вошли в аккаунт, и печатает то, что вы отправляете из приложения, в то же поле ввода, куда вы напечатали бы сами. Один процесс Claude Code, одна сессия, две клавиатуры на ней. Можно печатать в TUI за своим столом, пока на ту же сессию отвечают с телефона, и ни одна из сторон не блокирует другую.
Он выключен, пока вы не включите его в настройках провайдера Claude Code. Ему нужен tmux или встроенный zellij, так что сегодня это значит macOS и Linux; на Windows CLI говорит вам использовать WSL2, а не запускает то, что не может проверить. А когда терминал в состоянии, где печатать было бы небезопасно — открыт диалог или вы сами не дописали строку, — Happier придерживает ваше сообщение, вместо того чтобы печатать поверх вас.
Что нужно для подключения: tmux, тот же компьютер, запущенный демон
То, на чём люди спотыкаются: на macOS и Linux, чтобы подключиться к сессии Claude Code или Codex, запущенной из приложения, интеграция с tmux должна быть включена до старта этой сессии. Включите её задним числом — и к уже идущей сессии подключиться нельзя: она изначально не запускалась внутри tmux. Подключаться нужно ещё и с того же компьютера, которому принадлежит сессия, и под той же учётной записью, что её начала.
Windows не использует tmux. Сессия там запускается скрытой, в Windows Terminal или в консоли, а happier attach выводит на передний план уже существующий хост, а не переподключается к мультиплексору. Это выбор для каждой машины и каждой сессии, а не глобальный.
Встроенному терминалу нужен ваш демон, запущенный и подключённый для того компьютера, на который вы нацелились. Если демон офлайн, Happier показывает состояние ошибки, а не оболочку, которая молча ничего не делает.
tmux, режим сессий на Windows и место, куда пристыковывается терминал
Ничего на этой странице не требует настройки, если вы запускаете сессии из терминала: этот путь работает с момента установки CLI. Настройки, которые действительно требуют решения, — это интеграция с tmux, режим сессий на Windows и место, куда пристыковывается встроенный терминал, и все три описаны в справочнике по конфигурации.

