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:
- Clones the source repository (if
github_urlis set) - Creates an isolated Python environment (for Python apps)
- Runs platform-specific install commands (selecting CUDA/ROCm/CPU as appropriate)
- Downloads required model packs (if
pack_refsis 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
| Column | Description |
|---|---|
| App | Name, status badge (running/stopped/error), uptime |
| Resources | Disk usage, GPU allocation, estimated CPU usage |
| Logs | Click to open real-time log viewer (stdout + stderr) with timestamps and line wrapping |
| Actions | Stop, 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 (
.partfiles) - 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.
Which Engine Should I Use?
| I want to... | Use | Why |
|---|---|---|
| Chat with a local LLM (easiest) | Ollama | Managed model library, one-command pull, OpenAI-compatible API |
| Run on CPU or low VRAM (<6 GB) | llama.cpp | Optimized CPU paths, fine-grained quantization control (Q4_K_M ≈ 4.5 GB for 8B model) |
| Get maximum quality / latest models | Cloud API | Access GPT-4o, Claude — requires API key and internet |
| Run fully offline, no network ever | Ollama or llama.cpp | Both run 100% local after model download |
| Share one model across multiple apps | Ollama | Model server — multiple apps connect to same running instance |
| Use the built-in Thumper agent | llama.cpp | Built-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_overrideif 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/
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.
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
| Issue | Engine | Fix |
|---|---|---|
| Port conflict (11434 in use) | Ollama | Kill existing Ollama process, or use ollama_port_override |
| Model not found | Ollama | Check model name matches ollama.com library |
| Slow first response | Both | Model loads into memory on first request; subsequent requests are fast |
| GGUF file won’t load | llama.cpp | Verify file isn’t corrupted (check SHA-256); re-download from HuggingFace |
| CUDA out of memory | llama.cpp | Use smaller quantization (Q4_K_M) or reduce n_gpu_layers |
| API key rejected | Cloud | Verify 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
| Template | Description | Tools |
|---|---|---|
| General | Multi-purpose assistant for app management | All safe tools |
| Code Review | Analyze and edit project files | Filesystem, code editor |
| GPU Installer | Diagnose GPU issues and fix dependencies | GPU diagnostic, launcher |
| Model Manager | Search, download, and organize model weights | Model 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
Image Gallery
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
- File watcher monitors every installed app's output directory for new images in real-time
- Metadata extraction reads embedded generation parameters from the image file itself
- Indexing builds a searchable database so you can find images by any metadata field
Supported Metadata Formats
| App | Metadata Source | Fields Extracted |
|---|---|---|
| ComfyUI | PNG tEXt "prompt" chunk (JSON) | Full node graph, model name, sampler, seed, CFG, steps |
| A1111 / Forge | PNG tEXt "parameters" (text block) | Prompt, negative prompt, model, seed, sampler, CFG, steps, size |
| Fooocus | PNG tEXt "fooocus" (JSON) | Prompt, style, performance preset, model, seed |
| Other apps | EXIF, filename patterns | Timestamps, 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 directoriesgallery_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
Generate
Device A opens Settings → Devices → "Pair New Device" and shows a QR code
Scan
Device B scans the QR and performs ECDH X25519 key agreement
Verify
Both devices display a 6-digit code; user confirms they match
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
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
ExperimentalFor 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
| Page | What It Controls |
|---|---|
| Appearance | Theme (dark/light/system), accent color, font size |
| Profile | Display name, avatar, identity phase |
| Devices | Paired devices, sync status (see Device Pairing) |
| Encryption | Encryption design status, key controls, and BeeKEM diagnostics where available |
| Sync | Connection mode (WebSocket/HTTP/offline), conflict resolution |
| Notifications | Push/email toggles per category, quiet hours |
| API Keys | Create/revoke API keys for programmatic access |
| Billing | Payment 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
~/.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
~/.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
~/.ollama/models/├── manifests/registry.ollama.ai/│ └── library/{model}/latest└── blobs/└── sha256-{hash}
Configuration
~/.config/tr-desktop/├── settings.json # App preferences└── identity/ # Device keys (E2EE)
Keyboard Shortcuts
Keyboard shortcuts work in the desktop app. Some shortcuts are context-dependent.
Global
| Shortcut | Action |
|---|---|
| Ctrl + , | Open Settings |
| Ctrl + K | Quick search / command palette |
| Ctrl + L | Focus AI assistant input |
| Ctrl + 1–9 | Switch to tab N |
| Ctrl + W | Close current tab |
| F11 | Toggle fullscreen |
Code Editor
| Shortcut | Action |
|---|---|
| Ctrl + Z | Undo |
| Ctrl + Shift + Z | Redo |
| Ctrl + S | Save file |
| Ctrl + F | Find in file |
| Ctrl + Shift + F | Find in project |
Gallery
| Shortcut | Action |
|---|---|
| ← / → | Previous / next image |
| S | Toggle star / favorite |
| I | Toggle info panel (metadata) |
| Delete | Delete image (with confirmation) |
Console
| Shortcut | Action |
|---|---|
| Ctrl + L | Clear console output |
| Ctrl + C | Stop running app |