eva-agent/README.md
Andrey Epifancev acdd52742e check, README, сквозной прогон с хабом (#1)
cmd_check проверяет хаб и Eva (код 0 или 3), флаг run --once,
scripts/e2e-hub.sh поднимает тестовый хаб во временном JIRA_HUB_HOME.
Решения 33–35 в design.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 05:32:32 +04:00

3.4 KiB
Raw Blame History

eva-agent

Агент модуля wiki хаба (sdlc-hub) для виртуалки банка с доступом к Eva. Опрашивает хаб, выгружает поддерево страниц Eva (wiki_sync) и скачивает вложения (wiki_fetch); в Eva только читает. Python 3.9, только стандартная библиотека, один файл src/agent.py и запускатель src/run.py.

Установка на виртуалку

  1. Каталог рядом с jira-agent, например C:\...\eva-agent\ или ~/eva-agent/.
  2. Положить в него agent.py и run.py (из src/) и agent.json (из agent.example.json):
    • hub_url — тот же folder:<путь>, что у jira-agent (общая папка с хабом; при VPN виртуалка не видит Mac mini по сети), либо http://<хост>:8790;
    • hub_token — строка «агент wiki» из jira-hub tokens (токен именно агента wiki, не jira и не клиентский);
    • eva.base_url — адрес Eva; eva.token — токен из профиля Eva (Безопасность);
    • verify_ssl, ca_bundle — при корпоративном сертификате. agent.json содержит токены: не коммитить, не выносить с виртуалки.
  3. Проверка: python3 agent.py check — печатает «хаб: доступен…» и «eva: ok»; код 0, при недоступности хаба или Eva — 3.
  4. Запуск: python3 run.py (запускатель следит за версиями и самообновлением). python3 agent.py run — без запускателя.
  5. Автозапуск — как у jira-agent (планировщик задач / launchd по тому же образцу); запускатель сам перезапускает агента.

Другие команды: python3 agent.py run --once (выполнить выданное и выйти при первом пустом claim), selftest (версия + check, код 0 или 3), prune (чистка журнала).

Выкатка новых версий

Из основного checkout репозитория (не из worktree), при поднятой версии AGENT_VERSION в src/agent.py:

uv run --project ../jira-hub jira-hub agent publish --module wiki src/agent.py

Агент подтянет её сам (auto_update); min_agent_version хаба поднимать после того, как agent_status покажет новую.

Разработка

Настройки — src/agent.example.json. Тесты: /usr/bin/python3 -W error::ResourceWarning -m unittest discover -s tests -t .

Сквозной прогон с настоящим хабом и фейковой Eva: bash scripts/e2e-hub.sh (печатает «e2e: ok», ~1 мин). Хаб берётся из ../../../jira-hub/.wt/wiki (переменная HUB_SRC), запускается на свободном порту с временным JIRA_HUB_HOME; живой хаб не затрагивается. Проверяет: проект с wiki_root, wiki_sync на 5 страниц, Markdown со ссылкой attachment:<id>, wiki_fetch вложения и его содержимое.