# Dionis — агент для Василия

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

**Получателю агента:** пошаговая инструкция — [`INSTALL.md`](INSTALL.md).
Короткий путь — запустить `setup.cmd` двойным кликом (он ставит Git, Hermes и агента,
оставляет вписать только ключ). Вручную — из файла `vasily-<версия>.bundle`,
доступ к репозиторию не нужен.

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

## Что внутри

| Путь | Что это |
|---|---|
| `distribution.yaml` | манифест: имя, версия, автор, требуемые переменные окружения |
| `SOUL.md` | персона агента (правится под владельца) |
| `config.yaml` | модель, провайдер (Polza.ai), инструменты, язык — **без ключей** |
| `skills/` | 58 штатных скиллов Hermes (документы, таблицы, PDF, поиск, почта, заметки, код) |
| `INSTALL.md` | пошаговая инструкция для получателя |
| `.env.template` | шаблон `.env`, устанавливается как `.env.EXAMPLE` |

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

## Что не входит

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

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

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

Получатель разворачивает бандл по `INSTALL.md` (шаг 3).

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

Поднять версию в `distribution.yaml`, закоммитить, создать новый бандл и передать файл.
Получатель ставит его с флагом `--force` (шаг 7 в `INSTALL.md`): файлы агента
перезаписываются, `.env` с ключом, память и история остаются.

**Windows-ловушка при `--force`:** git кладёт файлы внутри `.git/objects/pack` с
атрибутом ReadOnly, и установщик падает с `PermissionError: [WinError 5]` при попытке
удалить прежнюю копию. Лечится снятием атрибута (команда в `INSTALL.md`, шаг 7).
Альтернатива без этого шага — установить поверх через `hermes profile update vasily`,
если источник в манифесте указывает на актуальный каталог/URL: `update` тянет
дистрибутив заново и тоже упирается в тот же ReadOnly, так что снятие атрибута —
основной путь.

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

```bash
hermes profile install <этот каталог> --name vasily-test --yes
hermes profile info vasily-test        # версия, источник, требуемая переменная
hermes -p vasily-test chat -q "Назови себя и кому помогаешь."
hermes profile delete vasily-test -y   # на Windows сначала: hermes -p default gateway stop
```

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

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

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

Добавляется уже в установленном профиле:

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