0.137.0
Added
- 11 скрытых настроек добавлены в реестр и видны в UI
/settings/advanced(ранее читались черезsettings.Get*, но отсутствовали вParamRegistry, поэтому их нельзя было менять через REST/UI — только прямым SQL):agent_turn_timeout_minutes(10 мин, главный таймаут хода),strategy_router_timeout_seconds(15 с, таймаут выбора стратегии),history_window(50, окно истории в контекст),history_verbatim(10, дословных сообщений),file_upload_max_mb(50, лимит загрузки файла),cleanup_interval_hours(24, интервал forget-очистки),cleanup_age_days(14, возраст фактов для forget),cleanup_min_confidence(0.6, мин. confidence факта),dedup_cosine_threshold(0.88, порог дедупликации),dedup_llm_check_threshold(0.80, порог LLM-проверки дублей),dedup_fts_overlap_min(3, FTS-overlap для дедупа). Все валидируются по типу и диапазону[Min; Max]вPUT /api/v1/admin/advanced.
Changed
- 11 «мёртвых» настроек подключены к чтению из БД (ранее были в реестре/UI, но код их не читал — изменение в UI не давало эффекта, вводя пользователя в заблуждение):
agent_queue_size(actor.go, размер канала актора),subagent_timeout_seconds+subagent_max_iterations(subagent_config.go, теперь global-дефолты черезMergeWithGlobals, перекрываются per-agent JSON),bus_buffer_size(main.go,NewMessageBus),ws_hub_buffer_size(websocket.go,newWSHub),auth_lockout_attempts+auth_lockout_window_minutes+auth_lockout_duration_minutes(oauth.go,newLoginLockout),auth_access_token_ttl_minutes+auth_refresh_token_ttl_days(tokens.go, const→поляTokenServiceс геттерамиAccessTokenTTL()/RefreshTokenTTL()),server_http_timeout_seconds(router.go,chimw.Timeout). Дляauth_*,cleanup_interval_hours,server_http_timeout_secondsдобавленRestart: true(значения читаются при старте). settings.GetDurationподдерживает единицы"hours"и"days"(ранее только"seconds"/"minutes"). Требуется дляauth_refresh_token_ttl_days.server_http_timeout_secondsdefault60→300: выровнен сtool_timeout_seconds(ранее долгие tool-call’ы по REST обрезались HTTP-таймаутом раньше таймаута инструмента).auth_refresh_token_ttl_daysMax365→7: cookie max-age (refreshCookieTTL) — upper bound на сессию в 7 дней; значение больше 7 не имело эффекта без изменения cookie. Теперь диапазон честно отражает реальное ограничение.
Fixed
- Расхождение default
rag_retrieval_top_k: в реестре было60, в коде fallback30(context.go:1460) — UI «врал» про default. Приведено к60. - Защитные guards для настроек из БД:
loadChanCap(chanCap<1→128),NewOAuthService(lockout attempts<2→5, window<=0→15m, duration<=0→15m),newWSHub(bufSize clamp [16;4096]),NewRouter(httpTimeout<=0→300s) — предотвращают паники/OOM при невалидных значениях в БД.
Removed
server_auth_rate_limitубран из реестра: default5сломал бы PKCE-логин (флоу = 3 запроса на попытку входа → ~1.6 попытки/мин). Значение завязано на внутреннюю структуру PKCE-флоу и не должно быть пользовательской настройкой без перепроектирования.bus_publish_timeout_secondsубран из реестра: 5с — разумный фиксированный дефолт для backpressure; подключение требовало бы рефакторинга пакетаbus(package-levelvarбез доступа к Store), польза сомнительна.