DaoXE в OpenHands

OpenHands (бывший OpenDevin) — открытый агент, который планирует, правит файлы, запускает команды и предлагает патчи. Его LLM-слой — LiteLLM, поэтому любой OpenAI-совместимый эндпоинт подключается напрямую, и DaoXE тоже.

Обновлено 2026-09-15

OpenHands ведёт полный инженерный цикл — планирование, правки, терминал, PR. Документация говорит: поддерживается любая модель, которую умеет LiteLLM, а OpenAI-совместимый путь — ровно форма DaoXE (гайд по дешёвым API): base URL, ключ и ID модели с правильным префиксом.

Зачем направлять OpenHands через DaoXE#

  • Агентный цикл на вашем ключе. Планировщик, редактор и терминал OpenHands едут на одном провайдере — ключ DaoXE покрывает сотни моделей от ~25 провайдеров, и сильная, и дешёвая модели живут на одном балансе.
  • Два профиля, один счёт. Именованные LLM-конфигурации дают сильный модель для планирования и бюджетную для рутинных правок — без второго аккаунта.
  • Лёгкий аудит. Результат агента — диффы и запуски команд — идеальная проверка, отдаёт ли дешёвый эндпоинт настоящую модель (как поймать подмену модели).

Настройка в OpenHands#

  1. Откройте расширенную панель LLM. В UI OpenHands: Settings → LLM, нажмите "see advanced settings" и включите тумблер Advanced — поле Base URL существует только там.
  2. Префиксуйте модель. В Custom Model пишите openai/ + точный ID из GET /v1/models DaoXE, например openai/YOUR_EXACT_MODEL_ID. OpenHands маршрутизирует через LiteLLM, и openai/… — его префикс провайдера для любого OpenAI-совместимого сервера.
  3. Направьте на DaoXE. Base URL: https://daoxe.com/v1. API Key: ваш ключ DaoXE. Без UI те же три значения читаются из LLM_MODEL / LLM_BASE_URL / LLM_API_KEY.
  4. Проверьте цикл. Попросите маленькую реальную задачу — показать файлы, поправить опечатку — и убедитесь, что вызовы инструментов исполняются. Если агент «ведёт себя как чат-бот», документация советит сменить модель на сильнее или увеличить контекст — не искать настройку.
bash
# Headless / CLI runs read the same trio
export LLM_MODEL="openai/YOUR_EXACT_MODEL_ID"   # the openai/ prefix is required
export LLM_BASE_URL="https://daoxe.com/v1"
export LLM_API_KEY="***"

Что важно учесть

Префикс openai/ — не косметика: по нему OpenHands выбирает провайдера; без префикса профиль попадает не на тот путь, и в таблице траблшутинга доков это ровно строка "Provider is not recognized". Всё после префикса должно совпадать с id из GET /v1/models вашего эндпоинта; ID моделей DaoXE привязаны к аккаунту — читайте их, не угадывайте. Base URL проверяется с бэкенда, а не из браузера: OpenHands обычно работает в Docker, где 127.0.0.1 — это контейнер, поэтому примеры доков для локальных серверов используют http://host.docker.internal:<port>/v1. Хостинговый URL DaoXE из контейнера работает, если исходящий HTTPS не блокируется. Слабая модель ломает цикл: доки рекомендуют самый сильный доступный модели; модель, игнорирующая вызовы инструментов, выглядит как баг шлюза, но это проблема модели. Именованные конфиги наследуют: секции [llm.<profile>] в config.toml копируют всё из блока [llm] — один base URL кормит все профили. Больше клиентов — в заметки по настройке клиентов.

Убедитесь, что отдают настоящую модель#

Сначала проверьте эндпоинт, а не клиент — если это не работает, настройки не помогут:

bash
export DAOXE_API_KEY="your_api_key"

# List the exact model IDs your account can call
curl --fail-with-body --show-error --silent \
  https://daoxe.com/v1/models \
  -H "Authorization: Bearer ${DAOXE_API_KEY}"

Сначала проверьте эндпоинт вне агента, затем сравните сложную задачу с официальным API при temperature 0:

bash
curl --fail-with-body --show-error --silent \
  https://daoxe.com/v1/chat/completions \
  -H "Authorization: Bearer ${DAOXE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "YOUR_EXACT_MODEL_ID",
    "max_tokens": 64,
    "messages": [{"role": "user", "content": "Say hello in one sentence."}]
  }'

Проверяйте нас, а не верьте на слово

Направьте открытый бенчмарк на DaoXE и на официальный API и сравните при temperature 0. Затем изучите, как поймать подмену модели, чтобы дешёвый эндпоинт не подменил вам модель на меньшую.

Частые вопросы#

OpenHands работает с DaoXE?

Да — в Settings → LLM включите Advanced, Custom Model = openai/YOUR_EXACT_MODEL_ID, Base URL = https://daoxe.com/v1, плюс ваш ключ. Технически это провайдер openai/ в LiteLLM, направленный на DaoXE.

Зачем префикс openai/ в названии модели?

Так OpenHands (через LiteLLM) понимает: «любой OpenAI-совместимый сервер по этому base URL». Остаток строки обязан совпадать с точным ID из GET /v1/models, иначе будут ошибки неверной модели.

OpenHands не видит мой base URL — почему?

URL опрашивается бэкендом OpenHands, обычно из Docker-контейнера, где localhost — сам контейнер. Для хостингового DaoXE проверьте исходящий HTTPS/прокси контейнера; паттерн host.docker.internal из доков — про локальные серверы моделей.

Сколько стоит?

По моделям и аккаунту — актуальные цены; пополнение — фиксированные 1 ¥ = $1 квоты.

Попробуйте DaoXE — и проверьте его сами

Один ключ для GPT, Claude, Gemini, DeepSeek и других. Направьте открытый бенчмарк на нас и сравните — не верьте на слово.