Route recipe responses through Gemini proxy

This commit is contained in:
“Naeel”
2026-08-29 02:45:44 +03:00
parent 169662566d
commit 9f0974aaa9
5 changed files with 61 additions and 24 deletions
+33
View File
@@ -496,3 +496,36 @@ HISTORY. Добавлен `recipe_service/.gitignore` для `.env`, `*.env`,
Авторизованный запрос дошёл до Gemini, но получил HTTP 502: `API key not valid`.
Следовательно, Bearer-защита работает, а `GEMINI_API_KEY` в серверном env-файле
недействителен и требует замены.
## Вопрос Sonnet о доступности немецкого proxy
Sonnet запросил подтверждение доступности `95.179.252.111:8768` с ВМ 213.
Ответ: в имеющейся проверке такой прямой запрос не выполнялся, поэтому факт
доступности этого адреса не подтверждён. Подтверждено только, что ранее proxy
работал на немецкой ВМ на `127.0.0.1:8768`, то есть bind-адрес сам по себе не
доказывает доступность с ВМ 213. Для выбора транспорта требуется отдельная
проверка соединения с таймаутом; до неё нельзя утверждать, что прямой маршрут
или SSH-туннель уже работает.
Проверка выполнена с ВМ 213 командой `curl --max-time 5` к
`http://95.179.252.111:8768/health`: соединение отклонено, получен
`http_code=000` и ошибка `Failed to connect`. Прямой маршрут между ВМ не
доступен; для продолжения требуется SSH-туннель или изменение bind/firewall
немецкого proxy.
## Проверка плана Sonnet и транспорт
План Sonnet проверен по фактическим конфигурациям. На ВМ 213 в
`/etc/recipe/recipe.env` уже отсутствует `GEMINI_API_KEY`, присутствуют
`RECIPE_API_TOKEN` и `GEMINI_PROXY_URL`; `recipe.service` активен. В
задеплоенном `/opt/recipe/app.py` обнаружен дефект: ответ proxy разбирался как
Gemini-native (`candidates`/`usageMetadata`), хотя proxy возвращает поля
`text`/`usage`. В workspace исправлен разбор этих полей; локальные `py_compile`
и `git diff --check` прошли.
Дополнительная проверка SSH-туннеля показала, что на ВМ 213 нет ключа, дающего
вход на немецкую ВМ: российский ключ получил `Permission denied`, а `vultr.ppk`
не распознан как пригодный OpenSSH-ключ. Создание туннеля без нового
разрешённого ключа невозможно. Nginx на ВМ 213 уже содержит отдельные location
для `/recipe` и `/recipe/`; их изменение без новой подтверждённой проблемы не
выполнялось.