fix(translate): Kilo API response_format, reasoning_effort skip, structured_outputs fallback, refusal handling
- Enable response_format (json_object) for all providers including Kilo/OpenRouter - Skip reasoning_effort for Kilo/OpenRouter (returns 400 — mandatory reasoning) - Add structured_outputs fallback: retry once without response_format if upstream provider (e.g. StepFun) rejects it with 'structured_outputs is not supported' - Handle model refusal field (refusal) instead of treating as empty content - Fix None-handling guards for message/finish_reason/content fields - Apply same fixes to both preview.py and executor.py _call_openai_compatible - Connect orphaned TermCorrectionPopup, BulkReplaceModal, BulkCorrectionSidebar
This commit is contained in:
20
README.md
20
README.md
@@ -252,7 +252,13 @@ cd /home/busya/dev/ss-tools
|
||||
|
||||
```bash
|
||||
# 1. Собрать образы в подключённом контуре
|
||||
./scripts/build_offline_docker_bundle.sh v1.0.0-rc2-docker
|
||||
./build.sh bundle v1.0.0-rc2-docker
|
||||
|
||||
# Результат: dist/docker/
|
||||
# backend.v1.0.0-rc2-docker.tar
|
||||
# frontend.v1.0.0-rc2-docker.tar
|
||||
# postgres.v1.0.0-rc2-docker.tar
|
||||
# manifest + sha256sums + docker-compose.enterprise-clean.yml + .env.enterprise-clean.example
|
||||
|
||||
# 2. Передать dist/docker/* в изолированный контур
|
||||
# 3. Импортировать образы локально
|
||||
@@ -272,6 +278,16 @@ cp dist/docker/.env.enterprise-clean.example .env.enterprise-clean
|
||||
docker compose --env-file .env.enterprise-clean -f dist/docker/docker-compose.enterprise-clean.yml up -d
|
||||
```
|
||||
|
||||
Для легковесного all-in-one образа (без Playwright, <200 MB):
|
||||
|
||||
```bash
|
||||
./build.sh bundle:light v1.0.0
|
||||
|
||||
# Результат:
|
||||
# dist/docker/ss-tools.v1.0.0.tar
|
||||
# dist/docker/docker-compose.light.yml
|
||||
```
|
||||
|
||||
Bootstrap администратора выполняется entrypoint-скриптом внутри backend container:
|
||||
- если `INITIAL_ADMIN_CREATE=true`, контейнер вызывает [`create_admin.py`](backend/src/scripts/create_admin.py) перед стартом API;
|
||||
- если администратор уже существует, учётная запись не меняется;
|
||||
@@ -286,7 +302,7 @@ Bootstrap администратора выполняется entrypoint-скр
|
||||
|
||||
Практический план внедрения:
|
||||
- pinned Docker image tags и отдельный `enterprise-clean` compose profile добавлены;
|
||||
- shell script `scripts/build_offline_docker_bundle.sh` добавлен для `build -> save -> checksum`;
|
||||
- unified `build.sh bundle <tag>` добавлен для `build -> save -> checksum` (заменил `scripts/build_offline_docker_bundle.sh`);
|
||||
- следующим шагом стоит включить docker image digests в clean-release manifest;
|
||||
- следующим шагом стоит добавить smoke-check, что compose-файлы не содержат внешних registry references вне allowlist.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user