Download Latest Version Thoth-3.20.0-Linux-x86_64.tar.gz (655.2 MB)
Email in envelope

Get an email when there's a new version of Thoth

Home / v3.20.0
Name Modified Size InfoDownloads / Week
Parent folder
Thoth-3.20.0-macOS-arm64.dmg 2026-05-04 767.1 MB
ThothSetup_3.20.0.exe 2026-05-04 616.8 MB
Thoth-3.20.0-Linux-x86_64.tar.gz 2026-05-04 655.2 MB
README.md 2026-05-04 8.5 kB
v3.20.0 - Linux Support, MiniMax, Custom Setup, Linux _ Ollama Reliability source code.tar.gz 2026-05-04 7.0 MB
v3.20.0 - Linux Support, MiniMax, Custom Setup, Linux _ Ollama Reliability source code.zip 2026-05-04 7.5 MB
Totals: 6 Items   2.1 GB 1

v3.20.0 — Linux Support, MiniMax, Custom Setup, Linux & Ollama Reliability

This release extends the provider runtime work with MiniMax as a first-class API-key provider, a cleaner first-run path for custom OpenAI-compatible endpoints, real Linux packaging, and stronger local Ollama connection handling for Windows and custom host setups.

🐧 Linux Support

  • Self-contained Linux tarball — releases now include Thoth-X.Y.Z-Linux-x86_64.tar.gz, built with python-build-standalone and the same source-copy contract as the macOS app bundle
  • One-line Linux installinstaller/install-linux.sh lets users install with a single curl ... | bash command while still verifying the release tarball SHA256 before running the bundled installer
  • XDG user installinstall.sh installs under ~/.local/share/thoth/releases/<version>, updates ~/.local/share/thoth/current, creates ~/.local/bin/thoth, and installs a freedesktop desktop entry plus icon
  • Browser-first baseline — Linux opens in the system browser by default and does not require pywebview, GTK/Qt, AppIndicator, or tray libraries to run
  • Optional native/tray modeslauncher.py --native and launcher.py --tray remain available for Linux desktops with the relevant system libraries
  • Server modelauncher.py --server --no-open --port <port> supports headless Linux smoke and server-style launches
  • Linux updater path — the updater can select Linux tarball assets, verify the SHA256 release manifest, install into the user-owned release tree, flip the current symlink, and restart through ~/.local/bin/thoth
  • Headless keyring handling — WSL and server Linux environments without Secret Service/KWallet now treat secure storage as unavailable without traceback spam; new secrets remain session-only rather than falling back to plaintext files

🧠 Providers & Setup

  • MiniMax provider support — MiniMax M2 models can be connected as a first-class API-key provider through MiniMax's Anthropic-compatible endpoint, with catalog rows, provider labels, setup/settings key entry, MINIMAX_API_KEY support, and runtime routing through the existing Anthropic transport
  • Anthropic-compatible transport cleanup — MiniMax now uses the same consolidated system-message handling required by Anthropic-style Messages APIs, avoiding failures from multiple non-consecutive system messages
  • MiniMax key validation — credentials accepted by MiniMax but blocked by the documented insufficient-balance response are treated as valid credentials with a billing/account warning instead of as invalid keys
  • Custom/Self-hosted setup path — first-run setup now supports Custom/Self-hosted OpenAI-compatible endpoints such as LM Studio alongside the normal Providers path for API-key users

🖥️ Ollama & Native Launcher Reliability

  • Ollama host parsingOLLAMA_HOST values with explicit ports and URL forms are parsed correctly for local daemon checks instead of assuming the default 11434 port
  • Ollama wildcard-host compatibility — when OLLAMA_HOST is set to a bind wildcard such as 0.0.0.0 or ::, Thoth now connects through a loopback client endpoint while preserving the configured port, so setup, model listing, downloads, local chat, vision, and dream-cycle busy checks do not incorrectly report Ollama as disconnected
  • Local vision model catalog restore — Ollama and Custom/Self-hosted OpenAI-compatible catalogs now infer vision support for local model families such as Gemma 3, LLaVA variants, Moondream, MiniCPM-V, and Qwen-VL, so LM Studio and installed Ollama vision models appear in the Vision tab again
  • Free-port launcher startup — the desktop launcher now verifies that a listener on 8080 is actually Thoth before reusing it; if another local service owns the port, Thoth starts on the next available local port instead of opening the foreign service
  • Session port source of truth — the launcher passes the selected port through THOTH_PORT, and the NiceGUI app, main-app tunnel, SMS webhook registration, workflow webhook route, Settings tunnel toggle, and Designer published-link fallback all use that active app port
  • Launcher identity probe/api/launcher-ping lets the tray distinguish an existing Thoth instance from unrelated services while preserving direct python app.py launches on port 8080 by default
  • Linux-safe launcher modes — the launcher now has explicit --browser, --native, --tray, --no-tray, --server, --no-open, --port, and --host flags; Windows and macOS keep their existing tray-first behavior while Linux defaults to browser/no-tray
  • Wayland clipboard fallback — native-window clipboard access tries wl-paste before the existing xclip fallback on Linux

🧪 Tests & Release Checks

  • MiniMax provider coverage — focused tests cover provider catalog wiring, runtime construction, key validation behavior, setup/settings surfaces, static model rows, and Anthropic-compatible message consolidation
  • Ollama endpoint regressions — provider runtime tests cover OLLAMA_HOST variants including custom ports, URL forms, 0.0.0.0, and IPv6 wildcard binds
  • Vision catalog regressions — provider catalog tests cover installed/recommended Ollama vision rows plus LM Studio-style custom endpoint models with sparse OpenAI-compatible metadata
  • Launcher/app-port coverage — app-port tests validate dynamic port selection, Thoth identity probing, and active-port propagation
  • Linux smoke coverage — Ubuntu CI now launches the app and checks /api/launcher-ping; release CI builds the Linux tarball, unpacks it, runs the packaged launcher in server mode, and checks both /api/launcher-ping and the root UI page
  • Current validation — focused Linux/app-port/secret-storage regression tests pass locally; full test_suite.py and pytest -q remain final release-gate checks before publishing artifacts

⚠️ Release Notes & Risk Notes

  • LM Studio custom endpoint smoke — when testing LM Studio through the Custom/Self-hosted setup path, load the selected model with enough context for Thoth's agent prompt and enabled tool schemas. A 4096 context can fail with a misleading prompt-template error such as No user query found in messages; 32768 is a practical smoke-test baseline.

📁 Files Changed

File Change
models.py MiniMax static catalog rows, normalized Ollama endpoint handling, explicit Ollama client/base URL routing, local model listing/download/tool checks, and context lookup fixes
providers/catalog.py, providers/auth_store.py, providers/runtime.py, providers/ollama.py MiniMax provider definition, MINIMAX_API_KEY mapping, Anthropic-compatible runtime routing, normalized Ollama runtime base URL construction, and local/custom vision catalog inference
ui/setup_wizard.py, ui/settings.py MiniMax key entry plus Custom/Self-hosted setup and settings alignment
vision.py, dream_cycle.py Local Ollama vision and busy-check calls now use the normalized client endpoint
app_port.py, launcher.py, app.py Dynamic app-port selection, THOTH_PORT propagation, Thoth identity probing, and active-port NiceGUI startup
installer/build_linux_app.sh, installer/install-linux.sh, .github/workflows/release.yml, .github/workflows/update-manifest.yml Linux tarball packaging, one-line installer bootstrap, release artifact upload, packaged smoke, and SHA256 manifest inclusion
channels/sms.py, designer/publish.py, ui/settings.py Main-app tunnel, SMS webhook, Designer published-link, and Settings tunnel controls now follow the active app port
test_provider_*.py, test_app_port.py, test_linux_support.py, test_suite.py MiniMax, custom setup, Ollama endpoint, Linux packaging/updater/launcher, and app-port regression coverage
:::manifest
schema: 1
files:
  Thoth-3.20.0-Linux-x86_64.tar.gz: sha256=2e2efb49e67b48ca7774278f184cf039ae281f489c76bafebf740f6c2e361714
  Thoth-3.20.0-macOS-arm64.dmg: sha256=a07af5cadd57443495e2fcc7909cec8888a72cd04ae5c2d228dd0b45d47461a8
  ThothSetup_3.20.0.exe: sha256=e4a1cc9f8e305f05bb6b802390b5df99f5f1d6b037b368655f2e58a02c712f0e
Source: README.md, updated 2026-05-04