@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.
Files changed (2) hide show
  1. package/README.md +27 -2
  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 flags, and input modalities
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.0
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.0",
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": [