workbench и error-assistant) каждого пода Ayakaleaf Pro. Что делает каждая настройка, доступ пользователей и квоты описаны в разделе Интеграция с ИИ; на этой странице показано, как перенести это в Kubernetes.
Настройка
1
ConfigMap
30-config.yaml (additions)
AI_ENABLED должен быть равен именно "true". Ассистент появляется, только если заданы все AI_ENABLED, AI_BASE_URL, AI_MODEL и AI_API_KEY.2
Secret
3
Примените, перезапустите и проверьте шлюз с каждого пода
000 — что недоступен.web_fetch загружает страницы через тот же прокси, что и файлы Внешний URL, поэтому настройки OVERLEAF_LINKED_URL_* также ограничивают то, что может читать модель.
Несколько реплик
Ничего дополнительного не требуется. Квота токенов подсчитывается в Redis, поэтому расход пользователя одинаков на всех репликах, а сброс администратором действует везде.Проверено на Kubernetes
С имитацией OpenAI-совместимого шлюза, Tavily и эндпоинта GitBook MCP (доверие к которым обеспечено черезNODE_EXTRA_CA_CERTS из overleaf-certs), на Kubernetes 1.37, наши сквозные тесты проходят: для ИИ-ассистента на трёх репликах за HAProxy (31 сценарий) — чаты с вызовами инструментов и предлагаемыми правками, поиск в интернете и в документации, чтение веб-страниц через linked-url-proxy с ограничением OVERLEAF_LINKED_URL_ALLOWED_RESOURCES, вложения с изображениями и PDF, согласие, квота токенов, подсчитываемая в Redis, ИИ, отключённый для пользователя и для экземпляра, а также медленные соединения со шлюзом; для ассистента по ошибкам на одной реплике (15 сценариев) — предлагаемые исправления, согласие, общая квота токенов и отключённый ИИ.
