Files
Dorod-Sky/PROXY-SETUP-SUCCESS.md

190 lines
5.8 KiB
Markdown
Raw Permalink Normal View History

# Skyvern Proxy Setup - SUCCESS ✅
**Дата**: 20 февраля 2026
**Статус**: ✅ Полностью работает
## Проблема
OpenAI API блокирует запросы из России:
```
Country, region, or territory not supported
```
## Решение
Настроен HTTP прокси для обхода geo-restriction.
## Конфигурация
### 1. Прокси настройки в .env
```bash
# Lines 77-79 in /home/vodorod/dorod/skyvern/.env
HTTP_PROXY=http://user300088:6dwo3v@150.241.224.181:1356
HTTPS_PROXY=http://user300088:6dwo3v@150.241.224.181:1356
NO_PROXY=localhost,127.0.0.1,postgres,redis
```
**Важно**: Используйте `http://` протокол, а не `socks5://` для лучшей совместимости с httpx библиотекой.
### 2. API токен
Сгенерирован правильный токен для организации `org_development`:
```bash
cd /home/vodorod/dorod/skyvern
.venv/bin/python scripts/create_api_key.py org_development
```
**Токен** (действителен до 2126 года):
```
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjQ5MTY1NzMxNjAsInN1YiI6Im9yZ19kZXZlbG9wbWVudCJ9.SXWQ9WGmJ-UN7sqCBd3oVhdXfi2rsbFatusjyMvczpM
```
## Запуск
### Backend
```bash
cd /home/vodorod/dorod/skyvern
/home/vodorod/dorod/skyvern/.venv/bin/python -m uvicorn skyvern.forge.api_app:app --host 0.0.0.0 --port 8000
```
Или в фоне с логами:
```bash
pkill -9 -f "uvicorn skyvern.forge.api_app:app"
cd /home/vodorod/dorod/skyvern
nohup .venv/bin/python -m uvicorn skyvern.forge.api_app:app --host 0.0.0.0 --port 8000 > backend.log 2>&1 &
```
### Frontend (опционально)
```bash
cd /home/vodorod/dorod/skyvern/skyvern-frontend
npm run dev
```
## Тестирование
### 1. Создать тестовую задачу
```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 text from the page",
"data_extraction_goal": "Extract the main heading that says what Python is",
"proxy_location": "NONE"
}'
```
**Важно**: `proxy_location: "NONE"` заставляет использовать системный `HTTP_PROXY` вместо встроенных прокси Skyvern.
### 2. Проверить статус
```bash
# Сохраните task_id из предыдущего ответа
curl http://localhost:8000/api/v1/tasks/<TASK_ID> \
-H "x-api-key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjQ5MTY1NzMxNjAsInN1YiI6Im9yZ19kZXZlbG9wbWVudCJ9.SXWQ9WGmJ-UN7sqCBd3oVhdXfi2rsbFatusjyMvczpM" | python3 -m json.tool
```
## Пример успешного результата
```json
{
"task_id": "tsk_497915468490620726",
"status": "completed",
"extracted_information": {
"main_heading": "Python is a programming language that lets you work quickly and integrate systems more effectively."
},
"errors": [],
"failure_reason": null
}
```
## Что работает
✅ Backend на порту 8000
✅ PostgreSQL на порту 5433
✅ Redis на порту 6380
✅ Playwright браузер (Chromium 145.0.7632.6)
✅ HTTP прокси для OpenAI API
✅ Создание и выполнение задач
✅ Извлечение данных со страниц
## Troubleshooting
### Ошибка "Could not validate credentials"
**Причина**: Токен не существует в БД или SECRET_KEY изменился.
**Решение**:
```bash
cd /home/vodorod/dorod/skyvern
.venv/bin/python scripts/create_api_key.py org_development
```
Используйте новый токен из output.
### Ошибка "Country, region, or territory not supported"
**Причина**:
1. Прокси не настроен в .env
2. Backend запущен ДО добавления прокси (старые settings)
3. `proxy_location` не установлен в "NONE"
**Решение**:
1. Проверьте `HTTP_PROXY` в `.env` файле
2. Перезапустите backend: `pkill -9 -f uvicorn && .venv/bin/python -m uvicorn ...`
3. Используйте `proxy_location: "NONE"` в API запросах
### Backend не запускается
**Причина**: Порт 8000 занят.
**Решение**:
```bash
# Убить старые процессы
pkill -9 -f "uvicorn skyvern.forge.api_app:app"
# Проверить порт свободен
ss -tlnp | grep 8000
# Запустить снова
cd /home/vodorod/dorod/skyvern
.venv/bin/python -m uvicorn skyvern.forge.api_app:app --host 0.0.0.0 --port 8000
```
## Следующие шаги
1.**DONE**: Настроить прокси
2.**DONE**: Протестировать OpenAI API
3. ⏹️ **TODO**: Создать парсинг задачи для реальных сайтов
4. ⏹️ **TODO**: Интегрировать с n8n
5. ⏹️ **TODO**: Настроить автоматические задачи
## Документация
- [Skyvern Docs](https://docs.skyvern.com)
- [API Reference](https://docs.skyvern.com/api-reference)
- [Proxy Configuration](https://docs.skyvern.com/running-tasks/proxy-locations)
## Backup прокси
На случай если текущий прокси перестанет работать:
```bash
# Формат: протокол://юзер:пароль@хост:порт
HTTP_PROXY=http://user300088:6dwo3v@150.241.224.181:1356
```
Можно заменить на другой SOCKS5/HTTP прокси с доступом к OpenAI API.
---
**Автор**: GitHub Copilot
**Проект**: DOROD Ecosystem / Skyvern Integration
**Обновлено**: 2026-02-20