Skip to content

fix(llm): глобальный HTTP_PROXY больше не ломает запросы к localhost - #825

Merged
ShaerWare merged 1 commit into
mainfrom
local/fix/proxy-localhost-bypass
Aug 12, 2026
Merged

fix(llm): глобальный HTTP_PROXY больше не ломает запросы к localhost#825
ShaerWare merged 1 commit into
mainfrom
local/fix/proxy-localhost-bypass

Conversation

@ShaerWare

Copy link
Copy Markdown
Owner

Summary

  • GeminiProvider экспортирует HTTP_PROXY/HTTPS_PROXY только если proxy_manager.start() реально удался. Раньше при незапустившемся xray переменные оставались указывать на закрытый порт — и ломали все http-запросы процесса, а не только запросы к Gemini
  • VLLMLLMService.client создаётся с trust_env=False — обращения к локальному vLLM больше не уходят в прокси
  • vLLM health-check в modules/llm/router.py тоже с trust_env=False: именно он показывал «vLLM недоступен» при живом сервере
  • CLAUDE.md: Known Issue feat: add GPU acceleration and intonation presets to TTS service #4 дополнен правилом «всё, что ходит в localhost, обязано передавать trust_env=False»

Relates to #558

NEWS

🔌 Локальная модель больше не «пропадает» из-за прокси

Раньше при включённом VPN-прокси для облачных моделей система могла ошибочно решить, что локальная модель недоступна, и переключиться на облако. Теперь запросы к локальным сервисам идут напрямую, минуя прокси, а если прокси не запустился — всё продолжает работать без него.

Test plan

  • ruff check . / ruff format --check чисто
  • pytest tests/unit — без новых падений
  • На машине с VLESS: включить Gemini-провайдера, затем GET /admin/llm/status — vLLM должен определяться как доступный
  • Остановить xray, перезапустить оркестратор — health-check vLLM и tiktoken продолжают работать

🤖 Generated with Claude Code

GeminiProvider выставляет HTTP_PROXY/HTTPS_PROXY на весь процесс (VLESS).
Из-за этого запросы к локальному vLLM уходили в прокси, а если xray не
поднялся — прокси-порт был закрыт, и падало всё подряд: health-check vLLM
показывал «недоступен» при живом сервере, ломались tiktoken и HF.

- GeminiProvider экспортирует прокси-переменные только если
  proxy_manager.start() реально удался; иначе снимает свои значения и
  работает напрямую
- VLLMLLMService.client и health-check в modules/llm/router.py создаются
  с trust_env=False — обращения к localhost больше не зависят от прокси

## NEWS

🔌 **Локальная модель больше не «пропадает» из-за прокси**

Раньше при включённом VPN-прокси для облачных моделей система могла
ошибочно решить, что локальная модель недоступна, и переключиться на
облако. Теперь запросы к локальным сервисам идут напрямую, минуя прокси,
а если прокси не запустился — всё продолжает работать без него.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@ShaerWare
ShaerWare merged commit cc06dab into main Aug 12, 2026
3 checks passed
@ShaerWare
ShaerWare deleted the local/fix/proxy-localhost-bypass branch August 12, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant