Видимый ход работы
Полоса хода и план показывают, что агент делает сейчас и что собирается делать дальше, — до того, как результат ушёл в приёмку.
- ход
- план
y83 projects / 01 / агентная система
в активной разработке · 2026 — сейчас
Когда код генерируется быстрее, чем человек успевает его прочитать, контроль приходится проектировать как отдельную подсистему. Y83 Code фиксирует цель и бюджет токенов до запуска хода, ведёт иерархию «проект → тред → ход» с ветвлением и откатом, блокирует коммит при провале многостадийных ворот качества и автоматически откатывает бинарь при сбое smoke-теста. Codex, opencode и Claude Code работают рядом, а удалённые команды проходят через approvals с привязкой к треду.
система
Коротко: агент делает работу, человек ставит задачу и принимает результат. И то и другое собрано как часть системы с инструментами и правами, а не как договорённость на словах.
Агент выдаёт правки быстрее, чем их успеваешь проверить. Узкое место — не набор кода, а проверка: сколько времени нужно, чтобы увидеть изменение, понять его и решить, принимать или нет.
Цель и критерии приёмки задаются до запуска, ход виден целиком вместе с ценой, а проверки, сборка и релиз выполняются теми же инструментами, что и работа, — отдельного мира CI нет. Опасные действия на серверах проходят через подтверждение, а режим агента честно выбирает, кто платит за ход: роутер или собственная подписка.
Архитектура, модель «проект → тред → ход», реестр инструментов, политики, ворота, approvals и решение о приёмке — за человеком. Реализацию внутри этих границ выполняет агент, а вход в native-режим выполняет сам CLI, не приложение.
возможности
Девять групп — девять сторон системы. У каждой группы есть раздел, где она разобрана до механизмов: устройство целиком — в «Системе», экран работы — в «Чате агента», проверки, approvals и релиз — в «Контроле», а полные списки возможностей — в «Справочнике».
Полоса хода и план показывают, что агент делает сейчас и что собирается делать дальше, — до того, как результат ушёл в приёмку.
Лимит токенов задаётся заранее, а расход считается в долларах: ступени контекста выше 272k и ставки чтения и записи кэша входят в цену хода. Лейны сабагентов изолированы, сторож кэша ротирует залипшую сессию, попадание в кэш держится на 99.2 %.
Сообщение можно поставить в очередь, поднять его приоритет или остановить ход — вместо ожидания конца и повторного запуска.
Треды, ходы и планы сохраняются: можно вернуться к шагу, откатить ход, форкнуть тред и посмотреть разницу между состояниями кэша.
Планы из переписки живут рядом с файлами plans/<key>.md в корне проекта: перед крупной задачей агент читает долговременную память, а не восстанавливает замысел по ленте. Экран планов показывает шаги, статусы, прогресс и связанный тред.
Официальный CLI Anthropic установлен как glibc-бинарь и ходит в Anthropic-совместимый роутер: модели берутся из провайдеров приложения, а мост stream-json живёт в ws-backend без Node и bun. В приложении свой чат с шагами, карточками инструментов, очередью, reasoning и режимами разрешений.
Экран «Аккаунты агентов» переключает Codex и Claude между режимами y83 и native. В native CLI сам входит в ChatGPT или Claude Pro/Max, а токены подписки не читает и не проксирует наш код. Пока входа нет, ход не отправляется; тихого отката на роутер нет.
У Codex, opencode и Claude Code разные протоколы и ленты, но общий MCP-реестр, ворота, сборка, approvals и решение о приёмке. Модель выбирается под задачу, а не под движок; стоимость хода считается только там, где есть тариф.
Проект объявляет профиль core, media, infra или dev: агент видит только нужные инструменты, а неизвестный профиль отклоняется, а не открывает dev-поверхность. Экран MCP показывает эффективный профиль из config/read, включая проектный override.
Гигиена репозитория, форматирование, тесты, компиляция, проверка скиллов и отступов интерфейса идут стадиями. Любая стадия упала — коммит не проходит, а пакетная проверка изменённых файлов занимает десятые доли секунды.
Перед подменой бинарей снимается резервная копия, а на ошибку ставится откат: упал smoke-тест — система вернулась на прошлую версию.
Дифф, отчёт ворот и решение о приёмке — разные действия. Непринятое возвращается на доработку, а не уезжает в релиз.
Remote-exec выполняет read-only команды сразу, а изменяющие — только через карточку подтверждения. Заявка знает свой тред, показывает точную команду и purpose, а grant «разрешить сервер на 10 минут» снимается вручную; секреты и критические операции подтверждаются отдельно.
Цена считается по собственному реестру тарифов: база модели, окна off-peak и ставки кэша. Вид цены различает exact, fallback, free и unknown, поэтому «тарифа нет» больше не выглядит как $0; история ходов лежит в turn_costs и видна в «Затратах».
Один экран отвечает, что выполняется, что ждёт человека и что упало: Codex, opencode, планировщик и сервисы. Stop работает из строки и из уведомления, а недоступный источник показывается отдельной строкой degraded, а не пустотой.
Собрать, прогнать ворота, прочитать логи, откатить релиз — всё это те же инструменты, которыми агент пользуется как исполнитель.
Структура файла, поиск использований, импорты, diff по индексу, чтение и запись: агент читает проект, а не догадывается о нём.
Инструменты dev_* запускают проверки, собирают приложение и бэкенд, выкатывают и откатывают их — по команде агента и с отчётом человеку.
Чтение логов, снимок экрана, работа с элементами и встроенный браузер: снимок страницы с нарезкой и сравнением кадров, аудит вёрстки сразу в настольном и мобильном профилях.
SQLite на чтение и запись, веб-поиск и чтение страниц, документация библиотек через локальный прокси, проверка утверждений отдельной моделью.
Четыре инструмента remote_* работают через SSH-реестр приложения: read-only команды идут сразу, изменяющие создают approval с точной командой и TTL десять минут. Пароли не попадают в реестр, host key не принимается молча.
pricing_list, pricing_save и pricing_delete дают агенту тот же реестр ставок, что и экран «Тарифы»: список моделей без цены, окна off-peak и четыре ставки на модель. Агент может наполнить тарифы из прайса провайдера, не редактируя код.
Четыре инструмента GitLab работают через бэкенд: токен живёт на сервере, агент его не видит, а force-push, удаление веток и push в защищённую ветвь запрещены политикой.
Поиск по нескольким движкам, чтение страниц, синтез со ссылками и фоновая проверка утверждений — с ответом «подтверждено / опровергнуто / не найдено».
Go-клиент синхронизирует UA и куки реального WebView телефона, держит порядок заголовков и TLS-профиль Chrome, а на капче возвращает needs_human и сам поднимает браузер человеку — обход не притворяется решением.
Картинку или экран описывают модели-источники; в контекст агента уходит путь и текст, а не пиксели, — зрение не оплачивается токенами на каждом шаге.
Журнал на 269 версий встроен в среду и доступен и человеку, и агенту: перед правками агент сверяется с историей архитектурных решений.
Каталог скиллов и библиотека промптов: процедура живёт в скилле, формулировка задачи — в заготовке, обязательные поля не дают вставить неготовый промпт.
Промпт, негативный промпт, размеры до 2048 px, шаги, CFG, seed для повторяемости, батч до четырёх кадров и апскейл ×2 или ×4 после генерации.
img2img целиком, инпейнт маской или до восьми прямоугольниками, аутпейнт на любую сторону. Область выделяется тремя инструментами: тап по объекту — офлайн-сегментация MediaPipe Interactive Segmenter (модель magic_touch), из маски берётся компонента связности под точкой тапа (MaskMath), — кисть и рамка. Маска уходит в правку как mask_path. Источник — прошлая генерация, файл или публичный URL.
До 12 референсов с рецептом и силой влияния, до 8 слайдеров от −6 до +6 и до двух LoRA. Каталоги рецептов и LoRA отдаёт сам сервис — агент их не выдумывает.
Статус с эхом параметров, список сохранённых задач, отмена и остаток лимита. Готовая картинка скачивается локально и отдаётся агенту путём файла в рабочей папке проекта — ассет остаётся в репозитории, а не только в чате. Дальше агент осматривает результат через ai_vision, правит маску, референсы или слайдеры и перегенерирует — без выхода из треда.
У каждой возможности есть запись в каталоге и место на главной: новый пункт добавляется как запись, а не как новый сквозной слой.
Браузер, терминал, файлы, база данных, запись экрана, планировщик, заметки — не список фич, а рабочие подсистемы внутри одного контура.
Это не обёртки над готовыми библиотеками: собственный VpnService с маршрутизацией по приложениям (Hysteria2 и tun2socks, экран выбора приложений), видеоредактор с таймлайном на Media3 и точным рендером переходов через бэкенд и FFmpeg, запись экрана и звука на MediaProjection, хранилище на AES-256-GCM с биометрией, скриншот окна через PixelCopy — без root и без службы доступности.
Старт, остановка, рестарт, автозапуск и watchdog: сервисы живут без systemd и восстанавливаются после вылета.
Хранилище секретов, VPN, диагностика сети и обратные SSH-туннели к серверам — с маской и политиками доступа для агента.
Codex, opencode и Claude Code работают рядом: у каждого свой чат, свои сессии и свой протокол, но общий реестр инструментов и общий контур приёмки. Ответы всех трёх рисует один рендерер, а история ходов лежит в локальной базе и переживает перезапуск.
Один переключатель на тип агента выбирает, откуда берутся модели. В router работают провайдеры приложения и считается цена; в native CLI идёт напрямую по ChatGPT или Claude Pro/Max, а стоимость не выдумывается. Режим — свойство устройства, потому что конфиг агента один.
Агент на устройстве и агент на своём сервере через обратный туннель: проекты и инструменты приходят с телефона, переключение — в одном списке.
Termux даёт реальные git, python, node, ssh и компиляторы: агент собирает проекты, а не только пишет текст.
Любой OpenAI-совместимый API плюс веб-аккаунты с квотами, очередью и разбором отказов: ядро не привязано к одному поставщику.
SQLite открывается и правится прямо на устройстве: и человеком, и агентом через инструмент.
Логи приложения, сервисов и диагностики читаются с фильтром и в реальном времени — по ним же строится разбор падений.
Фоновые задачи видны со статусом и сессией: прерванный прогон можно возобновить, а не начинать заново.
Команды и промпты по расписанию с журналом запусков — рутина не держится в голове.
как работает
Задача ставится в тред с целью и критериями готовности, бюджет токенов фиксируется.
Агент разбивает работу на части и показывает план — его можно поправить до запуска.
Агент читает код, вносит правки и прогоняет проверки через свои инструменты.
Человек смотрит дифф и отчёт ворот; непринятое возвращается на доработку.
Сборка, выкладка с health-check и откат, если новая версия не прошла проверку.
результаты
строк Kotlin в приложении
815 файлов: экраны, чат агента, хаб инструментовстрок Go в бэкенде
479 файлов: API, сервисы, MCP-сервер, служебные контурытестов
2 100 в приложении (JUnit), 1 187 в бэкенде — 485 файловинструментов агента
восемь групп: базовые, dev_*, браузер, генерация, GitLab, промпты, удалённые серверы, тарифыинструментов приложения
записи реестра: от браузера до VPNэкрана навигации
каждый — отдельная подсистема со своим состояниеммаршрутов API в бэкенде
HTTP-обработчики: от сборки до баз данныхкоммитов за 63 дней
25 августа 2026 — 27 октября 2026; в среднем 9 в день — каждый проходил воротаЦифры сняты скриптом tools/metrics.sh на 2026-10-27; версии на тот же день — приложение 0.8.185, бэкенд 0.8.395. История репозитория: 598 коммитов за 63 дней с 25 августа 2026 по 27 октября 2026, журнал релизов — 269 версий: 59 бэкенда и 210 приложения, плюс 151 записей архива сборок.
экраны
Состав считает tools/metrics.sh по Screen.kt: 74 маршрутов, из них 9 — формы добавления и правки записей. Скриншоты снимаем на устройстве; ниже — все экраны по разделам.
листайте вбок · 19 экранов
Главный экран
быстрый доступ, агенты и их состояние
Проекты
проекты агента и их состояние
Треды
история, ветвление и возобновление
Чат агента
ход, план и token bar
Аккаунты агентов
роутер y83 или собственная подписка
Согласования
approvals по тредам и grants на серверы
Затраты
цена ходов по дням и моделям
Пульт запусков
что идёт, что ждёт и что упало
Очередь сообщений
вмешательство в текущий ход
Скиллы
каталог процедур и зависимости
MCP-серверы
инструменты, лимиты вывода, вход
Промпты
библиотека заготовок с полями
Терминал
реальные процессы Termux
Сервисы
старт, стоп, рестарт, watchdog
Инструменты
реестр подсистем приложения
Базы данных
просмотр и правка на устройстве
Vision
цепочка источников и описание снимка
Генерация изображений
очередь, прогресс и готовый файл
Задачи
фоновые прогоны и возобновление
технологии
этапы
Этапы идут в том порядке, в котором появлялись: от среды — к инструментам агента, от них — к контуру качества.
Termux, запуск движков, иерархия проект → тред → ход
инструменты для кода, логов, сборки и деплоя
стадии проверок, блокировка коммита, откат релиза
мост, браузер, базы, VPN и туннели как инструменты агента
research с проверкой, vision-цепочка, генерация изображений, скиллы и промпты
запись экрана в 720p/1080p на 30 и 60 кадрах доведена до рабочего состояния, а монтаж получил палитру из десяти переходов xfade через FFmpeg; параллельно монолит разобран на 15+ доменных репозиториев с тестами ViewModel'ей
Claude Code стал третьим агентом на общем роутере; появились режимы y83/native, экран «Аккаунты агентов», approvals с привязкой к треду и 10-минутными grants, реестр тарифов, экран затрат, пульт запусков и профили MCP core/media/infra/dev
вопросы
Чем больше кода генерируется, тем важнее скорость проверки и решения, а не скорость набора. Когда код пишет человек, контроль встроен в процесс; когда его пишут агенты, контроль приходится проектировать отдельно: ход, бюджет, история, ветвление, ворота, откат.
Внутри работают те же архитектурные слои, что и в большом серверном продукте: API-слой на 261 HTTP/SSE-маршрутов и 78 MCP-инструментов, очередь ходов и асинхронные GPU-задачи с прогрессом, машина из 5 состояний хода агента, изолированное хранилище секретов с масками, deny-list политик, супервизор процессов поверх runit без systemd и атомарный деплой с авто-откатом бинаря по health-check.
Готовые инструменты не знают про этот проект: где его ворота, как собирается приложение и как откатывается бэкенд. Свои 78 инструментов знают. Поэтому агент обслуживает ту среду, в которой работает, а человек проверяет результат теми же средствами.
Рабочая станция всегда с собой: сборка, проверки, логи и выкладка не требуют ноутбука. Удалённые проекты подключаются оттуда же — обратным туннелем, а не отдельной настройкой на каждой машине.
Движки решают разные задачи: Codex — глубокие многошаговые ходы, opencode — мультимодельные сессии, Claude Code — третий первопартийный CLI на том же роутере. Режим y83-router использует провайдеров приложения и считает цену, native — собственную подписку ChatGPT или Claude Pro/Max, где цену за токен не выдумать. Переключатель один на тип агента, потому что конфиг тоже один.
Remote-exec работает только в профиле codex, read-only команды классифицируются синтаксически, а изменяющие создают approval с точной строкой и TTL. Grant на сервер живёт десять минут и снимается вручную; секреты, SSH-ключи и критические операции всё равно требуют отдельного подтверждения. В /mcp/remote и opencode этих инструментов нет.
Человек: он задаёт границы, критерии приёмки и решает, что прошло проверку. Ворота сформулированы как код — их нельзя уговорить, и коммит не проходит, пока стадия красная. Это и есть разделение: агент исполняет, человек принимает.
Y83 Code
Система управления AI-разработкой на телефоне и сервере: ведёт цикл «задача → агент → ход → ворота качества → деплой с авто-откатом». Codex, opencode и Claude Code работают в одном контуре через общий реестр из 78 MCP-инструментов и 42 подсистем, а бюджет, политики и решение о приёмке отделены от генерации кода.