Files
admin/.tasks/llm-web-proxy-qwen-web.md

3.8 KiB
Raw Blame History

llm-web-proxy-qwen-web

Подзадача [llm-web-proxy] (п.4). Родитель: .tasks/llm-web-proxy.md.

Goal

Добавить комбо qwen-web в llm-web-proxy (lwp): web-чат chat.qwen.ai как провайдер (executor + ключ + конфиг + тесты + live-smoke). Модель — Qwen, эмуляция тулов (emulated, как у deepseek-web). Отдельное комбо, НЕ смешивать с deepseek-комбо.

Почему (контекст)

  • В спеке llm-web-proxy qwen-web заявлен как будущее комбо («позже: qwen-web, gemini-web, kimi-web, grok-web — отдельные комбо, свои executors»).
  • Оригинальный блокер: DNS EAI_AGAIN chat.qwen.ai — сетевой глюк, не ключ (.wiki/concepts/omniroute-combo-deepseek-web-tuning.md:43).
  • Проверено 2026-08-22: DNS резолвится (nslookup chat.qwen.ai → 47.91.78.155 / 47.254.175.31, aliases) — блокер, похоже, снят.
  • Ключ есть: wiki omniroute-combo-deepseek-web-tuning.md:58 — «qwen-web ( ключ есть, DNS-глюк)». userToken chat.qwen.ai — в кредах omniroute (не в pass; источник — конфиг/креды omniroute, паттерн deepseek-аккаунтов megan/yulia/vitya).
  • Эмуляция тулов у qwen-web: "emulated" (webTools.ts парсер зоопарка <tool>-форматов — уже в lwp, общий для deepseek-web и qwen-web).
  • В lwp сейчас ТОЛЬКО deepseek: 4 комбо (flash/pro ± search), 3 аккаунта. qwen-executor'а в пакете нет (проверено 2026-08-22).

Что брать из omniroute

  • open-sse/executors/qwen-web.ts — из docker-образа diegosouzapw/omniroute:latest (/app/), паттерн вытаскивания deepseek-web.ts (уже отработан в llm-web-proxy).
  • Парсеры тулов общие — webTools.ts уже есть, переиспользовать.

Что писать в lwp

  1. executor qwen-web (по паттерну deepseek-web, но НЕ копипастить логику тул-эмуляции — общий модуль).
  2. Ключ userToken chat.qwen.ai → в lwp key-store (паттерн deepseek-аккаунтов).
  3. Комбо qwen-web в конфиг (аккаунт, модель, timeout).
  4. Тесты: TDD — round-robin, failover, <tool>-парсинг (зоопарк), smoke против live.
  5. Live-smoke: lwp test qwen-web / curl /v1/chat/completions model=qwen-web.

Ожидаемый результат

  • lwp combo list показывает qwen-web.
  • lwp test qwen-web — 200, стриминг, tool-calls работают.
  • Лог lwp: req/upstream/session/stream события для qwen (raw-reply виден).

Open questions

  • Актуальный userToken chat.qwen.ai жив? (проверить при работе — EAI_AGAIN мог быть и от бана/истечения)
  • Какая модель по умолчанию у qwen-web (qwen3-max? qwen3-flash?) — смотреть executor omniroute.

Completed steps

  • 2026-08-22: DNS-блокер перепроверен — chat.qwen.ai резолвится (EAI_AGAIN ушёл).
  • 2026-08-22: подтверждено, что qwen-executor'а в lwp ещё нет (только deepseek).

Notes

  • Родитель llm-web-proxy — 🔴 active (claimed 2026-08-22, vitya). Эта подзадача ready, берётся в работу после/параллельно с п.2 (mac/linux autostart).
  • «Настоящий» web-чат Qwen без подписки — бесплатный, тул-эмуляция emulated (wiki:58).