| Name | Modified | Size | Downloads / 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 install —
installer/install-linux.shlets users install with a singlecurl ... | bashcommand while still verifying the release tarball SHA256 before running the bundled installer - XDG user install —
install.shinstalls 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 modes —
launcher.py --nativeandlauncher.py --trayremain available for Linux desktops with the relevant system libraries - Server mode —
launcher.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
currentsymlink, 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_KEYsupport, 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 parsing —
OLLAMA_HOSTvalues with explicit ports and URL forms are parsed correctly for local daemon checks instead of assuming the default11434port - Ollama wildcard-host compatibility — when
OLLAMA_HOSTis set to a bind wildcard such as0.0.0.0or::, 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
8080is 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-pinglets the tray distinguish an existing Thoth instance from unrelated services while preserving directpython app.pylaunches on port8080by default - Linux-safe launcher modes — the launcher now has explicit
--browser,--native,--tray,--no-tray,--server,--no-open,--port, and--hostflags; 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-pastebefore the existingxclipfallback 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_HOSTvariants 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-pingand the root UI page - Current validation — focused Linux/app-port/secret-storage regression tests pass locally; full
test_suite.pyandpytest -qremain 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
4096context can fail with a misleading prompt-template error such asNo user query found in messages;32768is 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