Commit Graph
1337 Commits
Author SHA1 Message Date
Aleksander Grygier 7739bd7301 ui : stop opening the model info dialog on selector open
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 18464c32bb ui : show the assistant model selector for external backends
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier a1df2dd804 ui : stop refetching model props after a failure
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier a035f923c9 ui : persist the active backend and guard server props fetches
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 8ddeed94ad ui : scope the model list to the selected backend tab
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 10d730ab6d ui : cache the local backend's model list
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 051c0a9bff ui : keep models of every enabled backend selectable
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier d83c9f54c3 ui : resolve a conversation's backend before sending
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 4761edc102 ui : scope the model list to the active backend tab
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier ee41ebc15d ui : account for cache tokens on external backends
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 69870519b7 ui : route chat requests through protocol adapters
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 946b08a99c ui : report token stats for external backends
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier a4d6bf249f ui : aggregate models across backends
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier ad967c6165 ui : load backend model lists in the background
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 23a19a7952 ui : only show the server error when no backend is available
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 088030d384 ui : prefetch backend model lists on first selector open
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 5beb29294b ui : send the model on external backend requests
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier e5eaad780f ui : ignore favorites that belong to another backend
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 4e9de83333 ui : target the selected model on external backends
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 2cb944149b ui : skip llama.cpp-only requests and fields on external backends
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 0a390a5b27 ui : honor per-backend chat and models paths
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 9dd4acb71d ui : switch backends from the models selector
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier a68b59e853 ui : gate llama.cpp-only features by backend capabilities
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 5d08b6d65a ui : stop settings save from clobbering backend config
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 12ca72a4d9 ui : list models from a backend
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier a0b5102d91 ui : allow excluding the local backend
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier ca02ab35a1 ui : add backend management settings UI
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 8d6bc71ebd ui : add backend presets, CRUD and connection test
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 0ce4a9cef9 ui : resolve API requests against the active backend
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 31031a0cd2 ui : add backend store and API base resolution
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 1d2cc0daae ui : add backend types and constants
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:22:47 +02:00
Aleksander Grygier 21aecafc8c ui : sort reasoning panel attributes
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:18:32 +02:00
Aleksander Grygier e0a8649e52 ui : lighten the model selector rows
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:08:40 +02:00
Aleksander Grygier 8c2a222edb ui : cache hugging face hub model data per session
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:07:37 +02:00
Aleksander Grygier 445ec8f13d ui : group the model selector components
Move the four selector surfaces into models/ModelsSelector with their own
barrel, extract the shared reasoning panel and download row, group the option
list helpers under navigation/utils, and add the models selector hook wiring
(in-flight downloads and reasoning menu included).

Assisted-by: pi:GLM-5.3-Flash
2026-09-16 19:07:37 +02:00
Aleksander Grygier 375a5b08e9 ui : models discover dialog
Add the Models Discover explorer behind a new sidebar action and full-screen
dialog: a searchable HuggingFace GGUF list (org avatars, capability icons,
catalog size ranges) and a detail pane with header, metadata chips, the
sanitized model-card readme and the download area - per-quant action chips
grouped by bit depth, sidecar queuing and a scrollable serve-command preview
with dynamic quant selects. Searchable dropdowns gain sticky headers/footers.

Assisted-by: pi:GLM-5.3-Flash
2026-09-16 19:07:37 +02:00
Aleksander Grygier 27a11a0f6b ui : render shared model row hints as native titles
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 19:07:15 +02:00
Aleksander Grygier 3712caa69f ui : remember hub avatars that failed to load
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 13:53:34 +02:00
Aleksander Grygier ba804dd783 ui : shared model display primitives
Extract ModelCapabilityIcons (canonical Tools/Reasoning/Vision/Video/Audio
order) out of ModelId and reuse it there, add the shared DialogConfirmDownload
for destructive download actions, the discover org avatar with dark-mode
inversion and the thin download progress bar, and rework ModelId badges to take
thinking/tool-use support directly.

Assisted-by: pi:GLM-5.3-Flash
2026-09-16 13:53:34 +02:00
Aleksander Grygier 6a4dc7da8e ui : optional sanitized raw HTML in markdown
Add an allowHtml prop to MarkdownContent: raw HTML found in the markdown is
rendered after DOMPurify sanitization instead of being escaped as literal
text. Default stays escaped.

Assisted-by: pi:GLM-5.3-Flash
2026-09-16 13:53:34 +02:00
Aleksander Grygier 0172e83237 ui : model download pipeline
Track HuggingFace downloads end to end: the server download/cancel endpoints,
a status manager fed by the /models/sse download progress events, and a
models-discover store holding the catalog and detail state for the discover
view. Downloaded and in-flight entries are excluded from the loadable model
list.

Assisted-by: pi:GLM-5.3-Flash
2026-09-16 13:53:34 +02:00
Aleksander Grygier 3e43ff1b33 ui : model memory-fit estimation
Replace the raw runtime-memory estimate with the app's compatibility check:
the smallest real Mac memory tier that fits a model file, budgeted as
RAM x 0.75 minus fixed overhead with headroom on the file size. The constants
move to lib; the unused runtime-memory estimate is dropped. browser-info's
OS detection is exported for reuse.

Assisted-by: pi:GLM-5.3-Flash
2026-09-16 13:53:33 +02:00
Aleksander Grygier c9462ce786 ui : strip provider tilde prefix from hub avatar urls
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 13:44:40 +02:00
Aleksander Grygier f9f41f6480 ui : Hugging Face Hub data layer
Add HuggingFaceService and its constants/enums/types: GGUF repo search, file
tree and model detail fetching, quant/sidecar filename analysis, shard-set
collapsing and the llama.app catalog feed, plus an orgOf() helper on the model
name utils.

Assisted-by: pi:GLM-5.3-Flash
2026-09-16 13:12:04 +02:00
Aleksander Grygier 0bdbf547f1 ui : model id grammar for sidecars, quants and capability parsing
Extend the shared model id parser with sidecar tokens (draft variants and
auxiliary imatrix/mmproj files), weight-file and custom-quant regexes, and add
the tools capability to ModelCapabilities; the selector option row picks it up
from the model's declared capabilities.

Assisted-by: pi:GLM-5.3-Flash
2026-09-16 13:12:04 +02:00
Aleksander Grygier e5278550ff ui : type-safe API types, fetch helpers and download-ready models store plumbing
Assisted-by: pi:GLM-5.3-Flash
2026-09-16 13:12:04 +02:00
Aleksander Grygier 5963c000ef server : fix deadlock when removing a finished download
The download monitor thread acquires the mutex on its way out, so joining
it while holding the lock in server_models::remove deadlocks once the
status has flipped to DOWNLOADED. Join outside the lock, same pattern as
load_models().

Assisted-by: pi:zai-org/GLM-5.3
2026-09-16 13:12:04 +02:00
asbelin e13469a323 llama-bench: support --version to print build info (#28971) 2026-09-16 13:39:43 +08:00
Daniel Bevenius 69eb250670 cmake : use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR (#28771)
This commit updates cmake to use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR for paths in function calls.

The motivation for this is that when using add_subdirectory,
CMAKE_SOURCE_DIR is fixed to the top-level projects source directory,
that is the caller of add_subdirectory and not the llama.cpp root
which means that common/common.h header will not be resolved.

Refs: https://github.com/ggml-org/llama.cpp/pull/28091#issuecomment-5636106377
2026-09-15 05:26:09 +02:00
Abhiram 1bc7a5af0d webui: stop re-probing disabled /tools endpoint on every message (#28646)
When /tools returns 403 (server started without tools), the web UI
refetched the tool list before every chat message, since the guard
treated an empty tool list as "not yet fetched". Each retry returned
403 and could trip fail2ban.

Skip the refetch once the store flags the endpoint as disabled, and
detect that state via the response status code instead of string-
matching the error message. The tools panel keeps probing on open so
the UI recovers once the server is restarted with tools enabled.

Fixes #28299
2026-09-15 01:11:26 +02:00