Bia — boot into agent

Зачем давать агенту свой компьютер, если можно сделать агента-компьютера с полным социальным присутствием, связями и т.д?
Привет, Хабр!
Я сделал операционку, которая грузится не в шелл и не в рабочий стол, а сразу в агента. Вставил флешку, включил машину - и первое, что на экране, это разговор. Дальше он сидит в Telegram и WhatsApp как обычный аккаунт, снимает трубку, помнит все и, если ноут умер, переезжает на другой вместе с паролями.
[Любые совпадения случайны, присутствует сарказм и мета-ирония - прим. автора]
Преамбула
В феврале я писал про GUI-агента. Чекбоксы, радиокнопки и виртуальная компания из Фредди, Бадди и Питера, которая развалилась на фразе «скажи ему, что я люблю котов». Вывод оттуда я не выбросил: дать модели те же инструменты, что есть у человека, и пусть он общается как человек. Хочет Telegram - пусть использует Telegram, а не "интеграцию с Bot API". Хочет WhatsApp - пожалуйста. Хочет что-то еще, свой аккаунт гугла - да тоже почему бы и нет?
А еще что отсутствие ответа - это тоже решение (в общении между людьми).
Впрочем, я опять отклонился на социальные темы, а, в действительности, проблема немного другая, для меня лично:
Все текущие реализации заставляю модель жить у вас в домашней директории, читать ваши файлы, помогать вам именно как агент, а не как человек.
Агент внутри вашего компьютера - это не сотрудник. Это процесс с вашими ключами и файлами, поверх него, естественно, security features, ограничения, запросы/ответы и так далее.
Я сделал наоборот - отдельная машина, отдельный диск, отдельные учётки и полная свобода действий. Вы с ней говорите как с человеком: пишете, звоните, иногда суёте ключ и говорите "используй это". Ваш ноут он не трогает, потому что это не её ноут. Если что-то куда-то утечет, это "его проблемы", так что расшариваете вы с ним только то, что нужно, и оцениваете его тоже как глупого (или умного) человека со своими проблемами.
Например (без какого-либо редактирования после генерации, крипово конечно):
Короче, встречайте bia. Превращаем ваши potato в кого-то, а именно операционная система - которая и есть агент. Да, прямо грузится в чат с агентом, без консоли.
Что-что?
Debian trixie, minbase, systemd, стоковое ядро. Пользовательский интерфейс - сервис bia-agent на tty1 и на всех serial-консолях. tty2 я оставил с обычным логином, just in case.
Secure Boot поддерживатся. Shim подписан Microsoft, GRUB — Debian, подпись ядра на месте. Своих ключей загрузчика у меня нет, да и зачем? Билдить ядро это долго. x86_64 грузится и по UEFI, и по legacy BIOS. arm64 — UEFI, я постарался поддержать как можно больше платформ, мой личный bia живет на X250 и любил раньше паниковать:

И даже иногда общался с кошкой:

Концепт разговора
Как и люди, bia имеет доступ к различным каналам в одном большом пайплайне, он имеет понимание кто откуда написал, куда надо отвечать, держит полную картину социальных связей и общается со всеми асинхронно, например, в процессе разговора со мной голосом, он может написать другому человеку по топику разговора и ответить мне уже в процессе в зависимости от ответа этого человека. Может выполнять просьбы третьих лиц, передавать и анализировать данные, а также знакомиться с новыми людьми, все как человек.
Для себя лично только самосознание - и оно существует только в консоли. Впрочем, никто не мешает вам влезть в него, в таком случае bia сам определит это наивысшим приоритетом и выполнит команду (это работает по умолчанию, пока вы не выдали ему социальных аккаунтов или не используете встроенный веб чат).
Bia также следит за незакрытыми ответами, чтобы точно удостовериться в том, что поставленные задачи выполнены.
Также bia флексит. Но я не стал использовать RAG и эмбеддинги, ибо вы, как человек, вряд-ли этим думаете. Пока что и так все хорошо работает.
Cost-cutting and speed-running
OpenClaw засорял mcpшные утилиты, писал большие SOUL, SKILLS и т.д., я свернул это до одного лишь discover, когда модель раскрывает функции по мере надобности, также вместо compacting'а чатов bia так же флексит, собирая из контекста главное. А незакрытые задачи файрятся после флексигна, в итоге происходит повторный discover только по кейсу задачи. Мой текущий агент использует deepseek 4.1 с контекстом 128К, это дешево и сердито, но качество под мои задачи на высоте.
Дальше - вообще все делается асинхронно. bia спавнит команды, следит за их выполнением. Он даже может поговорить, пока идет обновление, однако потом его перезагрузит. Лучше всего юзать модели с более 40tps, иначе разговоры будут долгие, а при голосовом звонке STT и TTS будут еще дольше ожидать - будет неловкая пауза.
Можете во время одной задачи дать ему другую. However, это не саб-агенты - bia единственный, кто есть на машине (однако ничто не мешает вам сказать ему написать саб-агента для дальнейшего использования и он будет им управлять). Не знаю, правильное ли это концепт-решение, но у вас, как у человека, нет саб-агентов. У вас есть только другие люди - и bia, кстати, может прекрасно общаться с другим bia и выполнять задачи совместно. Он может даже запустить другого bia у себя в виртуальной машине, однако такую сингулярность, я считаю, мы еще не заслужили.
FMM
Думать можно чужим мозгом или своим.
Чужой - Frontier Model Mode, ваш ключ: OpenRouter, OpenAI, Anthropic, xAI, DeepSeek, Qwen. Опять же, дешевле всего нормально думает DeepSeek V4.1 - я рекомендую начать с этого.
Также есть "Continue with ChatGPT" - можете использовать вашу подписку GPT, это официально разрешено для opensource проектов - коим bia и является.
Свой локальный мозг - GGUF через llama.cpp. Официальные сборки llama-server, бэкенд выбирается сам: CUDA, потом ROCm, SYCL, Vulkan, потом CPU. Веса mmap'ятся. Однако у меня бедный MBP13 с 16GB, на GTX Spark я пока что не накопил:) Советую от 64GB VRAM, тестировали qwen 27B - было нормально.
Еще раз - это отдельный человек/агент - не ваш комп и не ваши данные (только то, что вы дадите ему)
У bia свой Chrome, свой профиль, свой сейф, свои passkeys, своя адресная книга, свои социальные аккаунты. Если их нет, свои аккаунты на сайтах он заводит сам. Капчу и проверку по телефону приносит вам, если сам не пройдет, HITL поддерживается.
У bia своя адресная книга уровни доверия. Свой социальный граф. Серьёзные вещи может просить root и те, кого вы разрешили. Остальные пишут и звонят.
Однако реальный аудит безопасности только предстоит. Впрочем, bia достаточно умен, чтобы банить неверных, а он это может.
Для действительно подтвержденной коммуникации есть веб-консоль:

У bia есть собственный CA, он сам выдает сертификаты минцифры доверенным людям и другим агентам (и спрашивает у вас, если нужно) - так что enterprise ready, товарищи:)
Социалочка
Telegram - пользователь, не бот. Номер, код, как у человека. WhatsApp - привязанное устройство. Люди пишут туда, куда они и так пишут. Отдельное приложение никому не нужно, достаточно попросить bia зайти в телеграм и wa. Этот урок я выучил на семейных звонках: ваша бабушка не будет разбираться, что там ставить и делать. Она и так уже VPN освоила из-за необходимости.
bia может сам инициировать разговоры, быть в группах и т.д., реагировать, записывать аудисообщения - все, как обычный человек.
Еще bia учит языки on-demand. Так что, если вдруг вы говорите на мандарине или испанском - он выучит.
И банить, да, я уже говорил.
Portability
Я серьезно поработал над выживаемостью. По умолчанию стартуем с флешки, а дальше:
переехать на локальный диск
переехать с диска на флешку
переехать на другой локальный компьютер
переехать на сервер в интернете
морфировать себя в то, что на флешке или на диске
восстановить себя после переезда
Все, чтобы bia жил как можно дольше, на разных архитектурах, разных компьютерах и разных местах.
Кстати, если bia оффлайн, после загрузки он получит все сообщения ото всех, кто писал, и примет необходимые действия.
Как превратить свою картошку в кого-то
Флешка от 8 ГБ. Прошивальщик для macOS, Windows и Linux - ownbia.com.
Записываете образ на флешку через прошивальщик с вашими ключами или gguf'ом, и вперед.
Mac на Apple Silicon с флешки не стартует. Для него есть другая моя программа ClawHome - bia в виртуалке (можете поиграть с ним в виртуалке, а потом, когда все будет ясно - попросить переехать на подготовленный компьютер или сервер).
Отдельно - сервер без флешки — ISO, машина встаёт на диск и ждёт, пока живая bia прилетит по сети: Bia on servers.
Дальше она здоровается на языке, который вы выбрали в прошивальщике, спрашивает, как её зовут, и предлагает Telegram, WhatsApp и веб.
И да. bia is open source. GPL-3.0. Сейчас 1.1.2.
Собрать самому можно на Mac, но это займет несколько часов, как и тесты.
Хабр, опять хочу твоей помощи
Проект живой, им уже пользуются, в том числе я сам. Поэтому, будь ласка:
more tests
Feature requests
Портирование на телефон? Было бы прикольно, если бы bia звонил через модем!
Спасибо, если дочитали. Было наверное тяжело, но вы справились и молодец!
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.