279 Commits

Author SHA1 Message Date
lugnicca
f35e6cdae8 refactor: clean model selector and add more tests 2025-08-23 02:37:14 +02:00
lugnicca
3339629747 test: add unit tests for ModelCombobox, useProviderModels and providers 2025-08-23 02:37:14 +02:00
lugnicca
5d9c3ab462 feat: add model selector with fetching from /v1/models endpoints when adding models 2025-08-23 02:36:38 +02:00
Akarshan Biswas
510c70bdf7
feat: Add model compatibility check and memory estimation (#6243)
* feat: Add model compatibility check and memory estimation

This commit introduces a new feature to check if a given model is supported based on available device memory.

The change includes:
- A new `estimateKVCache` method that calculates the required memory for the model's KV cache. It uses GGUF metadata such as `block_count`, `head_count`, `key_length`, and `value_length` to perform the calculation.
- An `isModelSupported` method that combines the model file size and the estimated KV cache size to determine the total memory required. It then checks if any available device has sufficient free memory to load the model.
- An updated error message for the `version_backend` check to be more user-friendly, suggesting a stable internet connection as a potential solution for backend setup failures.

This functionality helps prevent the application from attempting to load models that would exceed the device's memory capacity, leading to more stable and predictable behavior.

fixes: #5505

* Update extensions/llamacpp-extension/src/index.ts

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Update extensions/llamacpp-extension/src/index.ts

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Extend this to available system RAM if GGML device is not available

* fix: Improve model metadata and memory checks

This commit refactors the logic for checking if a model is supported by a system's available memory.

**Key changes:**
- **Remote model support**: The `read_gguf_metadata` function can now fetch metadata from a remote URL by reading the file in chunks.
- **Improved KV cache size calculation**: The KV cache size is now estimated more accurately by using `attention.key_length` and `attention.value_length` from the GGUF metadata, with a fallback to `embedding_length`.
- **Granular memory check statuses**: The `isModelSupported` function now returns a more specific status (`'RED'`, `'YELLOW'`, `'GREEN'`) to indicate whether the model weights or the KV cache are too large for the available memory.
- **Consolidated logic**: The logic for checking local and remote models has been consolidated into a single `isModelSupported` function, improving code clarity and maintainability.

These changes provide more robust and informative model compatibility checks, especially for models hosted on remote servers.

* Update extensions/llamacpp-extension/src/index.ts

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Make ctx_size optional and use sum free memory across ggml devices

* feat: hub and dropdown model selection handle model compatibility

* feat: update bage model info color

* chore: enable detail page to get compatibility model

* chore: update copy

* chore: update shrink indicator UI

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Faisal Amir <urmauur@gmail.com>
2025-08-21 16:13:50 +05:30
Louis
5c4deff215
Merge pull request #6260 from menloresearch/fix/bring-back-manual-model-capability-edit
fix: bring back manual model capability edit modal
2025-08-21 16:31:17 +07:00
Dinh Long Nguyen
32a2ca95b6
feat: gguf file size + hash validation (#5266) (#6259)
* feat: gguf file size + hash validation

* fix tests fe

* update cargo tests

* handle asyn download for both models and mmproj

* move progress tracker to models

* handle file download cancelled

* add cancellation mid hash run
2025-08-21 16:17:58 +07:00
Louis
8e7378b70f
Merge pull request #6255 from menloresearch/fix/remove-experimental-toggle
fix: remove experimental toggle
2025-08-21 12:51:25 +07:00
Louis
ec1a695e06
Merge pull request #5874 from 0rzech/polish-translation
feat: add Polish translation
2025-08-21 12:27:00 +07:00
Louis
6c44ec558d
Merge pull request #6211 from cmppoon/dev
fix: emoji picker remains stuck in the open state in AddEditAssistant component
2025-08-21 12:16:09 +07:00
Louis
8de5c1709b
fix: test 2025-08-21 12:01:45 +07:00
Louis
cfbc6b9150
fix: remove experimental toggle 2025-08-21 11:54:34 +07:00
Louis
e6587844d0
Merge branch 'dev' into current-date-instruction 2025-08-21 11:41:30 +07:00
cmuangs
7076a69e3a
Merge branch 'dev' into dev 2025-08-21 12:28:12 +08:00
Piotr Orzechowski
83620e127e feat: add Polish translation 2025-08-21 00:18:23 +02:00
Louis
6850dda108
feat: MCP server error handling 2025-08-20 23:42:12 +07:00
Faisal Amir
8f0999cc37 chore: update layout setting assistant 2025-08-20 13:00:59 +07:00
Louis
48422e0a4b
chore: add min to the call steps 2025-08-20 12:52:01 +07:00
Louis
c018713676
feat: allow user to set max_attempt for MCP to avoid looping 2025-08-20 12:42:54 +07:00
Faisal Amir
a6e5273c7a
Merge pull request #6198 from Louis454545/fix/issue-6025-default-color-selection
fix: resolve issue #6025 - default color selection in appearance page
2025-08-20 10:12:49 +07:00
Faisal Amir
5481ee9e35
Merge pull request #6134 from menloresearch/feat/attachment-ui
feat: attachment UI
2025-08-20 10:04:32 +07:00
Faisal Amir
87af59b65d chore: update icon image instead paperclip 2025-08-20 09:46:57 +07:00
Kamal Fariz Mahyuddin
df27def9cb
Merge branch 'dev' into current-date-instruction 2025-08-19 14:40:08 -07:00
Louis
91f05b8f32
feat: add tool call cancellation 2025-08-19 23:27:12 +07:00
Faisal Amir
5155f19c9b chore: update data test id chat input 2025-08-19 22:56:16 +07:00
Faisal Amir
07b1101736 chore: enable attachment icon for remote provider 2025-08-19 22:46:45 +07:00
Faisal Amir
80dc491f9d chore: conditianal attachment and drag file to chat input 2025-08-19 22:46:45 +07:00
Faisal Amir
e3eb8e909b chore: attachment icon conditional 2025-08-19 22:46:45 +07:00
Faisal Amir
067f8b5447 chore: update attachment icon alignment 2025-08-19 20:00:47 +07:00
Faisal Amir
fdc8e07f86 chore: update model setting include offload-mmproj 2025-08-19 20:00:08 +07:00
Faisal Amir
9f39f0cdb8 fix: paste image chat input 2025-08-19 19:51:32 +07:00
Faisal Amir
e04bb86171 chore: prevent drag image to replace the window, and enable shortcut copy and paste image 2025-08-19 19:51:02 +07:00
Faisal Amir
f70449fd98 chore: remove pdf attachement 2025-08-19 19:51:02 +07:00
Faisal Amir
ec9925ed5a chore: update copy validation format type 2025-08-19 19:51:01 +07:00
Faisal Amir
f95e17c047 chore: disable pdf for local model 2025-08-19 19:51:01 +07:00
Faisal Amir
cef3e122ff chore: send attachment file when send message 2025-08-19 19:51:01 +07:00
Faisal Amir
e9bd0f0bec chore: update alignment 2025-08-19 19:51:01 +07:00
Faisal Amir
5f1cb67ffc feat: enable attachment UI 2025-08-19 19:51:01 +07:00
Faisal Amir
cedf42d683 fix: Auto select model only for active provider 2025-08-19 14:47:02 +07:00
Louis
bfe671d7b4
feat: #5917 - model tool use capability should be auto detected 2025-08-19 09:51:36 +07:00
Faisal Amir
1eb1bb91ce chore: update placeholder 2025-08-18 12:17:24 +07:00
Faisal Amir
d2cc9cc13b enhancement: mcp disable save button when server name still empty 2025-08-18 12:13:55 +07:00
Louis
362324cb87
Merge pull request #6188 from menloresearch/feat/mcp-enhancement
feat: mcp enhancement
2025-08-18 09:55:44 +07:00
Chaiyapruek Muangsiri
9024e2d382 fix: emoji picker stuck in open state 2025-08-18 10:39:13 +08:00
Faisal Amir
b1b2ca1987
Merge pull request #6006 from menloresearch/feat/fav-model
🚀feat: allow user mark model as favorite
2025-08-17 23:14:26 +07:00
Kamal Fariz Mahyuddin
b77c8932a6 feat: support inserting current date into assistant prompt 2025-08-17 00:24:00 -07:00
Louis
83b53210ee
Merge pull request #6092 from cmppoon/fix-default-predefine-color-palette
fix: default color not selected in appearance color palette
2025-08-16 20:17:25 +07:00
Louis
38b0202365 fix: resolve issue #6025 - default color selection in appearance page
- Fix default color selection logic in all color picker components
- Use existing helper functions (isDefaultColor, isDefaultColorPrimary, etc.)
- Ensure default colors are properly highlighted when active
- Apply fix to all color pickers: primary, accent, destructive, main view, and background

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-15 19:00:13 +02:00
Louis
c8d9592ab8
chore: mcp group server, action and import json 2025-08-15 11:37:21 +07:00
Faisal Amir
6acdf22e41 chore: reorder error 2025-08-14 12:02:47 +07:00
Faisal Amir
10f3f7cea5 chore: handle copy error object message 2025-08-14 11:57:28 +07:00