Skip to content

v0.4.7 — Ollama 0.24 Compatibility + Protocol Observatory + FIM Playground

Choose a tag to compare

@LogneBudo LogneBudo released this 24 May 21:52
· 21 commits to master since this release

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 with event: 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 think parameter, visible only when the active model has the thinking capability. 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 format parameter, which now accepts a full JSON Schema object. Includes a textarea with live schema validation.

🔌 Wire-level additions (for SDK users / integrators)

  • OllamaChatRequest and OllamaGenerateRequest now carry think?: boolean | 'max', widened format?: 'json' | Record<string, unknown>, and OllamaGenerateRequest.suffix?: string
  • streamChatOpenAI accepts reasoning_effort and response_format for 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 --noEmit clean
  • vite build clean
  • 190 unit tests pass
  • All 3 protocols smoke-tested live against local Ollama 0.24.0

🛠️ Process notes

  • Self-hosted .github/workflows/release.yml was renamed to .yml.disabled so tag pushes no longer fire any workflow (commit 1c16385). 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).