177 lines
4.8 KiB
Markdown
177 lines
4.8 KiB
Markdown
|
|
# Skyvern Quick Start
|
|||
|
|
|
|||
|
|
**Быстрый запуск Skyvern с прокси для обхода geo-restriction OpenAI API.**
|
|||
|
|
|
|||
|
|
## Prerequisites ✅
|
|||
|
|
|
|||
|
|
- ✅ Python 3.11+
|
|||
|
|
- ✅ PostgreSQL 16 (порт 5433)
|
|||
|
|
- ✅ Redis 7 (порт 6380)
|
|||
|
|
- ✅ Playwright Chromium установлен
|
|||
|
|
- ✅ HTTP прокси с доступом к OpenAI API
|
|||
|
|
|
|||
|
|
## 1. Запуск сервисов
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# PostgreSQL
|
|||
|
|
docker start postgres-dorod # или ваш контейнер
|
|||
|
|
|
|||
|
|
# Redis
|
|||
|
|
docker start redis-dorod # или ваш контейнер
|
|||
|
|
|
|||
|
|
# Проверка
|
|||
|
|
pg_isready -h localhost -p 5433
|
|||
|
|
redis-cli -p 6380 ping
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 2. Запуск Backend
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd /home/vodorod/dorod/skyvern
|
|||
|
|
|
|||
|
|
# Убить старые процессы
|
|||
|
|
pkill -9 -f "uvicorn skyvern.forge.api_app:app"
|
|||
|
|
|
|||
|
|
# Запустить backend
|
|||
|
|
.venv/bin/python -m uvicorn skyvern.forge.api_app:app --host 0.0.0.0 --port 8000
|
|||
|
|
|
|||
|
|
# Или в фоне с логами
|
|||
|
|
nohup .venv/bin/python -m uvicorn skyvern.forge.api_app:app --host 0.0.0.0 --port 8000 > backend.log 2>&1 &
|
|||
|
|
|
|||
|
|
# Проверить
|
|||
|
|
curl -s http://localhost:8000/api/health | python3 -m json.tool
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 3. Создать API токен (если нужен новый)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd /home/vodorod/dorod/skyvern
|
|||
|
|
.venv/bin/python scripts/create_api_key.py org_development
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Текущий токен** (действителен до 2126):
|
|||
|
|
```
|
|||
|
|
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjQ5MTY1NzMxNjAsInN1YiI6Im9yZ19kZXZlbG9wbWVudCJ9.SXWQ9WGmJ-UN7sqCBd3oVhdXfi2rsbFatusjyMvczpM
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 4. Тестовая задача
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl -X POST http://localhost:8000/api/v1/tasks \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-H "x-api-key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjQ5MTY1NzMxNjAsInN1YiI6Im9yZ19kZXZlbG9wbWVudCJ9.SXWQ9WGmJ-UN7sqCBd3oVhdXfi2rsbFatusjyMvczpM" \
|
|||
|
|
-d '{
|
|||
|
|
"url": "https://www.python.org",
|
|||
|
|
"navigation_goal": "Extract the main heading",
|
|||
|
|
"data_extraction_goal": "Extract main heading text",
|
|||
|
|
"proxy_location": "NONE"
|
|||
|
|
}'
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Ожидаемый результат**:
|
|||
|
|
```json
|
|||
|
|
{"task_id": "tsk_..."}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 5. Проверить результат
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Замените TASK_ID на полученный task_id
|
|||
|
|
curl http://localhost:8000/api/v1/tasks/TASK_ID \
|
|||
|
|
-H "x-api-key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjQ5MTY1NzMxNjAsInN1YiI6Im9yZ19kZXZlbG9wbWVudCJ9.SXWQ9WGmJ-UN7sqCBd3oVhdXfi2rsbFatusjyMvczpM" \
|
|||
|
|
| python3 -m json.tool
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Ожидаемый статус**: `"status": "completed"`
|
|||
|
|
|
|||
|
|
## Troubleshooting
|
|||
|
|
|
|||
|
|
### ❌ "Could not validate credentials"
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Создать новый токен
|
|||
|
|
cd /home/vodorod/dorod/skyvern
|
|||
|
|
.venv/bin/python scripts/create_api_key.py org_development
|
|||
|
|
|
|||
|
|
# Использовать новый токен из output
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### ❌ "Country not supported"
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Проверить прокси в .env
|
|||
|
|
cat /home/vodorod/dorod/skyvern/.env | grep PROXY
|
|||
|
|
|
|||
|
|
# Должно быть:
|
|||
|
|
# HTTP_PROXY=http://user300088:6dwo3v@150.241.224.181:1356
|
|||
|
|
# HTTPS_PROXY=http://user300088:6dwo3v@150.241.224.181:1356
|
|||
|
|
|
|||
|
|
# Перезапустить backend
|
|||
|
|
pkill -9 -f uvicorn
|
|||
|
|
cd /home/vodorod/dorod/skyvern
|
|||
|
|
.venv/bin/python -m uvicorn skyvern.forge.api_app:app --host 0.0.0.0 --port 8000
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### ❌ Backend не запускается
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Проверить порт
|
|||
|
|
ss -tlnp | grep 8000
|
|||
|
|
|
|||
|
|
# Убить процесс если занят
|
|||
|
|
pkill -9 -f "uvicorn skyvern.forge.api_app:app"
|
|||
|
|
|
|||
|
|
# Проверить PostgreSQL
|
|||
|
|
pg_isready -h localhost -p 5433
|
|||
|
|
|
|||
|
|
# Проверить Redis
|
|||
|
|
redis-cli -p 6380 ping
|
|||
|
|
|
|||
|
|
# Запустить снова
|
|||
|
|
cd /home/vodorod/dorod/skyvern
|
|||
|
|
.venv/bin/python -m uvicorn skyvern.forge.api_app:app --host 0.0.0.0 --port 8000
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### ❌ Task fails или timeout
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Увеличить max_steps_per_run
|
|||
|
|
"max_steps_per_run": 100
|
|||
|
|
|
|||
|
|
# Или упростить navigation_goal/data_extraction_goal
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Файлы конфигурации
|
|||
|
|
|
|||
|
|
- **Environment**: `/home/vodorod/dorod/skyvern/.env`
|
|||
|
|
- **Backend logs**: `/home/vodorod/dorod/skyvern/backend.log`
|
|||
|
|
- **Database**: PostgreSQL localhost:5433
|
|||
|
|
- **Redis**: localhost:6380
|
|||
|
|
|
|||
|
|
## Документация
|
|||
|
|
|
|||
|
|
- [Полная настройка прокси](PROXY-SETUP-SUCCESS.md)
|
|||
|
|
- [Примеры парсинга](PARSING-EXAMPLES.md)
|
|||
|
|
- [Официальная документация](https://docs.skyvern.com)
|
|||
|
|
|
|||
|
|
## Порты
|
|||
|
|
|
|||
|
|
- **Backend API**: 8000
|
|||
|
|
- **Frontend** (опционально): 5173
|
|||
|
|
- **PostgreSQL**: 5433
|
|||
|
|
- **Redis**: 6380
|
|||
|
|
|
|||
|
|
## Следующие шаги
|
|||
|
|
|
|||
|
|
1. ✅ Запустить backend
|
|||
|
|
2. ✅ Протестировать простую задачу
|
|||
|
|
3. ⏹️ Создать более сложные парсинг сценарии (см. PARSING-EXAMPLES.md)
|
|||
|
|
4. ⏹️ Интегрировать с n8n для автоматизации
|
|||
|
|
5. ⏹️ Настроить мониторинг задач
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**Статус**: ✅ Работает
|
|||
|
|
**Последний тест**: 2026-02-20
|
|||
|
|
**Версия**: Skyvern open-source (latest)
|