Как и зачем мы создавали AI-shell терминале SELECTOS

Как и зачем мы создавали AI-shell — ИИ-агента в терминале серверной ОС

Наталия Бажан
Наталия Бажан Менеджер проектов
1 июня 2026

Наш опыт создания серверного решения aish на базе фреймворка ratatui и модели Qwen3. Рассказываем про сценарии работы и тестирование.

Изображение записи

Топ-3 темы к обсуждению друзей-айтишников после 30: куда катится этот мир, почему болит спина, как бесит AI. И ох уж тот самый неловкий момент, когда твои друзья хейтят вторжение AI в их профессиональную жизнь, а ты уже переобулся и на все сто причастен к этому вторжению.

Меня зовут Наташа, я менеджер проектов в Selectel. В этой статье расскажу, как, зачем и с какими инсайтами команда SELECTOS разработала aish (agent-integrated shell) —  терминал со встроенным AI-агентом для работы с сервером.

Интерфейс ИИ-ассистента aish в терминале Linux.

Дисклеймер: в этой статье я разберу скорее философскую сторону AI в управлении IT-инфраструктурой. Я уделю довольно скромное внимание технической составляющей продукта, потому что это достойно отдельной статьи. Так что я позабочусь, чтобы мои коллеги эту статью написали.

Идея, кому, зачем

Чат с AI-агентом —  наверное, самый текстовый на свете инструмент, поэтому идея применить его в самом текстовом интерфейсе, то есть CLI, лежала на поверхности. Тем не менее, я скептически относилась к этой идее: у нас же серьезный дистрибутив, с фокусом на серверы, безопасность, безотказность работы инфраструктуры. Да кто подпустит к управлению AI-агента? 

У меня была установка, что если выпускаешь на рынок AI-терминал, то как будто заявляешь, что теперь развернуть условный кластер серверов для маркетплейса может хоть тракторист, хоть домохозяйка. Но конечно, в первую очередь этот продукт увидят тру-сисадмины и DevOps-инженеры, которые и без AI-агентов все умеют. Тогда зачем это все?

Пока идея настаивалась, мы пополняли наш продукт внешней обвязкой, в том числе, разрабатывали портал SELECTOS Manpages — веб-приложение с актуальными man-страницами для ПО из нашего репозитория. Уже здесь мы прикрутили умный поиск по содержимому манов и разработали чат с AI-консультантом, который может подсказать решение для серверных задач, основываясь на контенте man-страниц и документации. В итоге портал, визуально напоминающий терминал со встроенным AI-чатом и стал нашим первым прототипом, чтобы протестировать реакцию людей на интеграцию AI в решение серверных задач.

Веб-интерфейс SELECTOS Manpages с окном AI-консультанта.

Что мы увидели? В первую очередь, большой интерес и спрос со стороны нецелевой аудитории: менеджеров и нетехнических специалистов. С помощью нашего портала они генерировали инструкции для решения своих небольших задач — например, развернуть домашний сервер для шаринга материалов или MVP для новой гипотезы.

Мои опасения насчет аудитории подтверждались, но только отчасти. Действительно, нетехнические специалисты заинтересованы в новых возможностях, но и запросы у них намного скромнее, чем управление сложной инфраструктурой. Профит вроде есть: задачи нетехнарей вполне закрываются, причем без отвлечения профильных специалистов по ерунде.

Мнение профессиональных пользователей CLI, конечно, разделилось. От некоторых прозвучали прямые запросы реализовать такой же инструмент в настоящем терминале внутри серверной операционной системы. Это как минимум позволит решать свои задачи, не переключаясь между условным DeepSeek и терминалом.

Долю скептицизма и агрессии мы тоже поймали — «решили тут нас заменить тупой иишницей». Многие хейтят AI, но давайте честно ответим на вопрос, какой AI-агент у вас открыт в соседней вкладке.

Мем с рыжим котом и надписью «готов возмущаца».
Источник.

Заменит ли aish системных администраторов

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

Я уже упоминала, что с простыми задачами aish справляется, и в этом уже есть автоматизация рутины для специалистов. Вы, наверное, сразу подумали, что можно увольнять всех джунов и нанять одного сеньора с aish? Не совсем так — этот вопрос мы тоже исследовали, и увольнять, если честно, примерно некого.

Тут отчасти дело в том, что IT-инфраструктура нужна не только IT-компаниям. Медучреждения, ритейл, логистика, да хоть салон с ноготочками — всем им тоже нужны серверы и все, что вокруг них. Например, давным-давно я работала в небольшой строительной компании, где 150 рабочих мест обслуживались одним бесконечно занятым Костей. Из плюсов — админу можно не покупать абонемент в спортзал, достаточно прийти в офис.

И вот тут возникает ситуация. IT-специалист хочет быть DevOps-инженером в настоящем IT, а не эникейщиком в условном ООО «РомашкаИнфоСервис +», которое занимается ремонтом холодильников. Это неизбежно приводит к кризису компетенций и кадров в не-айтишных бизнесах. AI-помощник в терминале, конечно, не заменит админа, но даст более низкий порог входа в администрирование и ускорит рост компетенций. Плюс возьмет на себя рутинные задачи, которые некому поручить, когда ты один на 150 машин.

Как формировали продуктовые требования

Проблема составления требований была в том, что мы амбициозно закоммитились на сложную функциональность, так еще и UX и основные паттерны подрезать было неоткуда. Вы скажете: «Есть же Warp, OpenCode». Но нет, это не то же самое.

Warp устанавливается на клиентскую машину, подразумевающую наличие GUI. Это эмулятор терминала с полноценным пиксельным рендером. OpenCode — это агент, который помогает писать код в терминале, IDE или на десктопе. У него нет тандема с терминалом —  взаимодействие совсем другого плана.

Итак, у нас нет GUI, чтобы повторить поведенческие стандарты, — только TUI. Плюс специфика работы с сервером в том, что команды сразу выполняются, и нельзя так просто взять и показать пользователю альтернативную версию будущего сервера, а потом отказаться или применить.

Известный интернет-мем с Шоном Бином (Боромир).

И вишенка на торте — есть технические ограничения работы «программы в программе». Есть бесконечное количество терминалов, эмуляторов и мультиплексоров внутри разных OC, через которые будет отображаться клиентская часть aish. Из-за этого подобранные цвета, шрифты и сочетания клавиш могут повести себя непредсказуемо, а вопрос копирования и вставки — это вообще целый эпик задач.

В общем, на этом этапе мы решали только самые острые вопросы, определяющие дальнейшую разработку, и в меньшей степени углублялись в проработку UX-деталей. По части UX было много гипотез, но любая удобняшка в интерфейсе выливалась в разработку сложных компонентов, а мы даже не были уверены, как эти компоненты будут использовать (спойлер: не всегда так, как мы задумывали). 

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

Мы не были уверены, что четко понимаем основные сценарии использования: у нас не было индустриального стандарта, потому что на российском рынке мы были если не первыми, то одними из первых, кто приступил к разработке такого продукта. Так что мы решили самым коротким путем прийти к реализации базового флоу:

  1. пользователь описывает свою проблему,
  2. aish подсказывает решение и предлагает выполнение команды,
  3. пользователь подтверждает или отказывается от выполнения,
  4. в случае апрува в терминале выполняется команда от имени пользователя.

Первая рабочая версия

Мы получили первый рабочий прототип и начали сами его использовать. Наши сценарии были такими:

  • вспомнить или составить сложную команду,
  • внести правки в файл,
  • сгенерировать конфиг.

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

Что под капотом

Мы видели aish как серверное решение. Пользователь со своего десктопа подключился к серверу по SSH, там запустился aish, а в терминале на десктопе отобразилась клиентская часть программы. То есть пользователю не нужно ничего устанавливать на свой ноут — только запустить aish на сервере

Текстовое приветствие в терминале при подключении по SSH.

Команды, которые aish выполняет на сервере, вызываются от имени пользователя, который им управляет. То есть по сути AI-агент и пользователь делят один терминал.

Для разработки UI мы взяли фреймворк ratatui, а в качестве интеллектуальной составляющей чата —  базовую модель Qwen3-30B-Instruct. Долго не выбирали: модель хорошо обучена на тулинг и кодинг и при этом небольшая, размещается на видеокарты объемом в 80 Гб VRAM. А тюнить и дорабатывать под наши задачи и скиллы однажды придется любую модель — одним только системным промптом не отделаешься. Будем экспериментировать и с другими моделями.

Мы выпустили первую итерацию и перешли к private preview нашего продукта, а также к наблюдениям за пользователями на стендах конференций.

Наблюдения за пользователями

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

Запрос на сравнение файлов в терминале aish.

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

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

Мы поправили проблему с раскладкой и мышью, а к следующему мероприятию подготовили для гостей конкретные задачи, которые нужно было выполнить с помощью aish. Теперь, когда базовое неудобство вышло из чата, мы смогли увидеть более интересные инсайты: 

  • в решении реальных задач некоторые сознательно прибегают к английским промптам в целях экономии токенов;
  • перед тем как решить проблему, более опытный пользователь предварительно изучает контекст;
  • иногда запросы остаются слишком обобщенными, и тогда AI-агент придумывает себе дополнительный контекст вместо того, чтобы уточнить детали;
  • AI-агент может формально выполнить задачу пользователя, но потерять пользовательские данные, перезаписав файлы;
  • то, как я (менеджер) выполняю задачи при тестировании работы демо-стенда и то, как это делают специалисты по администрированию — очень разные сценарии.

Как используем сами

Начну с себя: я регулярно использую aish для подготовки стендов для демонстрации SELECTOS. Я менеджер, и моя экспертиза в администрировании инфраструктуры весьма поверхностна. Я понимаю примерную последовательность действий для достижения результата, но плохо помню команды и флаги наизусть — обычно приходится лезть в документацию и маны, копировать команды.

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

Наши разработчики и QA-инженеры тоже используют aish для рутинных задач: сгенерировать дифф между файлами, составить сложную команду и т.п.

В общем, у нас этот инструмент уже не отнять, так что будем развивать его.

Что дальше

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

  • добавить детерминированности к предложенным результатам — внедрить skills;
  • реализовать основной цикл решения задачи: планирование -> сборка -> действие ->…;
  • улучшить проверку на деструктивность команд;
  • проверять наличие секретов в отправляемых данных и цензурировать их;
  • очень точечно разделять, для каких команд нужно подтверждение, а для каких нет;
  • улучшить визуализацию информации в чате.

Летом мы планируем добавить усовершенствованную версию aish в открытый репозиторий SELECTOS и сделать его доступным всем без регистрации и SMS. Если хотите попробовать, вступайте в коммьюнити и следите за нашими новостями.