Skip to content

Repository files navigation

report-agent

что внутри

  • yaml сценарий отчета с версией
  • три раздела с instruction.yaml, prompt.txt, schema.json и script.py
  • sqlite источник данных
  • миграции с синтетическими demo данными
  • fake llm без реального api
  • workflow init -> orchestrator -> section_writer -> finalize
  • markdown и docx export
  • mcp tools на fastmcp
  • pytest тесты без запуска настоящего mcp сервера
  • управление зависимостями через uv

запуск локально

uv sync --dev
uv run python -m app.migrations apply
uv run python main.py --entity-id demo-1 --query "сделай акцент на рисках"

запуск тестов

uv run pytest -q

запуск mcp сервера

uv run python -m app.mcp_server

docker

docker build -t report-agent-api .
docker run --rm -v "$PWD/reports:/app/reports" -v "$PWD/data:/app/data" report-agent-api

контейнер применяет миграции из команды dockerfile перед запуском mcp сервера

docker compose

docker compose up --build

makefile

make sync
make lock
make migrate
make test
make check
make run-cli
make run-mcp
make docker-build
make docker-up
make docker-down
make clean

переменные для cli

make run-cli ENTITY_ID=demo-2 QUERY="сделай акцент на рисках"

доступные demo сущности

  • demo-1
  • demo-2

mcp tools

  • generate_training_report(entity_id: str, query: str = "")
  • list_training_report_sections()

контракт generate_training_report

{
"error": false,
"errorMessage": "",
"result": {
"total": 3,
"successCount": 3,
"errorCount": 0,
"exports": [],
"links": [],
"errors": []
}
}

негативные сценарии

  • неизвестная сущность возвращает error=true в mcp tool
  • отсутствующий сценарий раздела падает при загрузке section scenario
  • сломанный schema.json дает ScenarioLoadError
  • падение script.py прерывает workflow
  • fake llm без save_section дает ReportGenerationError
  • query_document до готовых разделов запрещен
  • превышение лимита query_document запрещено

схема workflow

init_report -> orchestrator -> section_writer -> finalize

где создаются отчеты

reports/report_<entity>_<timestamp_msk>_<report_uuid>.md
reports/report_<entity>_<timestamp_msk>_<report_uuid>.docx

About

Report generation service: YAML scenarios drive a structured workflow, Markdown output, DOCX export and FastMCP tools

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages