Repository navigation
v0.4.7 — Ollama 0.24 Compatibility + Protocol Observatory + FIM Playground
Released: 2026-05-24 · Published to: npm llmxray@0.4.7 · Docker djovaneli/llmxray:0.4.7
Brings LLMxRay up to full feature parity with Ollama 0.24.0 (current latest stable) and adds two new dedicated pages that exercise capabilities the Ollama daemon has shipped over the last several versions.
✨ Two new routes
🧩 Fill-in-the-Middle Playground — /fim
Code completion the way IDEs do it. Provide a prefix and suffix, the model fills the gap. Streams in real time, then shows a stitched preview as the code would appear in your editor. Works with Qwen-Coder, CodeLlama, Codestral, DeepSeek-Coder, and StarCoder. Uses Ollama's suffix field on /api/generate.
🔬 Protocol Observatory — /protocols
Fire the same prompt through Ollama's three serving protocols in parallel against the same local model:
/api/chat(native NDJSON)/v1/chat/completions(OpenAI-compatible SSE)/v1/messages(Anthropic-compatible SSE withevent:tags)
Three-column streaming, per-protocol metrics, an Envelope Diff tab that shows how each protocol frames finish reasons, token counts, and error envelopes. All local — no cloud, no API keys.
🆕 Chat Settings additions
- Thinking control (Off / On / Max) — toggles Ollama's
thinkparameter, visible only when the active model has thethinkingcapability. Max mode requests the largest reasoning budget (added in Ollama 0.21.3). - Response format control (Free-form / Valid JSON / JSON Schema strict) — exposes Ollama's
formatparameter, which now accepts a full JSON Schema object. Includes a textarea with live schema validation.
🔌 Wire-level additions (for SDK users / integrators)
OllamaChatRequestandOllamaGenerateRequestnow carrythink?: boolean | 'max', widenedformat?: 'json' | Record<string, unknown>, andOllamaGenerateRequest.suffix?: stringstreamChatOpenAIacceptsreasoning_effortandresponse_formatfor OpenAI-style structured outputs / reasoning control- New
anthropic-client.ts+types/anthropic.ts— full Anthropic Messages API client and SSE event-tagged parser, targeting local/v1/messages
🌍 i18n
- Full translations for new strings in English, French, Serbian (Latin), Serbian (Cyrillic)
- Nav labels added in Arabic and Chinese (other strings fall back to English)
- Serbian added to the README multilingual mention
📚 Documentation
- 4 new VitePress pages: FIM Playground and Protocol Observatory (EN + FR)
- Sidebar updated, guide indexes updated (10 → 12 sidebar items)
- Chat Diagnostics doc updated with the new Thinking and Response Format sections
- README: new Ollama Compatibility section listing every endpoint LLMxRay uses
🧪 Verification
vue-tsc --noEmitcleanvite buildclean- 190 unit tests pass
- All 3 protocols smoke-tested live against local Ollama 0.24.0
🛠️ Process notes
- Self-hosted
.github/workflows/release.ymlwas renamed to.yml.disabledso tag pushes no longer fire any workflow (commit1c16385). All artifacts are now manual. - Previous releases v0.4.4 / v0.4.5 / v0.4.6 had been shipped to npm + Docker but skipped tags + Releases — those tags + Releases were backfilled before this release so all seven version surfaces stay in sync.
Install
```bash
npx llmxray@0.4.7
or pin via npm
npm install -g llmxray@0.4.7
or docker
docker run -p 5174:5174 djovaneli/llmxray:0.4.7
```
Requires Ollama running locally (0.20+; 0.24+ recommended for full feature parity including the Anthropic-compat endpoint and the think: "max" mode).