# 🚀 Skyvern - Installation Complete! **Дата установки:** 20 февраля 2026 **Статус:** ✅ Backend и Frontend готовы к запуску --- ## 📦 Что установлено ### Backend (Python 3.12) - ✅ Virtual environment: `/home/vodorod/dorod/skyvern/.venv` - ✅ Python зависимости: FastAPI, Playwright, SQLAlchemy, OpenAI SDK - ✅ Playwright браузер: Chromium 145.0.7632.6 - ✅ База данных: PostgreSQL 16 (42 таблицы) - ✅ Миграции выполнены ### Frontend (React + TypeScript) - ✅ Node.js v20.19.5 - ✅ npm зависимости установлены (672 пакетов) - ✅ Vite dev server готов ### Database & Cache - ✅ PostgreSQL: `localhost:5433` (Docker) | credentials: `skyvern/skyvern` - ✅ Redis: `localhost:6380` (Docker) ### Configuration - ✅ `.env` файл создан - ✅ OpenAI API key настроен - ✅ LLM: GPT-4 Turbo (основной) + GPT-4o mini (secondary) --- ## 🚀 Как запустить ### Вариант 1: Быстрый запуск (скрипты) ```bash cd /home/vodorod/dorod/skyvern # Terminal 1: Backend ./start-backend.sh # Terminal 2: Frontend (после запуска backend) ./start-frontend.sh ``` **Доступ:** - Backend API: http://localhost:8000 - API Docs: http://localhost:8000/docs - Frontend: http://localhost:5173 --- ### Вариант 2: Ручной запуск (для отладки) #### Backend: ```bash cd /home/vodorod/dorod/skyvern source .venv/bin/activate # Проверить БД docker ps | grep skyvern # Запустить БД если нужно docker compose -f docker-compose.deps.yml up -d # Запустить backend uvicorn skyvern.forge.api_app:app --host 0.0.0.0 --port 8000 --reload ``` #### Frontend: ```bash cd /home/vodorod/dorod/skyvern/skyvern-frontend npm run dev ``` --- ## 🐛 Troubleshooting ### Backend не запускается **Проблема:** Backend зависает при запуске **Причина:** `forge_app.api_app_startup_event` выполняет блокирующие операции **Решение 1 - Проверить логи:** ```bash tail -f /tmp/skyvern-backend.log ``` **Решение 2 - Запустить в debug режиме:** ```bash cd /home/vodorod/dorod/skyvern source .venv/bin/activate # Увеличить log level LOG_LEVEL=DEBUG uvicorn skyvern.forge.api_app:app \ --host 0.0.0.0 \ --port 8000 \ --log-level debug ``` **Решение 3 - Проверить подключение к БД:** ```bash # Проверить PostgreSQL docker exec -it skyvern-postgres psql -U skyvern -d skyvern -c "SELECT 1;" # Проверить Redis docker exec -it skyvern-redis redis-cli ping ``` **Решение 4 - Отключить lifespan events (временно):** Отредактировать `/home/vodorod/dorod/skyvern/skyvern/forge/api_app.py`: ```python # Закомментировать проблемный код в lifespan(): # if forge_app.api_app_startup_event: # LOG.info("Calling api app startup event") # try: # await forge_app.api_app_startup_event(fastapi_app) # except Exception: # LOG.exception("Failed to execute api app startup event") ``` --- ### PostgreSQL connection error **Проблема:** `could not connect to server` **Решение:** ```bash # Перезапустить PostgreSQL docker compose -f docker-compose.deps.yml restart postgres # Проверить порт ss -tlnp | grep 5433 # Проверить .env grep DATABASE_STRING .env # Должно быть: postgresql+psycopg://skyvern:skyvern@localhost:5433/skyvern ``` --- ### Frontend CORS errors **Проблема:** CORS ошибка при запросе к backend **Решение:** Отредактировать `/home/vodorod/dorod/skyvern/.env`: ```bash ALLOWED_ORIGINS=["http://localhost:5173","http://localhost:3000","http://127.0.0.1:5173"] ``` Перезапустить backend. --- ## 📚 API Примеры ### Создать задачу парсинга ```bash curl -X POST http://localhost:8000/api/v1/tasks \ -H "Content-Type: application/json" \ -d '{ "url": "https://traktorodetal.ru", "navigation_goal": "Find all SANY glass products", "data_extraction_goal": "Extract: name, part number, price, availability", "webhook_callback_url": "http://localhost:8000/webhook/result" }' ``` Response: ```json { "task_id": "tsk_abc123", "status": "queued", "created_at": "2026-02-20T20:00:00Z" } ``` ### Получить результат ```bash curl http://localhost:8000/api/v1/tasks/tsk_abc123 ``` ### Список всех задач ```bash curl http://localhost:8000/api/v1/tasks?page=1&page_size=10 ``` --- ## 🔧 Конфигурация (.env) ### LLM Settings ```bash # Использовать другую модель OpenAI LLM_KEY=OPENAI_GPT4 # GPT-4 (дороже но точнее) # LLM_KEY=OPENAI_GPT4_TURBO # GPT-4 Turbo (по умолчанию) # LLM_KEY=OPENAI_GPT4O # GPT-4o (новая модель) # Для дешевых задач SECONDARY_LLM_KEY=OPENAI_GPT4O_MINI ``` ### Browser Settings ```bash # Headless (production) BROWSER_TYPE=chromium-headless # Headful (для отладки - видно браузер) BROWSER_TYPE=chromium-headful # Retry attempts MAX_SCRAPING_RETRIES=3 # Timeout BROWSER_ACTION_TIMEOUT_MS=10000 # 10 секунд ``` ### Agent Settings ```bash # Максимум шагов на одну задачу MAX_STEPS_PER_RUN=75 # Запись видео (для отладки) RECORD_VIDEOS=true # Screenshots ENABLE_SCREENSHOTS=true ``` ### Proxy (для российских серверов) Если OpenAI заблокирован: ```bash # Раскомментировать в .env: HTTP_PROXY=socks5://user:pass@proxy:port HTTPS_PROXY=socks5://user:pass@proxy:port ``` --- ## 🎨 Frontend Architecture Skyvern использует **React** + **TypeScript** + **Vite**. **Структура:** ``` skyvern-frontend/ ├── src/ │ ├── components/ # UI компоненты │ ├── routes/ # Страницы (React Router) │ ├── api/ # API клиенты │ ├── stores/ # State management │ └── utils/ # Helpers ├── package.json └── vite.config.ts ``` **Кастомизация:** 1. Добавить новую страницу: ```tsx // src/routes/my-page.tsx export function MyPage() { return