Pi · pi

Приложение с открытым исходным кодом для Pi Coding Agent

Pi приносит собственные ключи и никакой собственной модели. Happier приносит телефон, браузер и десктопное приложение — и никакого сервера посередине.

How Happier runs Pi Coding Agent

Pi не поставляет модель, и это оказывается самым интересным фактом при его запуске здесь: любые учётные данные агентов, которые держит Happier, Pi примет. Профили подписки Claude, ключи Anthropic, логины Codex и ключи OpenAI — всё работает, поэтому аккаунты, которые вы собрали в пул ради Claude Code, могут вести и этого агента; выбор делается при старте сессии, а не тем, под чем этот компьютер входил в последний раз.

Механизм стоит одного предложения, потому что он объясняет, что переносится, а что нет. Перед запуском Happier записывает выбранный вами профиль в собственный изолированный файл учётных данных Pi, в том виде, который Pi ожидает: вход по подписке становится учётными данными OAuth, а setup-токен или API-ключ становится ключом. Дальше Pi читает свой файл и общается с провайдером напрямую, и ни один ваш запрос не идёт через что-либо наше. Если подходит несколько ваших профилей, приложение спрашивает, какой именно, а не выбирает за вас.

Кнопки входа для этого агента нет, и дело в самом Pi, а не в упущении: он не предоставляет интерактивного входа, которым Happier мог бы управлять, поэтому страница провайдера сообщает об учётных данных из окружения, которые уже есть у этого компьютера, и на этом останавливается. Направление работает: сообщение, отправленное в уже идущий ход, агент принимает, а не оставляет ждать; а вот печатать в терминал вендора этот агент не предлагает. Pi — экспериментальный провайдер в Happier, и читать про него стоит именно в этом статусе.

What Pi Coding Agent does, and what Happier adds

Pi — терминальный агент программирования, работающий на ваших собственных ключах: он не поставляет модель, а ведёт того провайдера, для которого у вас есть учётные данные. happier pi запускает его в вашем репозитории с тем окружением, которое уже есть у вашей оболочки.

Это подходит тому, как устроен Happier, потому что Happier эти ключи тоже не хранит. Процесс агента читает их на вашем компьютере, общается с провайдером напрямую, и единственное, что пересекает сеть, — зашифрованный транскрипт, идущий на ваши собственные устройства.

Так что форма сессии Pi такова: ваши ключи, ваш компьютер, ваш репозиторий и телефон в кармане, с которого можно прочитать разговор и ответить на него. Ничто в этом списке не арендовано у нас, а релей посередине вы можете запустить сами, если предпочитаете не пользоваться нашим.

happier pi

Read, approve and answer Pi Coding Agent from any device

Приложения для iOS и Android, десктопное приложение для macOS, Windows и Linux и app.happier.dev — все они клиенты к процессу Pi Coding Agent, работающему на вашем компьютере, а не зеркала только для чтения. Ответьте на запрос разрешения, отправьте следующую инструкцию, просмотрите репозиторий, прочитайте дифф. Транскрипт шифруется сквозным шифрованием до того, как покинет ваш компьютер, так что сервер, который его несёт, держит шифротекст.

Happier can install Pi Coding Agent for you

Happier ставится на тот компьютер, где уже лежит ваш репозиторий, а happier pi запускает там Pi Coding Agent обычным подпроцессом, в том каталоге, на который вы его направите, с тем входом, который вы сами и выполнили. Между агентом и Pi нет шлюза, и нигде больше нет копии вашего исходного кода.

Happier сначала ищет pi в вашем PATH и запускает ту копию, которую поставили вы. Если её нет, он может установить @earendil-works/pi-coding-agent в ~/.happier/tools/providers/pi/ — собственный каталог, а не ваш глобальный префикс npm. Копию, которой управляете вы, он никогда не заменит и не обновит за вашей спиной.

Собственное руководство Pi по установке и входу — на github.com/badlogic/pi-mono. Happier его не дублирует: копия чужой инструкции по установке — это копия, которая устаревает.

Справочник по настройкам на стороне Happier — Pi Coding Agent в документации Happier.

На каком аккаунте работает Pi Coding Agent

Pi Coding Agent — один из агентов, которых Happier может направить на учётные данные, подключённые один раз, а не на тот аккаунт, под которым вошёл этот компьютер. Он принимает a Codex subscription, an OpenAI API key, a Claude subscription or an Anthropic API key.

Подключённые сервисы привязаны к учётным данным, а не к агенту, поэтому один и тот же Codex subscription доступен для выбора любому агенту, который его принимает, на каждом подключённом вами компьютере — именно это и делает пул ваших собственных аккаунтов полезным более чем на одном из них. Учётные данные шифруются и расшифровываются на ваших устройствах; страница документации описывает правила по профилям, потому что то, какие виды профилей принимает каждый агент, — как раз та деталь, что меняется от релиза к релизу.

One app for Pi Coding Agent and 12 other agents

Pi Coding Agent — один из 13 агентов программирования в командной строке, которых запускает Happier, и у них общий список сессий, общий список входящих для разрешений, один набор горячих клавиш и одна конфигурация MCP.

You define an MCP server once, and because Pi Coding Agent does not consume MCP directly, Happier hands the same tool surface to it through the happier tools shell bridge instead — the same tools, delivered as commands it can run. The app previews the effective tool surface before a session starts, so which one you got is visible rather than inferred.

Больше всего это важно в те дни, когда вы запускаете больше одного: сессии разных вендоров рядом друг с другом, а касание уведомления открывает ту сессию, которая подняла запрос, а не входной экран приложения. Полный список здесь.

The same Pi Coding Agent session in your terminal and in the app

Набрав happier pi в терминале, вы запускаете сессию прямо там, где стоите, и та же сессия одновременно доступна в приложении. То, что вы читаете в этой оболочке, — собственное отображение сессии в Happier: транскрипт, запросы разрешений, вывод инструментов, — а не интерфейс Pi Coding Agent. Никому не приходится отказываться от терминала ради клиента на телефоне.

Передачи в собственный TUI Pi Coding Agent нет. Она есть у Claude Code, Codex и OpenCode, а с Pi Coding Agent сессия с обоих концов остаётся сессией Happier. happier attach <session-id> перечисляет сессии на этом компьютере и помечает те, к которым не может подключиться заново, вместо того чтобы падать после того, как вы выбрали одну.

Руководство по attach перечисляет случаи, вместо того чтобы обещать их все.

Вопросы про запуск Pi Coding Agent через Happier

Как установить Pi?
Из пакета @earendil-works/pi-coding-agent. Happier сначала использует pi, уже имеющийся в вашем PATH, а иначе может установить пакет в ~/.happier/tools/providers/pi/.
Где живут мои API-ключи?
В вашем собственном окружении на вашем собственном компьютере — оттуда их и читает Pi. Happier запускает процесс и не копирует, не хранит и не пересылает ключи провайдеров.
Это то же самое, что oh-my-pi?
Нет — другой проект, другой бинарник. oh-my-pi поставляется как omp из собственного репозитория, и в той версии, которую можно установить сегодня, Happier его не запускает. Он появится в следующей версии, то есть это то, над чем мы работаем, а не то, что мы поддерживаем; эта страница — про pi.
Можно ли сменить модель посреди сессии?
Happier показывает те модели, о которых сообщает агент, и просит его переключиться, а не поставляет собственный список. Придётся ли изменение на текущий ход или на следующий — это поведение агента, и приложение говорит вам, какое именно, до того как вы это подтвердите.
Работает ли это на iPad?
Да — приложение для iOS работает на iPad, а app.happier.dev открывается в Safari, если вы предпочитаете ничего не устанавливать. И то и другое — клиенты к сессии, работающей на вашем компьютере.

Get Pi Coding Agent onto your phone in two commands

Одна команда на компьютере, где лежит ваш код, затем happier pi в том репозитории, в котором вы хотите работать.

curl -fsSL https://happier.dev/install | bash

Пошаговые разборы — в руководствах. Всё это под лицензией MIT, а релей можно запустить самому.