@maheidem/model-discovery 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,8 +5,11 @@ Interactive TUI for discovering and managing local AI model endpoints. Works wit
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
7
|
- **Auto-detect server type** from headers and model data
|
|
8
|
-
- **Read server-reported configuration** — context window, max tokens, reasoning
|
|
8
|
+
- **Read server-reported configuration** — context window, max tokens, reasoning, and vision, with per-model overrides on top
|
|
9
|
+
- **Auto-detect vision-capable models (VLMs)** — from architecture metadata, llama.cpp `--mmproj` args, or oMLX capabilities
|
|
10
|
+
- **Auto-detect reasoning capability** — from `capabilities`, explicit `reasoning` fields, `--reasoning-budget`, and Qwen model names on oMLX
|
|
9
11
|
- **Auto-detect reasoning format** — oMLX servers get `chat_template_kwargs` thinking support automatically
|
|
12
|
+
- **Per-model compatibility** — `supportsDeveloperRole: false` for llama.cpp, oMLX, and Ollama; Qwen thinking format for oMLX
|
|
10
13
|
- **Fine-tune per-model overrides** — context window, max output, reasoning, and vision support
|
|
11
14
|
- **Profile-routed native thinking levels** — Shift-Tab can select complete thinking and sampling presets
|
|
12
15
|
- **Named model presets** — reuse complete thinking/sampling bundles as fixed aliases or adaptive routes
|
|
@@ -23,7 +26,7 @@ Interactive TUI for discovering and managing local AI model endpoints. Works wit
|
|
|
23
26
|
pi install npm:@maheidem/model-discovery
|
|
24
27
|
|
|
25
28
|
# Via git
|
|
26
|
-
pi install git:github.com/Maheidem/model-discovery@v0.6.
|
|
29
|
+
pi install git:github.com/Maheidem/model-discovery@v0.6.1
|
|
27
30
|
```
|
|
28
31
|
|
|
29
32
|
## Usage
|
|
@@ -53,6 +56,28 @@ discover_models(url="http://192.168.1.100:8080", providerName="my-llama")
|
|
|
53
56
|
|
|
54
57
|
The tool also accepts `apiKey`, but literal tool arguments may be retained in the agent session. Prefer the masked `/discover` flow for secrets.
|
|
55
58
|
|
|
59
|
+
## How model settings are detected
|
|
60
|
+
|
|
61
|
+
Every field is read from what the server actually reports, first value found wins:
|
|
62
|
+
|
|
63
|
+
- **Context window** — `context_length` → `context_window` → `max_model_len` → `max_context_len` → `max_context_length` → llama.cpp `--ctx-size` (args or preset) → `meta.n_ctx` for loaded models → the source's default context window → `128000`
|
|
64
|
+
- **Max output tokens** — `max_tokens` → `max_output_tokens` → `max_completion_tokens` → llama.cpp `--n-predict` → the source's default → `16384`
|
|
65
|
+
- **Reasoning** — `capabilities` containing `reasoning` → an explicit `reasoning` field → llama.cpp `--reasoning-budget` ≠ 0 → Qwen model names on oMLX (when the server reports nothing)
|
|
66
|
+
- **Vision** — `architecture.input_modalities` (vLLM, SGLang), vision-specific architecture keys (`vision_config`, `vision_model`, `mm_proj`, `multi_modal_projector`), llama.cpp `--mmproj`/`--vision` args or a preset name mentioning mmproj/vision, and oMLX `capabilities` containing `vision`, `image`, or `multimodal`
|
|
67
|
+
|
|
68
|
+
Detected vision-capable models get `input: ["text", "image"]`, so Pi accepts image input for them. The source defaults and every detection can be corrected per model with **Edit model**.
|
|
69
|
+
|
|
70
|
+
### Compatibility settings
|
|
71
|
+
|
|
72
|
+
The extension attaches `compat` to each registered model (Pi does not merge provider-level compat into individual models):
|
|
73
|
+
|
|
74
|
+
- llama.cpp, oMLX, Ollama: `supportsDeveloperRole: false`
|
|
75
|
+
- oMLX: `thinkingFormat: "qwen-chat-template"` and `supportsReasoningEffort: true` for base models; fixed and adaptive profile aliases carry their own complete `chat_template_kwargs` independently
|
|
76
|
+
|
|
77
|
+
### Model list display
|
|
78
|
+
|
|
79
|
+
Each model shows `ctx <window> · max <tokens> · <source>`, where source is `server args` for a live llama.cpp process and `api` for other backends. Flags: `[vision]`, `[reasoning]`, `[reasoning?]` (undetermined and not overridden), `[loaded]` (llama.cpp, currently in memory), and `(edited)` when overrides are present.
|
|
80
|
+
|
|
56
81
|
## Native thinking levels
|
|
57
82
|
|
|
58
83
|
For reasoning-capable Qwen models on oMLX, the base model and sampling-only profiles translate Pi's native Shift-Tab level into request-scoped `chat_template_kwargs`:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maheidem/model-discovery",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Interactive TUI for discovering local AI endpoints and defining named thinking/sampling profiles (llama.cpp, oMLX, Ollama, vLLM, SGLang, LM Studio).",
|
|
6
6
|
"keywords": [
|