AILab SCRUME Agent — настольный помощник на базе ИИ. Релиз v1.5.2: рабочие папки не от %TEMP%, починка установки на удалённых машинах. Установка — одной командой PowerShell.

@Oleg Oleg authored 8 days ago
desktop-plugins v1.7.5: имя ключа из key_env config.yaml, повторы на сетевых сбоях 10 days ago
skills 1.7.6 п.1: скилл ai-data-perimeter и пакет обезличивания перенесены в сборку 8 days ago
.env.template v1.6.0: набор скиллов AI_Lab_SCRUM Co, каталог моделей по цене, ГОСТ-ассистент, скрытые проверки обновлений Hermes, токены в чипе расхода 21 days ago
.gitignore v1.6.1: чип моделей разделён на факт (costLines) и прайс каталога; скилл ailab-docx убран до шаблона; в ailab-pdf оговорка про константы 21 days ago
CHANGELOG.md v1.7.6: привязка доступа к машине (зачисление + key_cmd, п.8) и брендинг OM_Lab_Agent 8 days ago
INSTALL.md v1.7.6: привязка доступа к машине (зачисление + key_cmd, п.8) и брендинг OM_Lab_Agent 8 days ago
LICENSE Add LICENSE and NOTICE: upstream MIT notice (Nous Research), trademark disclaimer, third-party attributions 20 days ago
NOTICE Add LICENSE and NOTICE: upstream MIT notice (Nous Research), trademark disclaimer, third-party attributions 20 days ago
README.md v1.7.6: привязка доступа к машине (зачисление + key_cmd, п.8) и брендинг OM_Lab_Agent 8 days ago
SOUL.md v1.3.0: агент переименован Dionis -> AILab SCRUME Agent, роль 'личный помощник' 28 days ago
config.yaml v1.7.0: модели только через шлюз, каталог явным списком, vision тем же ключом, чипы агрегатора убраны 11 days ago
distribution.yaml v1.7.6: привязка доступа к машине (зачисление + key_cmd, п.8) и брендинг OM_Lab_Agent 8 days ago
update-check.ps1 автообновление: источник — наш сервер (version.json), GitHub-релизы закрыты 11 days ago
README.md

OM_Lab_Agent

Текущая версия: 1.7.5.

Дистрибутив Hermes Agent: персона личного помощника, базовый конфиг, 58 скиллов.
Автор: AI laboratory SCRUM company.

Основано на Hermes Agent © Nous Research, лицензия MIT. Авторские права,
товарные знаки и сторонние компоненты описаны в NOTICE и LICENSE; вместе с
приложением поставляются resources\LICENSE, resources\NOTICE и
resources\THIRD-PARTY-LICENSES.txt. Это независимая сборка, не связанная с
Nous Research и не одобренная ими.

⛔ НЕ запускайте установку «от имени администратора»

Откройте обычное окно PowerShell (Win+R → powershell). Не «Запуск от имени
администратора».

Запуск с повышением прав — главная причина отказа: папки в доме агента создаются от
другой учётной записи, и потом движок не может прочитать свой собственный Python.
Установка встаёт мгновенно с Access is denied, ещё до любой загрузки.

Единственное, что запускается от администратора, — файл починки FIX.cmd
(и WIPE.cmd), и только если установка уже остановилась.

Получателю агента: не нужно ничего скачивать и распаковывать руками. Откройте
PowerShell (Win+R → powershell) и вставьте целиком, одной строкой:

$d = Join-Path $env:LOCALAPPDATA 'ailab-setup'; New-Item -ItemType Directory -Force -Path $d | Out-Null; Set-Location $d; Remove-Item -Recurse -Force ailab -ErrorAction SilentlyContinue; curl.exe -L --fail -o ailab.zip "https://ailabscrume.ru/downloads/agent-setup.zip"; if (-not (Test-Path ailab.zip) -or (Get-Item ailab.zip).Length -lt 1MB) { throw "Архив не скачался. Папка: $d" }; Expand-Archive ailab.zip ailab -Force; .\ailab\setup.cmd

Дальше всё делает установщик: ставит движок и агента, открывает Блокнот для ключа,
прогревает окружение, качает и ставит окно приложения, кладёт ярлык «OM_Lab_Agent»
на рабочий стол. Ключ API выдаёт владелец агента. Доступ к репозиторию не нужен.

Ссылка постоянная — не меняется при выпуске новых версий, повторный запуск обновляет агента
(ключ, память и переписка сохраняются). Подробности — INSTALL.md.

Если установка остановилась

В той же распакованной папке лежат файлы помощи — запускаются двойным кликом:

Файл Что делает От администратора?
CHK.cmd показывает, что видит установщик, и права на файлы нет
ACL.cmd показывает правила доступа к папке агента нет
FIX.cmd починка прав. Ключ и переписка сохраняются да
WIPE.cmd полный снос папки агента и установка заново. Ключ вписывать заново да

CHK и ACL ничего не меняют.

Автору: это исходник дистрибутива. Пакет для передачи собирается скриптом
dist/vasily-setup/build-package.ps1 (имя папки историческое).

Что внутри

Путь Что это
distribution.yaml манифест: имя, версия, автор, требуемые переменные окружения
SOUL.md персона агента: OM_Lab_Agent, личный помощник
config.yaml модель, провайдер (Polza.ai), инструменты, язык — без ключей
skills/ 62 скилла: 58 штатных Hermes + 4 наших (skills/ailab/)
INSTALL.md пошаговая инструкция для получателя
update-check.ps1 ночная проверка обновлений; ставится задачей Планировщика AILabAgentUpdate
desktop-plugins/ шесть плагинов окна: version-badge, slogan, hide-messaging, session-time, polza-limit, polza-models
.env.template шаблон .env, устанавливается как .env.EXAMPLE

Ключ API живёт только в .env получателя: в config.yaml стоит
key_env: HERMES_CUSTOM_POLZA_AI_API_KEY — имя переменной, а не значение.
В репозитории ключей нет.

Куда ставится

Агент ставится в корневой дом Hermes (%LOCALAPPDATA%\hermes), а не в именованный
профиль. Так у получателя ровно один агент и нет меню профилей — это требование сборки.

hermes profile install здесь не используется: он умеет только именованные профили, а
запарковать корневой профиль ядро Hermes не даёт (намеренно игнорирует gateway.parked
для default). Поэтому setup.ps1 копирует SOUL.md, config.yaml и skills/ в корень
сам и ставит файл-маркер .ailab-install.json, по которому следующий запуск понимает,
что это обновление, а не чужая установка.

Что агент умеет

Документы читает и создаёт Excel (.xlsx), Word (.docx), PowerPoint (.pptx), PDF — включая формы, объединение, шифрование и извлечение текста
Файлы чтение и запись, поиск по содержимому
Терминал и код включены — на них построены скиллы документов
Веб-поиск через MCP-серверы, подключаются отдельно
Голос включён: распознавание речи (локальный Whisper, без ключей) и синтез русским голосом (edge)
Номер сборки виден в заголовке окна чипом AILab v<версия> (плагин version-badge)
Девиз справа от номера сборки, в заголовке окна (плагин slogan); на узком окне скрывается сам
Время сессии счётчик в композере слева от чипа Polza.ai (плагин session-time)
Цены моделей чип Модели рядом с расходом: две секции — по факту списания (свои модели, ставка из costLines) и прайс каталога — не факт (плагин polza-models)
ГОСТ-ассистент MCP-сервер gostassistent в конфиге; включается своим ключом в .env
Обновления наши ставятся сами раз в сутки ночью (задача AILabAgentUpdate); сообщения об обновлениях самого Hermes выключены (updates.check: false)
Навигация строка «Сообщения» убрана из боковой панели (плагин hide-messaging)
Настройки экспорт, импорт и сброс — рабочие; после «Сброса» запустите установку заново
Управление рабочим столом выключено (computer_use)

Терминал и запуск кода включены осознанно. Без них не работают скиллы Excel, Word,
PDF и почты: они построены на запуске python-скриптов, а другого способа запустить
скрипт в Hermes нет. Пакеты для документов (openpyxl, python-docx, python-pptx, pypdf, reportlab, pdfplumber) установщик ставит сам на шаге 8 — на живом доме проверено создание и чтение всех четырёх форматов.

Скрыть их у получателя можно так:

hermes config set agent.disabled_toolsets "[terminal, code_execution, computer_use]"

Голос работает без ключей: распознавание — локальная модель Whisper, синтез — бесплатный
русский голос edge. Модель распознавания скачается при первом использовании.

Что не входит

  • API-ключи, auth.json, пароли dashboard — только свои, локальные.
  • MCP-серверы (Revit, AutoCAD и прочее) — не подключены, ставятся отдельно под свои задачи.
  • SSH-бэкенд, cron-задачи, память и история автора.

Передать получателю (файлом)

cd "$LOCALAPPDATA/hermes/dist/vasily-setup"
powershell -NoProfile -ExecutionPolicy Bypass -File build-package.ps1

Скрипт берёт версию из distribution.yaml, собирает бандл, копирует setup.cmd,
setup.ps1, INSTALL.md, ПРОЧТИ-МЕНЯ.txt и складывает всё в
../ailab-setup-v<версия>.zip.

Или вручную только бандл:

cd <этот каталог>
git bundle create ../ailab-v<версия>.bundle --all
git bundle verify ../ailab-v<версия>.bundle   # ожидается «is okay» + «complete history»

Получатель разворачивает по INSTALL.md.

Обновить агента у получателя

Обновляется само. Установщик заводит задачу Планировщика AILabAgentUpdate:
раз в сутки ночью она сравнивает установленную версию с последним релизом на GitHub и,
если вышла новая, ставит её. Условие одно — окно агента в этот момент должно быть закрыто,
иначе проверка отложится до следующей ночи. Журнал: %LOCALAPPDATA%\hermes\logs\update-check.log.
Отключается update-check.ps1 -Off.

Вручную (когда нужно сразу): поднять version в distribution.yaml, закоммитить,
поставить тег, пересобрать пакет build-package.ps1 и передать новый архив. Получателю
достаточно положить новый ailab-<версия>.bundle рядом со setup.cmd и запустить его
снова: маркер в доме подскажет, что это обновление, а .env с ключом, память и переписка
не трогаются.

Проверка перед передачей

Тест на подменённой машине — так собственный дом не участвует:

# 1. "машина" получателя: рантайм без агента
$fake = 'C:\tmp\recv\AppData\Local'
New-Item -ItemType Directory "$fake\hermes" -Force
Copy-Item "$env:LOCALAPPDATA\hermes\tools" "$fake\hermes\tools" -Recurse
Copy-Item "$env:LOCALAPPDATA\hermes\bin"   "$fake\hermes\bin"   -Recurse

# 2. прогон установщика в ней
$env:LOCALAPPDATA = $fake
cd C:\tmp\recv\package          # распакованный ailab-setup-*.zip
powershell -NoProfile -ExecutionPolicy Bypass -File .\setup.ps1

Проверить после прогона: %LOCALAPPDATA%\hermes\SOUL.md (персона без имени автора),
58 скиллов, .ailab-install.json с версией, .env с ключом.

Публикация в git-репозиторий (вариант с обновлением одной командой):

git tag v<версия> && git push origin master --tags

MCP (по желанию)

Добавляется уже в установленном агенте:

hermes mcp add <имя> --command <команда>
hermes mcp catalog          # посмотреть, что есть в каталоге