Текущая версия: 1.7.4.
Дистрибутив 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
Дальше всё делает установщик: ставит движок и агента, открывает Блокнот для ключа, прогревает окружение, качает и ставит окно приложения, кладёт ярлык «AILab SCRUME Agent» на рабочий стол. Ключ API выдаёт владелец агента. Доступ к репозиторию не нужен.
Ссылка постоянная — не меняется при выпуске новых версий, повторный запуск обновляет агента (ключ, память и переписка сохраняются). Подробности — INSTALL.md.
В той же распакованной папке лежат файлы помощи — запускаются двойным кликом:
| Файл | Что делает | От администратора? |
|---|---|---|
CHK.cmd |
показывает, что видит установщик, и права на файлы | нет |
ACL.cmd |
показывает правила доступа к папке агента | нет |
FIX.cmd |
починка прав. Ключ и переписка сохраняются | да |
WIPE.cmd |
полный снос папки агента и установка заново. Ключ вписывать заново | да |
CHK и ACL ничего не меняют.
Автору: это исходник дистрибутива. Пакет для передачи собирается скриптом dist/vasily-setup/build-package.ps1 (имя папки историческое).
| Путь | Что это |
|---|---|
distribution.yaml |
манифест: имя, версия, автор, требуемые переменные окружения |
SOUL.md |
персона агента: AILab SCRUME 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. Модель распознавания скачается при первом использовании.
auth.json, пароли dashboard — только свои, локальные.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
Добавляется уже в установленном агенте:
hermes mcp add <имя> --command <команда> hermes mcp catalog # посмотреть, что есть в каталоге