Files
Dorod-Sky/PROXY-SETUP-SUCCESS.md
Vodorod 6b69159550
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
feat: Add Russian i18n translations and fix CORS + API endpoint issues
- 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
2026-02-21 08:29:21 +03:00

190 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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