Some checks failed
Run tests and pre-commit / Run tests and pre-commit hooks (push) Has been cancelled
Run tests and pre-commit / Frontend Lint and Build (push) Has been cancelled
Publish Fern Docs / run (push) Has been cancelled
Update OpenAPI Specification / update-openapi (push) Has been cancelled
- Implemented full Russian translation (ru) for 8 major pages - Added LanguageSwitcher component with language detection - Translated: Navigation, Settings, Workflows, Credentials, Banner, Examples - Fixed API endpoint path: changed to use sans-api-v1 client for /v1/ endpoints - Fixed CORS: added http://localhost:8081 to ALLOWED_ORIGINS - Added locales infrastructure with i18next and react-i18next - Created bilingual JSON files (en/ru) for 4 namespaces - 220+ translation keys implemented - Backend CORS configuration updated in .env - Documentation: I18N implementation guides and installation docs
190 lines
5.8 KiB
Markdown
190 lines
5.8 KiB
Markdown
# 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
|