@iola_adm/iola-cli
v0.2.69
Published
CLI и AI-агент городского округа Йошкар-Ола.
Readme
iola-cli
CLI и AI-агент городского округа "Город Йошкар-Ола".
Подробная документация: GitHub Wiki.
Публичные endpoints:
https://apiiola.yasg.ru/api/v1https://apiiola.yasg.ru/mcp
Быстрый старт
Windows
Для обычной установки на Windows используйте premium .exe-установщик из раздела Releases.
Установщик:
- открывает современное окно с фоном из проекта;
- показывает прогресс и лог установки;
- позволяет выбрать папку установки во встроенном glassmorphism-проводнике без открытия системного окна;
- позволяет создать папку внутри выбора папки кнопкой
Новая папкаили через контекстное меню по правому клику; - спрашивает имя ярлыка;
- создает отдельный локальный профиль данных через
IOLA_HOMEвнутри выбранной папки установки; - создает ярлык в меню Пуск и, по выбору пользователя, на рабочем столе;
- проверяет Node.js и при необходимости пытается установить его через
winget; - предлагает сразу запустить мастер настройки.
Можно создать несколько независимых ярлыков, например IOLA Дом, IOLA Работа, IOLA Тест. У каждого профиля будут свои настройки, ключи, SQLite-БД и локальные данные.
npm
Проверьте Node.js:
node --version
npm --versionНужен Node.js 22.5.0 или новее.
Установка и первый запуск:
npm install -g @iola_adm/iola-cli
iolaБез глобальной установки:
npx -y @iola_adm/iola-cliПри первом запуске iola открывает мастер настройки, затем запускает интерактивный агент. Короткая справка: iola help, полный список команд: iola commands.
Повторный запуск мастера:
iola masterМастер обновляет только выбранные разделы и не сбрасывает остальные настройки.
Основные команды:
iola search "Петрова"
iola card "школа 29"
iola ask "найди школу 29"
iola sync
iola quality
iola agentРабочий агент:
iola skills list
iola skills create mail-digest --description "Сводка почты" --instructions "Когда пользователь просит сводку почты, найди непрочитанные письма и кратко сгруппируй их по отправителям." --allowed-tools yandex_mail_list,yandex_mail_read --enable
iola tools toolsets
iola files mode read-only
iola files tree .
iola policy use analyst
iola tasks list
iola artifacts list
iola trace last
iola changes list
iola archive doctor
iola index status
iola reports list
iola plugins list
iola context init
iola cron list
iola daemon status
iola rpc call status
iola settings list
iola mcp serve --stdio
iola usage summary
iola budget status
iola subagents list
iola trajectory last
iola review config
iola browser status
iola security doctorSecurity model
iola-cli - локальный CLI-агент с широкими полномочиями. Он может запускать локальные процессы, обращаться к сети, хранить локальные секреты и работать с файлами только в рамках включенных пользователем режимов.
Секреты хранятся локально в ~/.iola/secrets.json и не входят в npm-пакет. postinstall выполняет локальную подготовку: SQLite, browser runtime, локальная модель IOLA и OAuth-иконка; пользовательские секреты он не читает.
Произвольный JavaScript в browser runtime заблокирован по умолчанию. Команда iola browser eval требует явного unsafe-режима: IOLA_ALLOW_BROWSER_EVAL=1 и --unsafe-eval.
Проверка:
iola security doctorПодробно: SECURITY.md.
Локальная модель IOLA через Ollama/GGUF:
iola ai setup iola --yes
iola ask "дай телефон школы № 2"CLI использует модель iola-router:qwen3-1.7b-v4-q8 из GGUF-репозитория LMSerg/iola-router-qwen3-1.7b-v4-gguf. При установке CLI проверяет наличие модели и не скачивает ее повторно, если локальная модель уже установлена. При запуске локального AI CLI проверяет свежесть модели и обновляет ее при необходимости. Принудительная переустановка доступна командой iola ai setup iola --yes --force.
Выбор модели:
/modelВ интерактивном CLI команда /model переключает локальные модели, российские AI-провайдеры YandexGPT/GigaChat, API-профили OpenAI/OpenRouter/Yakunin-Router и Codex CLI. Российские провайдеры вызываются напрямую, без gateway/proxy. Для OpenRouter и Yakunin-Router выбор устроен так: сначала выбирается разработчик моделей, затем CLI показывает до 30 самых свежих моделей для текстовой работы с датой релиза и размером контекста. В списке моделей 0 возвращает к выбору разработчика.
В локальном выборе доступны:
- штатная модель IOLA
iola-router:qwen3-1.7b-v4-q8; - установленные и рекомендуемые модели Ollama;
- ручной ввод имени любой Ollama-модели, например
qwen3:4bилиllama3.2:3b.
Если выбранная Ollama-модель еще не скачана, CLI предложит выполнить ollama pull.
Российские AI:
- Yandex AI Studio / YandexGPT: рекомендуется подключать через
Yandex Cloud Connectorв мастере настройки или командойiola yandex cloud setup; документацияhttps://yandex.cloud/ru/docs/foundation-models/, аутентификацияhttps://yandex.cloud/ru/docs/ai-studio/api-ref/authentication, тарифыhttps://yandex.cloud/ru/docs/foundation-models/pricing; - GigaChat: документация
https://developers.sber.ru/docs/ru/gigachat/overview, получение токенаhttps://developers.sber.ru/docs/ru/gigachat/api/reference/rest/post-token, тарифыhttps://developers.sber.ru/docs/ru/gigachat/tariffs.
iola yandex cloud setup
/model
iola ai key set gigachat
iola ai setup gigachat --model GigaChat-2У GigaChat для физических лиц есть Freemium-лимит на токены; для больших объемов используются платные пакеты. У YandexGPT тарификация идет через Yandex Cloud по токенам и квотам аккаунта, актуальные бесплатные гранты или лимиты нужно проверять в консоли Yandex Cloud.
Геокодер для пользовательских geo-skills:
iola yandex cloud setup
iola geo key set yandex
iola geo key doctor
iola geo geocode "Йошкар-Ола, улица Петрова, 15"
iola geo nearby "Йошкар-Ола, улица Петрова, 15" --dataset all --limit 5
iola geo distance --from "Петрова 15" --to "школа 7"
iola geo map-link "школа 7"
iola geo resolve "садик золотой петушок"
iola geo route-context "школа 7"
iola geo services "Йошкар-Ола, улица Петрова, 15"Рекомендуемый путь подключения геокодера и YandexGPT: Yandex Cloud Connector. Отдельная инструкция по ручному ключу геокодера: Yandex Geocoder API key. Список сценариев: Скиллы для жителей.
Облачные диски для личных документов:
iola cloud setup yandex-disk
iola cloud setup mailru-cloud
iola cloud status
iola cloud mkdir /IOLA/Фото
iola cloud find "справка" --path /IOLA
iola cloud upload report.md /IOLA/reports/report.md
iola cloud share /IOLA/reports/report.md
iola cloud backupИнструкция: Облачные диски.
Yandex Connector открывает браузер, авторизует пользователя в Яндексе и сохраняет OAuth-токен локально. Какие функции CLI реально использует, выбирается отдельно:
iola yandex services
iola yandex setup
iola yandex menu
iola yandex statusYandex Connector использует две встроенные OAuth-группы: IOLA CLI A для Yandex ID, Диска, Почты и документов через Диск; IOLA CLI B для Календаря, Контактов и Телемоста через календарь. Yandex Cloud Connector подключается отдельно для геокодера и YandexGPT. Яндекс Go сейчас умеет готовить deeplink маршрута через геокодер; заказ, цена и машина через API ждут clid/apikey от Яндекса.
В /yandex функции выбираются номерами через запятую, как в мастере настройки. Там же есть пункт Удалить подключение-коннектор, который чистит локальные токены и настройки Yandex Connector. Мастер считает коннектор готовым только после токенов обеих групп.
Yandex tools уже доступны: профиль Yandex ID, расширенная работа с Яндекс Диском (место, список, поиск, карточка, чтение текста, папки, загрузка, скачивание, ссылки, QR-коды к публичным ссылкам, отправка ссылки и QR по почте, перемещение, копирование, переименование, корзина), статус/список/поиск/чтение/отправка Яндекс Почты, полноценная работа с Календарем через CalDAV (календари, список, поиск, создание, перенос, редактирование, напоминания, повторы, удаление), Яндекс Документы/360 через Диск (создание текстовых документов, поиск, чтение, ссылки/QR, переименование, удаление), расширенные Яндекс Контакты (поиск, создание, обновление, удаление, импорт/экспорт, дубликаты, backup на Диск, дни рождения в календарь, регулярная contacts-maintenance проверка), Yandex Cloud Connector для геокодера/YandexGPT и Яндекс Go deeplink маршрута. Комбинированные сценарии: пакет по письму (сохранить письмо на Диск, ссылка/QR, событие календаря), полный пакет по контакту (папка, документ, ссылка/QR, встреча), письмо контакту, ссылка+QR контакту, папка контакта на Диске, встреча/Телемост с контактом. Телемост пытается использовать прямой API, а если он недоступен текущему аккаунту, честно создает календарное событие без выдуманной ссылки. Отправка письма, удаление/перемещение файлов, публикация ссылок, изменение контактов, документов и событий требуют явного подтверждения.
Инструкция: Yandex Connector.
Мой домофон:
iola ufanet
iola ufanet setup
iola ufanet intercoms
iola ufanet open
iola ufanet open ID
iola ufanet history
iola ufanet cameras
iola ufanet camera open НОМЕР
iola ufanet camera snapshot НОМЕР
iola ufanet watch
iola ufanet notifications on
iola ufanet notifications off
iola dom_ru
iola dom_ru setup
iola dom_ru places
iola dom_ru intercoms
iola dom_ru open
iola dom_ru history
iola dom_ru codes
iola rostelecom/ufanet и /dom_ru в интерактивном CLI открывают отдельные меню домофонов с выбором действия цифрой, но в обычном диалоге пользователю не нужно помнить провайдера. Фразы покажи домофоны и открой домофон работают через общий слой: CLI проверяет подключенные провайдеры, собирает доступные домофоны, открывает единственный домофон сразу или просит выбрать адрес цифрой, если их несколько. Уфанет поддерживает список домофонов, открытие двери после подтверждения, историю звонков, записи звонков, безопасный список камер без вывода RTSP-токенов, открытие видео во внешнем плеере, локальный снимок камеры через ffmpeg и уведомления о новых вызовах через опрос истории звонков, пока CLI открыт. Дом.ру поддерживает адреса, домофоны, открытие двери после подтверждения, историю событий и временные коды. При уведомлении о вызове Уфанета можно ответить да, да открой или нет. Ростелеком добавлен как видимое направление в разработке.
Инструкция: Мой домофон.
Зарубежные API-ключи:
- OpenAI Platform: регистрация
https://platform.openai.com/, ключиhttps://platform.openai.com/api-keys; - OpenRouter: регистрация
https://openrouter.ai/, ключиhttps://openrouter.ai/settings/keys.
Ключи сохраняются локально командой iola ai key set openai или iola ai key set openrouter. Важно: оплата российскими банковскими картами для OpenAI Platform и OpenRouter может быть невозможна. Перед настройкой платных API проверьте доступный способ оплаты в личном кабинете сервиса.
Yakunin-Router (Карты РФ):
/model
# API (OpenAI/OpenRouter/Yakunin-Router)
# Yakunin-Router (Карты РФ)Yakunin-Router создает платежную ссылку, открывает ее в браузере или банковском приложении и после успешной оплаты сохраняет локальный ключ, совместимый с OpenRouter, в ~/.iola/secrets.json. Если автоматическое открытие не сработало, CLI покажет ссылку и QR-код СБП в терминале как резервный вариант. Модели выбираются из того же каталога OpenRouter, но пользователь оплачивает пополнение российской картой/СБП. В меню API есть отдельный пункт Пополнить баланс Yakunin-Router.
Ollama остается опциональным runtime:
iola ai setup ollamaОбновление:
npm install -g @iola_adm/iola-cli@latest
iola version --checkДокументация
- Установка
- Первый запуск
- Мастер настройки
- AI-профили
- Yandex Geocoder API key
- Yandex Cloud Connector
- Yandex Connector
- Мой домофон
- Облачные диски
- Скиллы для жителей
- Локальный инструментальный агент
- Skills и toolsets
- Локальные файлы
- Рабочая среда агента
- Платформа агента
- Браузерный агент
- Расширения и локальные данные
- Архивы и мастер настройки
- Daemon, RPC и cron
- Контекст и память
- Команды
- Решение проблем
Возможности
- интеграция с публичным MCP-сервером Йошкар-Олы;
- поиск и выгрузка открытых данных;
- локальная SQLite-БД, история, сессии и FTS-поиск;
- AI-профили для IOLA local, Ollama, YandexGPT, GigaChat, OpenAI, OpenRouter и Codex CLI;
- Yandex Connector: единая точка подключения пользовательских сервисов Яндекса с локальным хранением OAuth-токенов;
- Yandex Cloud Connector: геокодер, YandexGPT и deeplink маршрута Яндекс Go;
- Мой домофон Уфанет: домофоны, история звонков, записи, камеры и открытие двери после подтверждения;
- локальный tool-agent для модели IOLA с tools открытых данных, файлов, браузера и сервисов Яндекса;
- ленивые skills, toolsets, permissions, memory, hooks и готовые agents;
- личные облачные диски: Яндекс Диск и Облако Mail.ru для сохранения отчетов, backup и документов;
- subagents, skill bundles, layered settings, usage/budget accounting и trajectory export;
- пользовательские skills: шаблоны, preview, validate, create/update/enable/disable/delete;
- локальный MCP-сервер по stdio/http для подключения iola-cli к другим AI-клиентам;
- ответы по открытым данным берутся из публичного MCP
https://apiiola.yasg.ru/mcp; - локальная БД и прямой API используются как резерв, если публичный MCP временно недоступен;
- дополнительные stdio MCP-серверы можно добавить в
~/.iola/config.jsonв разделmcp.servers; - браузерный runtime через Playwright: чтение страниц, скриншоты, PDF, клики, ввод и eval;
- управляемые локальные файловые операции с режимами
locked,read-only,workspace-write,full-access; - планы выполнения, traces, tasks, artifacts, snapshots и policy-профили;
- экспорт отчетов в Excel/Word-совместимые файлы;
- staged changes, импорт локальных CSV/JSON, индекс локальных документов, report packs, plugins и локальный MCP endpoint;
- чтение и индексирование
.docx,.xlsx,.pptx,.pdf,.md,.txt,.csv,.json,.html; - работа с архивами через 7-Zip:
.zip,.7z,.rar,.tar,.gz,.tgz,.bz2,.xzи другие; - расширенный
iola onboardс установкой 7-Zip, браузерного runtime, IOLA local, Ollama, Codex CLI и настройкой выбранных компонентов; - cron-задачи, локальный daemon, web dashboard и RPC для автоматизаций, включая автоопрос почты, ежедневный дайджест, календарные напоминания, проверку контактов и аудит Яндекс Диска;
- контекстные файлы
IOLA.mdи.iola/context.md;
