~15 min read

Running Apps

Thumper-Run manages the full lifecycle of AI apps — from installation to launch to cleanup.

Browsing the Catalog

The catalog contains 47 apps across image generation (ComfyUI, Fooocus, Stable Diffusion), LLMs (Open WebUI, Jan, Ollama), audio (OpenVoice, ACE-Step), video (LTX Video, HunyuanVideo), and workflow tools (Langflow, AnythingLLM). Each app shows its GPU requirements, disk size, and user ratings.

Installing an App

Click Install on any app card. The platform automatically:

  1. Clones the source repository (if github_url is set)
  2. Creates an isolated Python environment (for Python apps)
  3. Runs platform-specific install commands (selecting CUDA/ROCm/CPU as appropriate)
  4. Downloads required model packs (if pack_refs is set)

Installation progress shows per-step status. If a step fails, the error is shown with the full command output.

Launching and Health Checks

After installation, click Launch. The platform starts the app process, monitors its health check endpoint (typically GET / with a 30–120s timeout), and shows the app UI once healthy. Apps that set launch_in_browser: true open in your system browser; others use the built-in webview.

Process Management

Running apps can be stopped, restarted, or force-killed. The platform handles:

  • Crash recovery: automatic restart with backoff
  • Orphan cleanup: child processes are killed when the parent exits
  • Port management: each app gets its configured port, conflicts are detected at launch

App Console

The console is a dashboard for monitoring all running apps. It shows real-time status, resource usage, and provides quick controls without navigating to each app individually.

What the Console Shows

ColumnDescription
AppName, status badge (running/stopped/error), uptime
ResourcesDisk usage, GPU allocation, estimated CPU usage
LogsClick to open real-time log viewer (stdout + stderr) with timestamps and line wrapping
ActionsStop, Restart, Force Kill, Open in browser, Share output

Console preferences (font size, line wrapping, timestamp format) are stored in your CRDT user document and sync across devices.

Managing Models

Models are the weights files that AI apps need to run. Thumper-Run discovers, downloads, and organizes them automatically.

Model Discovery

The platform scans three locations for existing models:

  • HuggingFace cache (~/.cache/huggingface/hub/) — repos you've already downloaded via huggingface-cli or other tools
  • Ollama library (~/.ollama/models/) — models pulled with ollama pull
  • Thumper store (~/.local/share/tr-desktop/models/) — models downloaded through the platform

Discovered models are matched to manifests using filename patterns and file size ranges, so the platform knows what you already have.

Downloading Models

When an app needs a model you don't have, the platform downloads it with:

  • Streaming downloads with progress tracking (speed, ETA, percentage)
  • Resume support — interrupted downloads continue from where they left off (.part files)
  • SHA-256 verification — every file is verified against the hash in its manifest
  • VRAM-aware selection — if a model has multiple quantization variants, the platform picks the highest quality that fits in your available VRAM

Storage Management

View per-model and per-app disk usage in Settings → Storage. The cleanup tool identifies:

  • Duplicate models across locations (e.g., same weights in both HF cache and Thumper store)
  • Models not referenced by any installed app
  • Partially downloaded files that can be safely removed

LLM Engines

Thumper-Run supports multiple LLM backends for chat apps, AI agents, and text generation. All local engines run fully offline — your data never leaves your device.

Ollama uses llama.cpp internally. The difference is how you interact with them: Ollama is a managed server with a model library, while llama.cpp is a library for direct GGUF file inference.

Which Engine Should I Use?

I want to...UseWhy
Chat with a local LLM (easiest)OllamaManaged model library, one-command pull, OpenAI-compatible API
Run on CPU or low VRAM (<6 GB)llama.cppOptimized CPU paths, fine-grained quantization control (Q4_K_M ≈ 4.5 GB for 8B model)
Get maximum quality / latest modelsCloud APIAccess GPT-4o, Claude — requires API key and internet
Run fully offline, no network everOllama or llama.cppBoth run 100% local after model download
Share one model across multiple appsOllamaModel server — multiple apps connect to same running instance
Use the built-in Thumper agentllama.cppBuilt-in, no external process needed

Ollama

Ollama is a local LLM server with a managed model library. Thumper-Run auto-starts it when apps need text generation (Open WebUI, AnythingLLM, SillyTavern).

  • Auto-start — when an app declares dependencies.ollama: true, Thumper starts Ollama automatically
  • Auto-pull models — apps specify required models; Thumper pulls them with streaming progress
  • Port override — set ollama_port_override if port 11434 conflicts; ${ollama_port} is substituted in env vars
  • OpenAI-compatible API — http://localhost:11434/v1 — any app supporting OpenAI format connects directly

Model format: Ollama registry (quantized GGUF internally). Models are stored in ~/.ollama/models/.

llama.cpp

llama.cpp runs GGUF model files directly — no server process needed. It powers the built-in Thumper agent and apps like Jan. GPU backends (CUDA, ROCm, Metal) are loaded dynamically at runtime.

  • Model format — GGUF files (download from HuggingFace or convert from other formats)
  • GPU support — auto-detects CUDA/ROCm/Metal; falls back to CPU if no GPU available
  • Quantization — Q4_K_M (best balance), Q5_K_M (higher quality), Q8_0 (near-lossless), Q2_K (smallest)
  • Model location — ~/.local/share/tr-desktop/models/
Q4_K_M is the sweet spot for most users — ~4.5 GB for an 8B model, runs well on 8 GB VRAM or CPU with 16 GB RAM.

Cloud APIs (OpenAI, Anthropic)

Cloud APIs provide access to the latest models (GPT-4o, Claude) without local hardware. Set up in Settings → LLM Engine → API Keys.

Cloud APIs send your prompts to external servers. For private or sensitive data, use Ollama or llama.cpp instead.

Engine Selection & Fallback

Configure your preferred engine in Settings → LLM Engine. You can set a fallback chain: if the primary engine is unavailable, the next one is tried automatically. For example: Ollama → llama.cpp → OpenAI.

Troubleshooting

IssueEngineFix
Port conflict (11434 in use)OllamaKill existing Ollama process, or use ollama_port_override
Model not foundOllamaCheck model name matches ollama.com library
Slow first responseBothModel loads into memory on first request; subsequent requests are fast
GGUF file won’t loadllama.cppVerify file isn’t corrupted (check SHA-256); re-download from HuggingFace
CUDA out of memoryllama.cppUse smaller quantization (Q4_K_M) or reduce n_gpu_layers
API key rejectedCloudVerify key in Settings → LLM Engine → API Keys

AI Assistant

Beta Thumper-Run includes a built-in AI assistant that can diagnose GPU issues, repair manifests, manage models, and automate common tasks. It has access to 28 specialized tools organized into 6 categories.

What Can the Agent Do?

GPU Troubleshooting

"Why is ComfyUI crashing?" — the agent runs gpu_detect, checks VRAM, inspects logs, and fixes the issue (e.g., switching FP16 to BF16 on AMD APU).

Manifest Authoring

"Package my Python app for the catalog" — generates a complete .thumper.yaml with correct runtime, install commands, and pack_refs.

Model Management

"Find the best SDXL model for 8 GB VRAM" — searches manifests, checks local cache, downloads the optimal variant, and links it to the right app directory.

File Editing

"Edit the ComfyUI workflow to use a different checkpoint" — opens files in the built-in code editor, makes targeted changes, and validates the result.

Agent Templates

TemplateDescriptionTools
GeneralMulti-purpose assistant for app managementAll safe tools
Code ReviewAnalyze and edit project filesFilesystem, code editor
GPU InstallerDiagnose GPU issues and fix dependenciesGPU diagnostic, launcher
Model ManagerSearch, download, and organize model weightsModel intelligence, manifest v2

Tool Approval

Tools are classified by safety level:

  • SafeAuto-run: gpu_detect, model_search, system_info, file_read, port_scan, vram_report
  • ConfirmRequire approval: app_install, app_launch, file_write, model_download, manifest_generate
  • DangerousExplicit confirmation + warning: app_uninstall, file_delete, process_kill

Built-in Code Editor

The agent can open files in a built-in code editor with:

  • Syntax highlighting for Python, YAML, JSON, TOML, Bash, and 20+ languages
  • Undo / Redo with full history (Ctrl+Z / Ctrl+Shift+Z)
  • File tree with resizable drag handle for navigating app directories
  • Search across files (Ctrl+Shift+F) with regex support
  • Diff view — when the agent edits a file, the before/after diff is shown for approval

The editor is useful for inspecting and editing manifests, ComfyUI workflow JSON, config files, and app source code without leaving the platform.

Session Persistence

Agent sessions persist across app restarts. The conversation history, tool results, and generated code are stored in the CRDT document and synced across devices. Switching between apps preserves each app's agent context independently.

Example Conversation

You:ComfyUI keeps OOMing during VAE decode on my AMD APU
Agent:Running gpu_detect... Detected AMD gfx1150 (Radeon 890M, 8 GB shared). Running vram_report... VAE is using FP16 which can cause OOM on shared memory. I’ll add --disable-smart-memory to your launch args and switch the pack to BF16.
Agent:[Tool: file_write] Updated .thumper.yaml patches → Added --disable-smart-memory for amd_apu accelerator. [Awaiting approval]

Stable The cross-app image gallery automatically collects generated images from all installed AI apps into a single, searchable view. No manual organization needed.

How It Works

  1. File watcher monitors every installed app's output directory for new images in real-time
  2. Metadata extraction reads embedded generation parameters from the image file itself
  3. Indexing builds a searchable database so you can find images by any metadata field

Supported Metadata Formats

AppMetadata SourceFields Extracted
ComfyUIPNG tEXt "prompt" chunk (JSON)Full node graph, model name, sampler, seed, CFG, steps
A1111 / ForgePNG tEXt "parameters" (text block)Prompt, negative prompt, model, seed, sampler, CFG, steps, size
FooocusPNG tEXt "fooocus" (JSON)Prompt, style, performance preset, model, seed
Other appsEXIF, filename patternsTimestamps, dimensions, app source (from directory)

Search and Filter

The gallery supports full-text search across prompts and metadata. Filter by:

  • Source app (show only ComfyUI images, or only Fooocus, etc.)
  • Model name (e.g., all images generated with SDXL Base)
  • Date range
  • Prompt keywords
  • Favorites (star images to find them quickly)

IPC Commands

  • gallery_scan_outputs — trigger a full scan of all app output directories
  • gallery_list_images — paginated list with optional filters (app, date, prompt)
  • gallery_get_image — full metadata for a single image including extracted generation parameters

Reviews & Ratings

Every app in the catalog can be reviewed and rated by users who've installed it. Reviews help the community find the best apps and give developers feedback.

Writing a Review

  • Open any installed app's detail page and click "Write a Review"
  • Choose 1–5 stars and write your experience
  • Reviews from users who have the app installed get a Verified badge
  • You can edit or delete your review at any time

Review Features

  • Helpful voting — mark reviews as helpful to surface the best ones
  • Rating distribution — histogram showing how many 1-5 star ratings an app has
  • Sort & filter — by rating, date, helpfulness, or verified status
  • Sync — reviews are stored in the Mode 2 (Content + Auth) CRDT document, so they sync across devices and are visible to all users

Device Pairing

Beta Pair devices for supported multi-device workflows. Pairing uses QR codes and X25519 key agreement, but pairing alone does not establish a current private E2EE guarantee for synced content.

Pairing Flow

1

Generate

Device A opens Settings → Devices → "Pair New Device" and shows a QR code

2

Scan

Device B scans the QR and performs ECDH X25519 key agreement

3

Verify

Both devices display a 6-digit code; user confirms they match

4

Synced

Pairing state is stored locally; supported server-assisted sync can then be enabled

What Syncs?

  • Settings & preferences — theme, model preferences, agent sessions
  • App install state — which apps are installed, their launch configs
  • Reviews & ratings — your app reviews sync across devices
  • Gallery favorites — starred images visible on all devices
  • Private documents — private E2EE modes remain gated and should not be treated as a current sync guarantee
Model weight files are not synced (they’re too large). Each device downloads models independently based on synced preferences.

Device Management

In Settings → Devices you can:

  • Rename devices for easy identification ("Living Room PC", "Work Laptop")
  • Revoke a device to remove it from your linked-device list when you no longer use it
  • View sync status — see last sync time, pending changes, and connection state per device

Settings

All settings are CRDT-backed and sync across your paired devices. Open Settings from the sidebar or press Ctrl+, (Cmd+, on macOS).

LLM / AI Engine

Configure which LLM backend powers the AI assistant and chat-based apps. Choose between Ollama (managed), llama.cpp (GGUF), or cloud APIs. See the LLM Engines section for a full comparison and decision guide.

NPU / Neural Processing Unit

Experimental

For laptops with dedicated NPUs (Intel Meteor Lake, Qualcomm X Elite, AMD XDNA), the NPU settings page shows:

  • Driver status — checklist of required drivers and runtimes
  • Live performance — TOPS utilization, memory usage, temperature
  • Model management — ONNX models optimized for NPU inference
  • Benchmarks — run A/B comparisons between CPU, GPU, and NPU inference

Other Settings

PageWhat It Controls
AppearanceTheme (dark/light/system), accent color, font size
ProfileDisplay name, avatar, identity phase
DevicesPaired devices, sync status (see Device Pairing)
EncryptionEncryption design status, key controls, and BeeKEM diagnostics where available
SyncConnection mode (WebSocket/HTTP/offline), conflict resolution
NotificationsPush/email toggles per category, quiet hours
API KeysCreate/revoke API keys for programmatic access
BillingPayment methods, invoices, subscription plan (Pro features)

File System Layout

Thumper-Run stores data across several directories. Understanding the layout helps with debugging, backup, and disk management.

Application Data

tree
~/.local/share/tr-desktop/
├── apps/ # Installed app repos + venvs
│ ├── comfyui/
│ ├── open-webui/
│ └── jan/
├── models/ # Downloaded model weights
│ ├── sdxl-base-1.0.safetensors
│ └── Qwen3-4B-Q4_K_M.gguf
├── logs/ # Per-app log files
├── crdt/ # CRDT database (SQLite)
└── gallery/ # Generated image metadata

HuggingFace Cache

tree
~/.cache/huggingface/hub/
├── models--stabilityai--sdxl-base-1.0/
│ └── snapshots/{hash}/
│ └── sd_xl_base_1.0.safetensors
├── models--Qwen--Qwen3-4B-GGUF/
└── models--openai--whisper-large-v3/

The HuggingFace cache is shared with other tools (huggingface-cli, diffusers, transformers). Thumper-Run reads from it but never deletes files here.

Ollama Models

tree
~/.ollama/models/
├── manifests/registry.ollama.ai/
│ └── library/{model}/latest
└── blobs/
└── sha256-{hash}

Configuration

tree
~/.config/tr-desktop/
├── settings.json # App preferences
└── identity/ # Device keys (E2EE)
To reclaim disk space, use Settings → Storage Management. It shows per-location disk usage and lets you selectively clean up unused models.

Keyboard Shortcuts

Keyboard shortcuts work in the desktop app. Some shortcuts are context-dependent.

Global

ShortcutAction
Ctrl + ,Open Settings
Ctrl + KQuick search / command palette
Ctrl + LFocus AI assistant input
Ctrl + 1–9Switch to tab N
Ctrl + WClose current tab
F11Toggle fullscreen

Code Editor

ShortcutAction
Ctrl + ZUndo
Ctrl + Shift + ZRedo
Ctrl + SSave file
Ctrl + FFind in file
Ctrl + Shift + FFind in project

Gallery

ShortcutAction
← / →Previous / next image
SToggle star / favorite
IToggle info panel (metadata)
DeleteDelete image (with confirmation)

Console

ShortcutAction
Ctrl + LClear console output
Ctrl + CStop running app