subochev
c7e7c7346d
feat: флажок think_tags — вырезание think-тегов из ответа (split/strip)
...
Build LLM Proxy / Build and push (release) Successful in 24s
Некоторые провайдеры (minimax) отдают рассуждения модели текстом внутри
content, обернув их тегами think. Новое опциональное поле think_tags
у providers[] и upstreams[] (приоритет: апстрим -> провайдер -> off,
толерантный разбор true/false, неизвестное = off).
- off: поведение не меняется (сырой байтовый passthrough в стриме);
- split: блоки think вырезаются из content, текст уходит в reasoning_content;
- strip: вырезаются и выбрасываются.
Стрим разбирается построчно: отдельный ThinkTagSplitter на каждый
choices[].index, хвост, который может оказаться началом разрезанного тега,
не отдаётся до разрешения, на конце потока — finish(). Non-stream: тот же
трансформ для message.content (и для результата rebuildFromChunks), уже
существующий reasoning_content дописывается, а не теряется.
Тесты: ThinkTagSplitterTest (7), разбор конфига и эффективный режим в
ConfigLogicTest (2) — всего 42 теста, 0 падений. CONFIG.md + README.
8
2026-09-11 16:24:54 +03:00
subochev
dba52d22fd
feat: вычисление сессии по истории (LCP) для providers[].session_header
...
- SHA-256 на commonMain + SessionRegistry (LCP по префикс-хэшам, LRU 1000/6ч, Mutex)
- providers[].session_header: прокси сам ставит/перезаписывает заголовок сессии
- цепочка хэшей стартует с первого user-сообщения (system не склеивает сессии)
- CONFIG.md + тесты (SHA-256, LCP, LRU/TTL, парсинг, стабильность префиксов)
dev-20260911-0527
2026-09-11 05:27:15 +03:00
subochev
efdce75ee9
feat: логирование заголовков запроса и заголовков в апстрим; маскировка секретов; Content-Type прокси-овнер
dev-20260911-0444
2026-09-11 04:44:05 +03:00
subochev
e251ca5326
docs: CONFIG.md (описание YAML-конфига); .gitignore для tooling-каталогов
Build LLM Proxy / Build and push (release) Successful in 43s
dev-20260911-0347
7
2026-09-11 03:09:18 +03:00
subochev
0fb99060f9
feat: пересылка клиентских заголовков в апстрим (кроме служебных); Authorization — только ключ провайдера
2026-09-11 03:09:18 +03:00
subochev
c3aaa914fb
Dockerfile: temurin 17 -> 21 (KMP-код собран Java 21, class 65)
Build LLM Proxy / Build and push (release) Successful in 29s
6
2026-08-30 19:13:26 +03:00
subochev
019af32bf5
fiх: CI target shadowJar -> fatJar (новый KMP-болд)
Build LLM Proxy / Build and push (release) Successful in 28s
2026-08-30 19:10:31 +03:00
subochev
85d16eccc3
fix
Build LLM Proxy / Build and push (release) Failing after 14s
2026-08-30 19:02:23 +03:00
subochev
bad7e13eb8
fix
2026-08-30 14:12:56 +03:00
subochev
d75172434e
fix
2026-08-30 14:06:35 +03:00
subochev
995c5fba0e
fix
2026-08-30 13:12:15 +03:00
subochev
f213b139da
feat: отмена non-stream запросов — апстрим как stream + ensureActive + HttpRequestLifecycle (Ktor 3.5.2); рвём генерацию при обрыве клиента
Build LLM Proxy / Build and push (release) Successful in 29s
5
2026-08-21 03:19:57 +03:00
subochev
350ef663c0
feat: SGLANG_COMPAT — chat_template_kwargs.enable_thinking=false при -no-think (llama.cpp/sglang)
Build LLM Proxy / Build and push (release) Successful in 21s
4
2026-08-21 02:53:52 +03:00
Hermes Agent
f45ed0d11c
feat: тайминг-лог запросов ([llm-proxy] chat model=... status=... в Nms)
Build LLM Proxy / Build and push (release) Successful in 22s
3
2026-08-20 17:39:18 +03:00
Hermes Agent
8fc743860c
fix: compose — external network bifrost_default вместо network_mode
2026-08-20 13:25:16 +03:00
Hermes Agent
0843db20db
fix: Dockerfile COPY build/libs/llm-proxy.jar (CI-путь)
Build LLM Proxy / Build and push (release) Successful in 27s
2
2026-08-20 13:18:58 +03:00
Hermes Agent
49d1add426
fix: wrapper jar в git (исключение из .gitignore)
Build LLM Proxy / Build and push (release) Failing after 34s
1
2026-08-20 13:15:19 +03:00
Hermes Agent
bbffe79ee7
chore: убран дубль wrapper
2026-08-20 13:15:00 +03:00
Hermes Agent
5f3ae73e36
feat: llm-proxy — OpenAI-прослойка перед RouterAI (provider.ignore + -no-think)
2026-08-20 13:14:52 +03:00