Skip to content

Commit 95471ae

Browse files
committed
ai: qwen3.5:2b is the global MiOS chat default
Operator directive 2026-05-11: 'qwen3.5:2b make it the GLOBAL MiOS defaults'. Flip [ai].model and the auto-pick small/mid/big chain from the qwen2.5-coder family to qwen3: [ai].model qwen2.5-coder:7b -> qwen3.5:2b [ai].bake_models qwen2.5-coder:7b -> qwen3.5:2b [ai.host_thresholds].small phi4-mini:3.8b... -> qwen3.5:2b [ai.host_thresholds].mid qwen2.5-coder:7b -> qwen3.5:7b [ai.host_thresholds].big qwen2.5-coder:14b -> qwen3.5:14b Mirror the same flip into every SSOT consumer that hard-references the model: usr/share/mios/profile.toml (layered above mios.toml) usr/libexec/mios/ollama-firstboot.sh DEFAULT_CHAT usr/share/mios/hermes/config.yaml backend.model + auxiliary.model + available_models etc/containers/systemd/mios-hermes.container HERMES_BACKEND_MODEL usr/share/mios/distrobox/aichat/config.yaml default model alias etc/aichat/config.yaml default model alias usr/bin/mios MIOS_AI_MODEL default usr/bin/mios-ai MIOS_AI_MODEL default Operator-pickable from mios.html; overrideable per-install via the MIOS_AI_MODEL env var. Docs / examples / training data still cite qwen2.5-coder:7b -- those trail the SSOT and update on next sweep.
1 parent f2ce225 commit 95471ae

9 files changed

Lines changed: 35 additions & 28 deletions

File tree

etc/aichat/config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
# default chat + embed models are present and aichat can connect
1515
# without any user-side config.
1616
#
17-
# Model: pinned to qwen2.5-coder:7b as a safe default. Override per
17+
# Model: pinned to qwen3.5:2b as a safe default. Override per
1818
# session: `aichat --model ollama:<model>`. Persistent override:
1919
# copy this file to ~/.config/aichat/config.yaml and edit `model`.
2020
# The MIOS_AI_MODEL env var (set by /etc/profile.d/mios-env.sh from
2121
# /etc/mios/install.env) is the canonical source-of-truth; the
2222
# /usr/bin/mios-ai wrapper substitutes it at call time so the bare
2323
# `aichat` and `mios-ai` paths can drift apart cleanly.
2424

25-
model: ollama:qwen2.5-coder:7b
25+
model: ollama:qwen3.5:2b
2626
stream: true
2727
save_session: true
2828
keybindings: emacs
@@ -33,7 +33,7 @@ clients:
3333
api_base: http://localhost:11434/v1
3434
api_key: ollama # any non-empty string; ollama ignores the key
3535
models:
36-
- name: qwen2.5-coder:7b
36+
- name: qwen3.5:2b
3737
max_input_tokens: 32768
3838
supports_function_calling: true
3939
- name: qwen2.5-coder:14b
@@ -52,5 +52,5 @@ clients:
5252
api_base: http://localhost:8080/v1
5353
api_key: localai
5454
models:
55-
- name: qwen2.5-coder:7b
55+
- name: qwen3.5:2b
5656
max_input_tokens: 32768

etc/containers/systemd/mios-hermes.container

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ EnvironmentFile=/etc/mios/hermes/api.env
5757
# interactively; we bake them in so the unit is fully declarative.
5858
Environment=HERMES_BACKEND_PROVIDER=ollama
5959
Environment=HERMES_BACKEND_BASE_URL=http://mios-ollama:11434
60-
Environment=HERMES_BACKEND_MODEL=qwen2.5-coder:7b
60+
Environment=HERMES_BACKEND_MODEL=qwen3.5:2b
6161
Environment=HERMES_CONFIG_PATH=/etc/hermes/config.yaml
6262

6363
# Identity. UID resolved from mios.toml [services.hermes].uid (default

usr/bin/mios

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# Environment (per Architectural Law 5):
1818
# MIOS_AI_ENDPOINT=http://localhost:8080/v1 the OpenAI-compatible base URL
1919
# MIOS_AI_KEY= bearer token (empty OK locally)
20-
# MIOS_AI_MODEL=qwen2.5-coder:7b the chat model id
20+
# MIOS_AI_MODEL=qwen3.5:2b the chat model id
2121
# MIOS_AI_SYSTEM_PROMPT=/path/to/system.md explicit override
2222
# MIOS_SHARE_DIR=/usr/share/mios base for resolved files
2323
#
@@ -47,7 +47,7 @@ except ImportError:
4747

4848
# ─── Configuration ────────────────────────────────────────────────────
4949
ENDPOINT = os.environ.get("MIOS_AI_ENDPOINT", "http://localhost:8080/v1")
50-
MODEL = os.environ.get("MIOS_AI_MODEL", "qwen2.5-coder:7b")
50+
MODEL = os.environ.get("MIOS_AI_MODEL", "qwen3.5:2b")
5151
API_KEY = os.environ.get("MIOS_AI_KEY", "sk-noop")
5252
SHARE = pathlib.Path(os.environ.get("MIOS_SHARE_DIR", "/usr/share/mios"))
5353
LIB = pathlib.Path("/usr/lib/mios")

usr/bin/mios-ai

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
# 1. CLI args (highest)
1717
# 2. $MIOS_AI_ENDPOINT / $MIOS_AI_MODEL (env, set by mios-env.sh)
1818
# 3. /etc/mios/install.env defaults
19-
# 4. Hardcoded fallbacks (mios @ qwen2.5-coder:7b)
19+
# 4. Hardcoded fallbacks (mios @ qwen3.5:2b)
2020
#
2121
# Routes through aichat. /usr/bin/aichat on a deployed MiOS host is the
2222
# distrobox-routed shim (see automation/37-aichat.sh + the
@@ -63,9 +63,9 @@ if [[ -r /etc/mios/install.env ]]; then
6363
set -a; source /etc/mios/install.env 2>/dev/null || true; set +a
6464
fi
6565

66-
MIOS_AI_MODEL="${MODEL_OVERRIDE:-${MIOS_AI_MODEL:-qwen2.5-coder:7b}}"
66+
MIOS_AI_MODEL="${MODEL_OVERRIDE:-${MIOS_AI_MODEL:-qwen3.5:2b}}"
6767
# Strip any client-prefix that may have been set in install.env or env
68-
# (e.g. MIOS_AI_MODEL=mios:qwen2.5-coder:7b). The CLIENT name is
68+
# (e.g. MIOS_AI_MODEL=mios:qwen3.5:2b). The CLIENT name is
6969
# composed below; this leaves us with just the model.
7070
case "$MIOS_AI_MODEL" in
7171
mios:*|ollama:*|localai:*) MIOS_AI_MODEL="${MIOS_AI_MODEL#*:}" ;;

usr/libexec/mios/ollama-firstboot.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ fi
6464
# ── Layer 2: ensure the configured models are present, pulling any gaps ──
6565
# Read the runtime model selection from install.env so operators can
6666
# override the build-baked default without rebuilding the image.
67-
DEFAULT_CHAT="qwen2.5-coder:7b"
67+
DEFAULT_CHAT="qwen3.5:2b"
6868
DEFAULT_EMBED="nomic-embed-text"
6969
MIOS_AI_MODEL="$DEFAULT_CHAT"
7070
MIOS_AI_EMBED_MODEL="$DEFAULT_EMBED"

usr/share/mios/distrobox/aichat/config.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
#
1414
# `ollama` and `localai` remain available as named alternates for
1515
# operators who want to switch backends without editing the default
16-
# (e.g. `aichat --model ollama:qwen2.5-coder:7b "..."`).
16+
# (e.g. `aichat --model ollama:qwen3.5:2b "..."`).
1717

18-
model: mios:qwen2.5-coder:7b
18+
model: mios:qwen3.5:2b
1919
stream: true
2020
save_session: true
2121
keybindings: emacs
@@ -26,7 +26,7 @@ clients:
2626
api_base: http://localhost:8080/v1
2727
api_key: localai
2828
models:
29-
- name: qwen2.5-coder:7b
29+
- name: qwen3.5:2b
3030
max_input_tokens: 32768
3131
supports_function_calling: true
3232
- name: qwen2.5-coder:14b
@@ -41,7 +41,7 @@ clients:
4141
api_base: http://localhost:11434/v1
4242
api_key: ollama
4343
models:
44-
- name: qwen2.5-coder:7b
44+
- name: qwen3.5:2b
4545
max_input_tokens: 32768
4646
supports_function_calling: true
4747
- name: qwen2.5-coder:14b
@@ -56,5 +56,5 @@ clients:
5656
api_base: http://localhost:8080/v1
5757
api_key: localai
5858
models:
59-
- name: qwen2.5-coder:7b
59+
- name: qwen3.5:2b
6060
max_input_tokens: 32768

usr/share/mios/hermes/config.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@
1010
# This file replaces the interactive `setup` wizard that
1111
# deploy-aistack.sh runs on bare-metal first-deploy. Wiring is fully
1212
# declarative: backend = mios-ollama on ai-net, model = MiOS's baked
13-
# default (qwen2.5-coder:7b), API server reads its key from
13+
# default (qwen3.5:2b), API server reads its key from
1414
# /etc/mios/hermes/api.env via EnvironmentFile= in the Quadlet.
1515

1616
backend:
1717
provider: ollama
1818
base_url: http://mios-ollama:11434
19-
model: qwen2.5-coder:7b
19+
model: qwen3.5:2b
2020
# Listed alternates so the WebUI's model picker shows what's
21-
# available. mios-ollama-firstboot bakes qwen2.5-coder:7b and
21+
# available. mios-ollama-firstboot bakes qwen3.5:2b and
2222
# nomic-embed-text by default; operators can pull others post-deploy.
2323
available_models:
24-
- qwen2.5-coder:7b
24+
- qwen3.5:2b
2525
- nomic-embed-text
2626

2727
# Auxiliary LLM -- Hermes uses this for context compression,
@@ -37,7 +37,7 @@ backend:
3737
auxiliary:
3838
provider: local/custom
3939
base_url: http://mios-ai:8080/v1
40-
model: qwen2.5-coder:7b
40+
model: qwen3.5:2b
4141
api_key: ${API_SERVER_KEY}
4242

4343
api_server:

usr/share/mios/mios.toml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,10 @@ enable = true
403403
# Ollama. Operator-flagged 2026-05-11 (`mios hello` -> 500 from
404404
# LocalAI before this fix).
405405
endpoint = "http://localhost:11434/v1"
406-
model = "qwen2.5-coder:7b"
406+
# Global MiOS chat default. Operator directive 2026-05-11: "qwen3.5:2b
407+
# make it the GLOBAL MiOS defaults". Operator-pickable from mios.html;
408+
# overrideable per-install via MIOS_AI_MODEL.
409+
model = "qwen3.5:2b"
407410
embed_model = "nomic-embed-text"
408411
api_key = "" # empty for localhost; cloud needs a key
409412
enable_ollama = true
@@ -413,7 +416,7 @@ system_prompt_file = "" # optional override; empty = use canonic
413416
# Build-time model bake list. Comma-separated; consumed by
414417
# automation/37-ollama-prep.sh as MIOS_OLLAMA_BAKE_MODELS. Empty disables
415418
# baking (image stays small; first-boot pulls instead).
416-
bake_models = "qwen2.5-coder:7b,nomic-embed-text"
419+
bake_models = "qwen3.5:2b,nomic-embed-text"
417420
# Recommended floor for the default model. Informational; logged in
418421
# postcheck so operators know what they're signing up for.
419422
ram_floor_gb = 12
@@ -431,11 +434,14 @@ runtime_dir = "/var/lib/ollama/models" # writable, first-boot-see
431434
# these and assigns $aiModel = big/mid/small at install time.
432435
# ----------------------------------------------------------------------------
433436
[ai.host_thresholds]
437+
# Auto-pick rolls UP from the small default (qwen3.5:2b at < 12 GB
438+
# RAM). Operators with 12+ GB get qwen3.5:7b; 32+ GB get qwen3.5:14b.
439+
# All three are operator-pickable from mios.html.
434440
big_ram_gb = 32 # >= this -> big_ram_model
435441
mid_ram_gb = 12 # >= this -> mid_ram_model
436-
big_ram_model = "qwen2.5-coder:14b"
437-
mid_ram_model = "qwen2.5-coder:7b"
438-
small_ram_model = "phi4-mini:3.8b-q4_K_M" # < mid_ram_gb fallback
442+
big_ram_model = "qwen3.5:14b"
443+
mid_ram_model = "qwen3.5:7b"
444+
small_ram_model = "qwen3.5:2b" # < mid_ram_gb fallback (also the global default)
439445

440446
# ----------------------------------------------------------------------------
441447
# [desktop] -- session preferences and Flatpak picks.

usr/share/mios/profile.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,9 @@ allow_cockpit = true
4646
allow_libvirt_bridge = true
4747

4848
[ai]
49-
endpoint = "http://localhost:8080/v1"
50-
model = "qwen2.5-coder:7b"
49+
# Point at Ollama (not LocalAI). Model uses Ollama name:tag format.
50+
endpoint = "http://localhost:11434/v1"
51+
model = "qwen3.5:2b"
5152
embed_model = "nomic-embed-text"
5253
api_key = ""
5354
enable_ollama = true

0 commit comments

Comments
 (0)