You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Added
- Startup LLM probe for bare LLM_BASE_URL: try /api/v1/models then /v1/models,
pin chat/completions to the first working API root; skip when base already
has /v1 or /api/v1.
- Egress enrichment for proactive posts: top destinations, dst ports, optional
client namespace/pod when field caps resolve them.
- IPv6 global-unicast /64 grouping for egress dedupe; contributingSrcIps on
affected findings.
- Tests for egress dedupe key, enrichment, poll selection, and summarizeFindings
JSON contract.
## Changed
- LLM HTTP errors log configured model and resolved chat URL.
- Helm: no placeholder LLM_MODEL default; ConfigMap omits LLM_MODEL when unset.
- Insight poller: no rare_destination; medium/high only; max 3 findings per
post; dedupe.mark only after successful post.
- summarizeFindings strict JSON {post,text}; parse errors or post:false skip
chat (fail-closed, no fallback post for insights).
- Slack summarizer prompt uses enrichment when present; README documents probe
and LLM_MODEL examples.
## Fixed
- Bare OpenWebUI bases that only answer on /api/v1 no longer stay on /v1 after
a 400 from the wrong route.
- Egress detector fold accumulates src IPs per dedupe key correctly.
- Scheduled insight spam from low severity, poller rare-destination noise, and
duplicate IPv6 host lines.
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -132,9 +132,9 @@ Kaytoo is configured via environment variables. For a minimal example, see `.env
132
132
133
133
| Variable | Required | Default | Notes |
134
134
| --- | --- | --- | --- |
135
-
|`LLM_BASE_URL`| yes | - | Example: `http://openwebui:3000` or `http://ollama-proxy:11434`. |
135
+
|`LLM_BASE_URL`| yes | - | Example: `http://openwebui:3000` or `http://ollama-proxy:11434`. If the path is bare (no `/v1` or `/api/v1`), Kaytoo probes `/api/v1/models` then `/v1/models` once at startup and pins the responder. To skip the probe, include the version path (e.g. `http://openwebui:3000/api/v1`). |
136
136
|`LLM_API_KEY`| yes | - | Some self-hosted backends accept an empty string. |
137
-
|`LLM_MODEL`| no |`gpt-5.4-codex`|-|
137
+
|`LLM_MODEL`| no |`gpt-5.4-codex`|Must match a name your backend exposes (`/api/v1/models` or `/v1/models`). E.g. `gpt-4o`, `llama3.1`, `unsloth/Qwen3.6-35B-A3B-GGUF:UD-Q4_K_XL`. A wrong name typically produces a LiteLLM `'NoneType' object has no attribute 'startswith'` 400.|
0 commit comments