🤖 Task LLM Agent

Автоматический агент для создания и управления n8n workflows

API Endpoints:

POST /api/v1/tasks - Создать новую задачу
GET /api/v1/tasks - Получить все задачи
GET /api/v1/tasks/{id} - Получить задачу по ID
PUT /api/v1/tasks/{id}/status - Обновить статус задачи
DELETE /api/v1/tasks/{id} - Удалить задачу
POST /api/v1/tasks/{id}/process - Обработать задачу
POST /api/v1/tasks/{id}/retry - Повторить задачу
GET /api/v1/workers/stats - Статистика воркеров
GET /api/v1/workers/health - Состояние воркеров
GET /health - Проверка состояния сервиса

Queue Management:

GET /api/v1/queue/status - Статус очереди задач
GET /api/v1/queue/metrics - Метрики очереди
GET /api/v1/queue/health - Состояние очереди
GET /api/v1/queue/config - Конфигурация очереди
DELETE /api/v1/queue/tasks/{id} - Удалить задачу из очереди
GET /api/v1/queue/info - Информация о среде разработки

Workflow Management:

POST /api/v1/workflows - Создать workflow через прямой API
POST /api/v1/workflows/{id}/activate - Активировать workflow с двойным хаком
POST /api/v1/workflows/activate - Активировать workflow (JSON payload)
GET /api/v1/workflows/{id}/status - Получить статус workflow

Пример создания задачи:

curl -X POST http://localhost:8080/api/v1/tasks \
  -H "Content-Type: application/json" \
  -d '{
    "description": "Мониторить каждый час погоду в Москве и отправлять в Telegram"
  }'
    

Пример создания workflow через прямой API:

curl -X POST http://localhost:8080/api/v1/workflows \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Test Workflow",
    "nodes": [
      {
        "id": "webhook",
        "name": "Webhook",
        "type": "n8n-nodes-base.webhook",
        "parameters": {
          "httpMethod": "POST",
          "path": "test-webhook-123",
          "responseMode": "onReceived", 
          "responseData": "default",
          "options": {}
        },
        "position": [100, 200]
      }
    ],
    "connections": {}
  }'
    

Пример активации workflow:

curl -X POST http://localhost:8080/api/v1/workflows/123/activate

# Или через JSON payload:
curl -X POST http://localhost:8080/api/v1/workflows/activate \
  -H "Content-Type: application/json" \
  -d '{"workflow_id": "123"}'
    

Разработка:

🚀 Локальная разработка: Используется in-memory очередь без PostgreSQL или Redis

📊 Мониторинг: GET /api/v1/queue/info - показывает настройки для разработки

⚙️ Среда: APP_ENV=development (по умолчанию) для локальной разработки