emozilla
43e67d872f
feat: local models — managed llama.cpp runtime with one-click desktop setup
...
Run models locally as a first-class provider. The CLI grows a managed
llama.cpp runtime (engine install, model download, server supervision);
the desktop app grows the full setup and management story on top of it.
GUI surfaces ship behind the desktop --local launch flag (hermes desktop
--local, or the flag on the packaged app); backend routes and the CLI
are always live.
Runtime (hermes_cli/local_runtime/):
- curated GGUF catalog with per-machine variant selection: hardware
probe (VRAM/RAM/UMA), fit planning with spill accounting, quant choice
by context window
- derived recommendation: quality-ranked picks gated by a predicted
decode-speed floor, bandwidth-aware on unified memory; the decision
table is pinned as a test (pick AND reason per memory class), and the
Recommended badge explains its pick in a tooltip fed by the resolver's
actual branch
- engine install + model download with resumable split parts, cumulative
plan-level progress, and staged-model integrity (a split GGUF counts
only when every part is present)
- server supervision: spawn/adopt/stop, router mode with per-model load
progress relayed over SSE, abandoned-request cleanup
Desktop:
- Settings -> Providers -> Local models: one-click quickstart (install
engine, download the recommended model, boot) plus per-model download/
activate/eject, fit-ranked catalog with context pills
- model pickers (composer dropdown + Cmd+K) show staged local models,
in-flight downloads as live progress rows, and load-into-memory bars
- local-setup campaign tip for eligible hardware; System resources
statusbar widget (GPU/VRAM/RAM); in-chat load progress during sends
- friendly dead-server errors, and failed agent builds retry on the next
send instead of wedging the session
Co-developed with NVIDIA field feedback on RTX 5090 and DGX Spark.
2026-09-01 16:01:53 -04:00
..
2026-08-15 02:20:23 -07:00
2026-07-26 16:12:14 -05:00
2026-07-26 16:12:14 -05:00
2026-08-24 05:05:16 +00:00
2026-08-24 05:11:39 +00:00
2026-08-26 18:44:46 +00:00
2026-08-26 18:44:46 +00:00
2026-08-10 17:02:56 -07:00
2026-09-01 00:41:26 +00:00
2026-08-31 19:32:14 -05:00
2026-08-27 11:26:57 +05:30
2026-08-27 11:26:57 +05:30
2026-08-16 10:59:19 -07:00
2026-08-16 10:59:19 -07:00
2026-08-26 21:38:00 -07:00
2026-08-26 04:49:56 -07:00
2026-08-02 03:33:09 +00:00
2026-08-01 20:09:35 -04:00
2026-08-23 19:26:42 -05:00
2026-08-23 19:26:42 -05:00
2026-08-20 12:56:20 +00:00
2026-08-20 03:59:54 -07:00
2026-07-29 13:59:11 +05:30
2026-07-29 16:52:53 +05:30
2026-08-23 18:38:31 +00:00
2026-09-01 16:59:53 +00:00
2026-09-01 08:30:21 -07:00
2026-08-31 20:43:36 -05:00
2026-08-31 20:43:36 -05:00
2026-08-26 06:51:21 +00:00
2026-08-26 06:51:21 +00:00
2026-08-26 06:51:21 +00:00
2026-08-23 19:26:42 -05:00
2026-08-20 02:07:10 -07:00
2026-08-13 03:33:45 +00:00
2026-07-14 10:24:15 -04:00
2026-07-31 22:33:53 -07:00
2026-08-01 20:45:40 +00:00
2026-07-19 23:42:14 +00:00
2026-07-19 23:42:14 +00:00
2026-08-25 23:31:59 +00:00
2026-08-25 18:23:43 -05:00
2026-08-17 21:15:38 +00:00
2026-08-17 14:05:09 -07:00
2026-09-01 00:28:40 +00:00
2026-08-31 13:59:51 -07:00
2026-08-23 20:26:46 -05:00
2026-08-23 20:26:46 -05:00
2026-08-31 20:40:09 -05:00
2026-09-01 01:39:59 -07:00
2026-08-31 12:17:31 -07:00
2026-09-01 00:28:40 +00:00
2026-08-23 05:06:17 +00:00
2026-07-27 13:41:59 -05:00
2026-07-27 13:41:59 -05:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-07-16 19:57:39 +00:00
2026-07-20 23:01:49 +02:00
2026-07-20 23:01:49 +02:00
2026-08-15 01:04:19 -07:00
2026-08-15 01:04:19 -07:00
2026-08-18 21:51:44 +00:00
2026-08-18 21:51:44 +00:00
2026-08-26 08:40:07 -07:00
2026-08-26 08:40:07 -07:00
2026-07-13 17:22:17 -04:00
2026-07-13 17:22:17 -04:00
2026-07-27 23:52:33 -05:00
2026-07-27 23:52:33 -05:00
2026-07-08 16:24:16 -07:00
2026-07-28 13:40:44 -05:00
2026-08-25 23:33:46 -07:00
2026-07-20 18:33:14 -05:00
2026-07-20 18:36:05 -05:00
2026-08-14 21:44:50 +00:00
2026-08-14 16:27:01 -05:00
2026-08-20 14:07:53 -05:00
2026-08-20 14:07:53 -05:00
2026-07-23 17:59:58 -07:00
2026-07-23 17:59:58 -07:00
2026-08-15 02:20:23 -07:00
2026-08-15 09:33:47 +00:00
2026-08-15 09:33:47 +00:00
2026-07-24 12:55:06 -05:00
2026-07-24 12:55:06 -05:00
2026-07-24 12:55:06 -05:00
2026-08-21 15:24:03 -07:00
2026-07-13 17:22:17 -04:00
2026-07-12 05:32:54 -04:00
2026-08-29 11:33:05 +05:30
2026-08-29 11:33:05 +05:30
2026-08-29 11:33:05 +05:30
2026-08-29 11:33:05 +05:30
2026-09-01 08:34:56 +00:00
2026-09-01 08:34:56 +00:00
2026-08-17 04:19:24 +00:00
2026-08-16 19:58:49 -07:00
2026-08-14 16:51:00 -05:00
2026-08-19 10:50:52 -05:00
2026-08-26 11:57:06 +00:00
2026-08-26 11:57:06 +00:00
2026-08-03 00:08:30 +05:30
2026-08-12 22:48:00 -05:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-08-15 00:33:11 -07:00
2026-08-15 00:33:11 -07:00
2026-08-15 11:39:10 +00:00
2026-08-15 11:39:10 +00:00
2026-08-12 01:41:34 +00:00
2026-08-11 17:03:00 -05:00
2026-08-26 04:49:22 -07:00
2026-08-23 21:12:26 -07:00
2026-08-08 22:15:24 -05:00
2026-08-08 22:15:24 -05:00
2026-08-28 15:33:19 -05:00
2026-08-28 15:33:19 -05:00
2026-08-23 22:34:38 -05:00
2026-08-23 22:34:38 -05:00
2026-08-24 06:48:10 -05:00
2026-08-24 06:48:10 -05:00
2026-08-24 17:03:13 +00:00
2026-08-24 17:03:13 +00:00
2026-08-28 15:33:19 -05:00
2026-08-24 14:11:49 -05:00
2026-08-24 14:11:49 -05:00
2026-08-10 05:21:05 -05:00
2026-08-10 10:44:00 +00:00
2026-08-10 05:21:05 -05:00
2026-08-10 10:44:00 +00:00
2026-08-09 09:10:59 +00:00
2026-08-09 09:10:59 +00:00
2026-08-29 00:51:43 -05:00
2026-08-29 00:51:43 -05:00
2026-08-09 09:51:41 +00:00
2026-08-24 11:57:38 -05:00
2026-07-13 17:22:17 -04:00
2026-07-31 00:38:11 -05:00
2026-07-16 19:57:39 +00:00
2026-07-16 15:33:38 -04:00
2026-09-01 16:01:53 -04:00
2026-08-27 01:31:15 +00:00
2026-08-27 01:31:15 +00:00
2026-08-30 11:59:33 +00:00
2026-08-29 19:18:01 -07:00
2026-08-23 21:59:22 -07:00
2026-08-23 21:59:22 -07:00
2026-08-26 07:45:59 +00:00
2026-08-26 07:45:59 +00:00
2026-07-22 16:30:14 +00:00
2026-07-22 16:30:14 +00:00
2026-08-26 00:40:35 -07:00
2026-08-26 00:40:35 -07:00
2026-07-31 10:16:21 -04:00
2026-07-31 10:16:21 -04:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-08-26 21:44:19 +00:00
2026-08-26 21:44:19 +00:00
2026-08-20 04:47:38 -07:00
2026-08-20 04:47:38 -07:00
2026-08-19 10:50:52 -05:00
2026-08-26 07:45:59 +00:00
2026-08-26 00:22:27 -07:00
2026-08-26 21:38:20 -07:00
2026-08-16 03:17:39 -07:00
2026-08-17 16:26:02 -07:00
2026-08-17 16:26:02 -07:00
2026-08-16 16:26:50 -07:00
2026-08-16 16:26:50 -07:00
2026-08-26 11:57:06 +00:00
2026-07-20 11:50:22 -05:00
2026-07-20 11:50:22 -05:00
2026-09-01 16:01:53 -04:00
2026-09-01 07:41:45 +00:00
2026-09-01 00:30:56 -07:00
2026-08-18 08:52:36 -05:00
2026-08-18 08:52:36 -05:00
2026-08-18 08:52:36 -05:00
2026-08-26 00:40:35 -07:00
2026-08-26 00:40:35 -07:00
2026-07-24 12:55:06 -05:00
2026-08-23 08:45:37 +00:00
2026-08-20 10:26:19 -04:00
2026-09-01 15:24:33 -04:00
2026-09-01 15:24:33 -04:00
2026-08-17 16:15:22 -07:00
2026-08-17 16:15:22 -07:00
2026-08-25 22:51:31 -07:00
2026-08-25 22:51:31 -07:00
2026-07-26 17:48:19 -07:00
2026-07-31 18:54:27 +00:00
2026-07-27 15:47:57 -05:00
2026-07-27 15:47:57 -05:00
2026-08-31 10:15:30 +00:00
2026-08-27 02:48:21 -07:00
2026-08-27 02:48:21 -07:00
2026-08-26 00:21:49 -07:00
2026-08-26 04:49:56 -07:00
2026-08-26 00:40:35 -07:00
2026-08-26 00:40:35 -07:00
2026-08-24 03:22:38 -07:00
2026-08-24 17:03:13 +00:00
2026-08-26 23:21:02 +00:00
2026-08-26 23:21:02 +00:00
2026-08-11 00:20:02 +00:00
2026-08-11 00:20:02 +00:00
2026-08-25 14:10:19 -07:00
2026-08-25 14:10:19 -07:00
2026-08-20 01:04:42 -05:00
2026-08-20 01:04:42 -05:00
2026-08-16 22:05:51 -07:00
2026-08-16 22:05:51 -07:00
2026-07-25 15:19:29 -04:00
2026-07-25 15:19:29 -04:00
2026-08-26 00:40:35 -07:00
2026-08-26 17:42:44 -07:00
2026-07-20 23:01:49 +02:00
2026-07-20 23:01:49 +02:00
2026-08-31 12:16:48 -07:00
2026-08-31 12:16:48 -07:00
2026-07-31 00:38:11 -05:00
2026-07-31 00:38:11 -05:00
2026-08-26 06:20:59 +00:00
2026-08-31 19:43:31 -05:00
2026-08-31 19:43:31 -05:00
2026-08-31 19:43:31 -05:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-08-21 05:57:14 +00:00
2026-08-21 05:57:14 +00:00
2026-08-14 21:44:50 +00:00
2026-08-14 13:09:44 -07:00
2026-07-28 23:53:25 -07:00
2026-07-28 23:53:25 -07:00
2026-08-20 18:15:16 +00:00
2026-08-20 12:52:21 -05:00
2026-08-20 18:15:16 +00:00
2026-07-13 17:22:17 -04:00
2026-07-13 17:22:17 -04:00
2026-08-14 21:59:29 -07:00
2026-08-15 06:22:02 +00:00
2026-09-01 08:34:56 +00:00
2026-08-31 12:00:33 -07:00
2026-09-01 08:34:56 +00:00
2026-09-01 08:34:56 +00:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-08-10 19:00:19 -07:00
2026-08-10 19:00:19 -07:00
2026-08-01 14:30:11 -07:00
2026-08-24 20:15:03 -05:00
2026-08-24 20:15:03 -05:00
2026-08-26 06:20:59 +00:00
2026-08-26 06:20:59 +00:00
2026-08-26 23:21:02 +00:00
2026-08-26 15:51:22 -07:00
2026-08-08 16:51:44 -05:00
2026-08-08 16:51:44 -05:00
2026-08-08 22:13:08 -05:00
2026-08-08 22:17:38 -05:00
2026-08-10 17:02:56 -07:00
2026-07-13 17:22:17 -04:00
2026-08-19 16:56:58 +00:00
2026-08-17 21:43:52 -06:00
2026-08-27 01:31:15 +00:00
2026-08-27 01:31:15 +00:00
2026-07-20 23:01:49 +02:00
2026-07-18 02:26:19 -07:00
2026-07-18 02:26:19 -07:00
2026-07-17 18:55:34 -04:00
2026-07-18 04:56:56 +00:00
2026-07-13 17:22:17 -04:00
2026-07-13 17:22:17 -04:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-07-13 17:22:17 -04:00
2026-07-08 16:24:16 -07:00
2026-08-21 00:49:41 -07:00
2026-08-21 00:49:41 -07:00
2026-08-21 00:49:41 -07:00
2026-08-21 00:49:41 -07:00
2026-08-24 22:01:47 -05:00
2026-08-24 22:01:47 -05:00