AI-shell
SELECTOS AI-shell (aish) — это утилита-оболочка для управления операционной системой текстовыми сообщениями свободного формата. Утилита использует AI-ассистента для обработки сообщений администратора и преобразования их в команды.
Не используйте текущую версию aish в production-окружениях. На данный момент утилита находится в режиме public preview.
Как попробовать aish
Утилита aish входит в состав открытого репозитория SELECTOS и доступна всем пользователям SELECTOS.
Установка и запуск
-
Обновите список пакетов командой
sudo apt update. -
Установите aish командой
sudo apt install aish. -
Запустите приложение командой
aish.
Работа в aish
- Запустите приложение командой
aish. - Сделайте чат активным с помощью мыши или клавиатуры:
Ctrl + →. - Опишите свою задачу в поле ввода в правой части экрана и нажмите
Enterдля отправки сообщения. - Ознакомьтесь с ответом: AI-ассистент может предложить выполнение команд для решения задачи, а так же запросить ваше разрешение на чтение и запись файлов, выполнение команд от имени пользователя.
- Для ответа c помощью клавиатуры возьмите в фокус кнопку Once, Always или Reject и нажмите
Enter:
- Once — разрешить действие один раз
- Always — всегда разрешать это действие и больше не спрашивать в рамках текущей сессии
- Reject — отказаться от действия
Действия, для которых нужно разрешение
- чтение файлов (
tool: read) - запись файлов (
tool: write) - выполнение команд (
tool: shell)
Интерфейс взаимодействия
По умолчанию aish имеет режим разделенного экрана. Слева открыт терминал с оболочкой пользователя, а справа — чат с AI-ассистентом.
Подсказки по управлению приложением находятся под полем ввода сообщений.
Поддержка мыши и сочетания клавиш
Мышью можно скроллить и переключаться между терминалом и чатом.
Все остальные действия выполняются с помощью клавиатуры. В совместимых с aish терминалах сочетания клавиш работают независимо от раскладки.
Примечание
- В версии public preview в случае запуска интерактивного процесса AI-ассистент не сможет самостоятельно его завершить (например, закрыть редактор текста). Чтобы AI-ассистент смог выполнять команды, завершите интерактивные процессы самостоятельно.
- Вы можете остановить выполнение команды, переключив фокус на терминал мышью или комбинацией клавиш
Ctrl + ←и остановить команду с помощьюCtrl + C. - Команды, предлагаемые AI-ассистентом, будут выполнены от имени текущего пользователя.
Управление приложением
Примеры использования
Чтобы взаимодействие с помощником было эффективным, мы рекомендуем качественно описывать контекст и проблему, а также учитывать, что AI-ассистент будет выполнять команды от имени текущего пользователя. Он не сможет выполнить команды, требующие привилегий пользователя root, если у текущего пользователя недостаточно прав.
Ниже несколько примеров.
Настроить cron
Промпт: «Запускай скрипт /USER/dummy.sh каждый день в 2 ночи»
Ассистент покажет строку для crontab: 0 2 * * * /home/user/backup.sh и спросит разрешения за редактирование файла. В случае согласия задача будет добавлена в cron -l для текущего пользователя.
Создать и разметить RAID
Промпт: «объедини несколько дисков в RAID, разметь и примонтируй в /dev/» Ассистент выполнит следующие действия в случае азрешения:
- установит mdadm для создания массива,
- проверит, какие файловые системы и точки монтирования уже используются дисками,
- создаст RAID0 массив из трех дисков,
- создаст ext4 файловую систему,
- создаст и смонтирует RAID-устройство в /mnt/raid0,
- добавит запись в fstab для автоматического монтирования RAID.
Создать пользователя
Промпт: «Создай нового пользователя trex»
Ассистент предложит команду sudo useradd -m trex и будет ожидать разрешения на выполнение команды. В случае принятия предлагаемой команды будет создан новый пользователь.
Найти файлы
Промпт: «Найди все файлы с текстом special content в текущей директории»
Ассистент предложит команду grep -r "special content". В случае принятия предлагаемой команды будет в ыведен путь до файла.
Совместимость
Эмуляторы терминалов
Типы терминалов
Мультиплексоры
Совместимые
- Gnome Terminal
- Konsole
- Terminator
Условно совместимые
Несовместимые
- PuTTY (Windows)
- XTerm
Совместимые:
- xterm-256color
- xterm
- vt100
- linux
- tmux
Подразумевается запуск aish в мультиплексорах.
Совместимые
- tmux
- mosh
Несовместимые
- screen