From e375c32ede7c6f8537680086f9493dd0e8900a07 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Mon, 15 Jun 2026 22:52:12 +0600 Subject: [PATCH] =?UTF-8?q?[2026-06-15]=20balda-valera.md:=20add=20key=20g?= =?UTF-8?q?otchas=20=E2=80=94=20OPENAI=5FBASE=5FURL,=20DOCKER=5FOPTS,=20re?= =?UTF-8?q?start=20vs=20up=20-d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- personal/projects/balda/balda-valera.md | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/personal/projects/balda/balda-valera.md b/personal/projects/balda/balda-valera.md index 156125a9..182b015c 100644 --- a/personal/projects/balda/balda-valera.md +++ b/personal/projects/balda/balda-valera.md @@ -45,6 +45,36 @@ docker-compose build && docker-compose up -d 2. `extractOtherMention()` — проверяет текст на @**Name**, где Name не равен botName и не @**all**/@**everyone**. Если найден чужой @mention — сообщение игнорируется. 3. Детальное логирование в `handleAutoClaimMention` — видны все шаги от входа до ошибки. +## Ключевые грабли + +### 1. OPENAI_BASE_URL — обязательная env var +Norma не читает `base_url` из config.yaml для `provider: deepseek`. Она читает env `OPENAI_BASE_URL`. +Без неё запросы уходят на `api.openai.com` (401). + +**В `.env` обязательно:** +``` +OPENAI_BASE_URL=https://api.deepseek.com/v1 +``` + +**ВАЖНО:** `docker-compose restart` не перечитывает `.env`. Нужно `docker-compose up -d` (пересоздание контейнера). + +### 2. DOCKER_OPTS — пустая строка убивает старт +Если `DOCKER_OPTS=""` (или пустая строка в `.env`), norma падает на парсинге float: +``` +strconv.ParseFloat: parsing "" +``` + +**Должен быть валидный JSON:** +``` +DOCKER_OPTS={"max_tokens": 2048, "temperature": 0.7} +``` + +### 3. composerestart vs compose up -d +- `docker-compose restart` — не перечитывает `.env`, не пересоздаёт контейнер +- `docker-compose up -d` — пересоздаёт контейнер с обновлённым `.env` + +При изменении `.env` всегда использовать `up -d`. + ## Конфигурация провайдера В `config.yaml` обязательно: ```yaml