Commit Graph

2 Commits

Author SHA1 Message Date
Markus Fritsche 484296b277 reasoning passthrough: enable_thinking for configured local models
Reasoning-capable local backends (deepseek-v4-flash-dspark on bosch) only emit a
separate reasoning stream when the request carries chat_template_kwargs.enable_thinking.
The proxy never asked, so clients (bullpen, OWUI) got reasoning inlined into content or
dropped. Now: if the routed local model matches /etc/llm-proxy/reasoning-models.json
(a JSON list of substrings; absent=off), inject enable_thinking. The byte-passthrough
relay already forwards the reasoning deltas untouched. Verified: dspark now streams
reasoning deltas through :8082.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 14:39:46 +02:00
marfrit cc3be17994 Initial commit: llm-proxy (de-hardcoded, portable)
Zero-dependency OpenAI-compatible router: OpenRouter cloud + local model-aware
fanout, merged /v1/models catalog with cost tags, background free/cheap-tier
auto-curation. Extracted from the fleet's unversioned /opt/llm-proxy.py (kept
only as cp-backups) and de-hardcoded for portability:
- config dir via LLM_PROXY_CONFIG_DIR (default /etc/llm-proxy)
- default backends -> localhost (no fleet hosts); real ones in local-backends.json
- friendly-name aliases -> friendly-names.json (none baked in code)
- OpenRouter Referer/Title via LLM_PROXY_REFERER / LLM_PROXY_TITLE
- removed the ds4-escher one-off filter and the fleet-specific helper scripts
Sanitized: no fleet hostnames, IPs, names, or secrets (key comes from env).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EWpfhDgYNA21tETDP9ueBE
2026-07-24 08:15:18 +02:00