5ca49821baa0c74e38f54b81e6675db5407ab53d
Перевел планирование аргументов на строгий json_schema response_format, добавил сценарий с битыми полями для проверки восстановления и остановку workflow на первой ошибке шага. Сейчас используется Polza.ai.
Prisma Platform MVP
MVP-реализация сценарного раннера на Agno AgentOS.
Текущая схема исполнения:
- сценарий хранится в
scenarios/*.json; - исполнение идет через
src/mcp_workflow_runner.py; - каждый шаг вызывает MCP инструмент через
src/mcp_client.py; - для подготовки аргументов шага используется planner-агент с моделью через
polza.ai.
Требования
- Python 3.10+
- MCP endpoint (по умолчанию
http://127.0.0.1:8081/mcp) - доступ к модели через
polza.ai(POLZA_API_KEY)
Текущая структура
prisma_platform/
├── .env
├── .env.example
├── requirements.txt
├── scenarios/
│ ├── index.json
│ └── news_source_discovery/
│ └── v1.json
└── src/
├── __init__.py
├── api_routes.py
├── agent_os.py
├── agent_runner.py
├── mcp_client.py
├── mcp_workflow_runner.py
├── observability.py
├── scenario_store.py
└── schemas.py
Установка
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
Запуск
- Поднимите MCP stub (из соседнего репозитория):
cd /home/worker/projects/docker-service/mcp-stub
docker compose up --build -d
- Запустите сервер AgentOS:
cd /home/worker/projects/prisma_platform
.venv/bin/python -m src.agent_os
По умолчанию приложение доступно на http://127.0.0.1:7777.
Документация API:
http://127.0.0.1:7777/docshttp://127.0.0.1:7777/redoc
Запуск сценария через HTTP
POST http://127.0.0.1:7777/api/runs
Тело запроса:
{
"scenario_id": "news_source_discovery_v1",
"input": {
"url": "https://example.com/news"
}
}
Пример:
curl -s -X POST "http://127.0.0.1:7777/api/runs" \
-H "Content-Type: application/json" \
-d '{
"scenario_id": "news_source_discovery_v1",
"input": {
"url": "https://example.com/news"
}
}'
Успешный ответ содержит:
status=success- список
stepsсо статусами шагов output_summaryresultитогового шага
Переменные окружения
Основные:
AGENT_ID(default:prisma-agent)AGENT_MARKDOWN(default:false)AGENT_DEBUG_MODE(default:true)AGENT_INSTRUCTIONSAGENT_OS_HOST(default:127.0.0.1)AGENT_OS_PORT(default:7777)
Planner-модель (polza.ai):
POLZA_BASE_URL(default:https://api.polza.ai/v1)POLZA_MODEL_ID(default:google/gemma-4-31b-it)POLZA_API_KEY(required)POLZA_TEMPERATURE(default:0)
MCP:
MCP_BASE_URL(default:http://127.0.0.1:8081/mcp)MCP_TIMEOUT_SECONDS(default:10)
Phoenix tracing:
PHOENIX_TRACING_ENABLED(default:false)PHOENIX_COLLECTOR_ENDPOINT(default:http://localhost:6006)PHOENIX_PROJECT_NAME(default:prisma-platform)
Phoenix трассировка (локально)
- Включите трассировку в
.env:
PHOENIX_TRACING_ENABLED=true
PHOENIX_COLLECTOR_ENDPOINT=http://localhost:6006
PHOENIX_PROJECT_NAME=prisma-platform
- Запустите приложение:
.venv/bin/python -m src.agent_os
Description
Languages
Python
100%