From 2fa113cd15d25966ec0d22c6b8804d363f358d19 Mon Sep 17 00:00:00 2001 From: Coja Date: Mon, 21 Sep 2026 18:20:21 +0200 Subject: [PATCH] =?UTF-8?q?[Sync]=20LLM=20clients=20=E2=86=92=20Qwen3.6-35?= =?UTF-8?q?B-A3B-Thinking=20default,=20Ornith=20preset,=20fl=20GPU=20monit?= =?UTF-8?q?or=20abbrs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/.config/aichat/config.yaml | 2 +- common/.config/claude/CLAUDE.md | 27 --------------------------- common/.config/opencode/opencode.json | 8 ++++---- common/.pi/agent/settings.json | 4 ++-- fl/.config/llamacpp/README.md | 6 +++++- fl/.config/llamacpp/config.ini | 7 +++++++ lw/.config/aichat/config.yaml | 2 +- lw/.config/opencode/opencode.json | 8 ++++---- lw/.pi/agent/settings.json | 4 ++-- wm/.config/aichat/config.yaml | 7 ++++++- 10 files changed, 32 insertions(+), 43 deletions(-) delete mode 100644 common/.config/claude/CLAUDE.md diff --git a/common/.config/aichat/config.yaml b/common/.config/aichat/config.yaml index 08dc77f..dd4f275 100644 --- a/common/.config/aichat/config.yaml +++ b/common/.config/aichat/config.yaml @@ -2,7 +2,7 @@ # see https://github.com/sigoden/aichat/blob/main/config.example.yaml keybindings: vi editor: nvim -model: local:Qwen3-Coder-30B-Instruct-UD-Q3_K_XL +model: local:Qwen3.6-35B-A3B-Thinking # Sessions: persist REPL sessions and keep more history before summarizing. # The default compress_threshold (4000) summarizes far too early for 24k+ windows. diff --git a/common/.config/claude/CLAUDE.md b/common/.config/claude/CLAUDE.md deleted file mode 100644 index 1ef5bff..0000000 --- a/common/.config/claude/CLAUDE.md +++ /dev/null @@ -1,27 +0,0 @@ -# Global user preferences (applies to every project) - -## Environment -- Arch Linux, Wayland, fish shell, kitty terminal. Prefer fish-compatible syntax in shell snippets (not bash-isms) when writing things the user will run interactively. Clipboard is `wl-copy`. -- Package manager: pacman / yay. Common abbrs: `pacs`, `yays`. - -## Local-first LLMs -- The user self-hosts models on the LAN at `192.168.0.204`: - - llama.cpp server — `http://192.168.0.204:11343/v1` (OpenAI-compatible). - - Ollama — `192.168.0.204:11434`. -- The available models are the section names in `~/.dots/fl/.config/llamacpp/config.ini` (the router's client model ids) — read that file rather than trusting any list written here; the roster changes often. When configuring any AI/agent tool, default to these endpoints rather than a cloud API unless asked otherwise. - -## Git -- **Do not run `git commit` or `git push`, and never offer or ask to do the committing/pushing yourself** — the user reviews and commits entirely manually (denied in settings.json and enforced by the `~/.claude/hooks/git-guard.py` PreToolUse hook, which catches `git -C … push`-style spellings the prefix rules miss and also blocks history rewrites and working-tree discards — `revert`, `cherry-pick`, `rebase`, `merge`, `reset` that moves HEAD or unstages everything, `restore `, `checkout --`, `stash drop/pop/clear`, `branch -D` — plus `gh pr merge/create/close/edit`; several sessions share this checkout, so never discard changes you did not make). Stage/prepare changes and stop there. You may suggest a commit message for the user to use, but nothing more. -- To hand off a suggested commit message, feed it to `~/.config/git/claude-commit-msg save` **after staging** (it records the staged paths with the message), as a quoted heredoc so quotes and backticks in the body survive: - ```sh - ~/.config/git/claude-commit-msg save <<'EOF' - - EOF - ``` - Never write `CLAUDE_COMMIT_MSG` or `COMMIT_EDITMSG` directly — several sessions share this checkout, and the single file got overwritten. A `prepare-commit-msg` hook prefills the next `git commit` / lazygit `C` with the message(s) whose recorded paths are part of that commit, then consumes them. Just the raw message, no `#` comments. `claude-commit-msg list` shows what is pending. - -## Formatting -- Lua: format with `stylua` (2-space indent, 120 col, no call parentheses — see any `.stylua.toml`). - -## Dotfiles -- Configs live in the dots repo under `.config/` and are surfaced via **per-file** symlinks (GNU Stow `--no-folding`; directories stay real) into `~/.config/`, and from there into `~/.claude/` by `~/.config/claude/link.sh`. Editing an existing file under the repo's `.config/` is editing the live config — no deploy step. A **new** file is not live until a re-stow creates its symlink (`cd ~/.dots && ./install.sh`), on each host. diff --git a/common/.config/opencode/opencode.json b/common/.config/opencode/opencode.json index c3039f4..52b69e6 100644 --- a/common/.config/opencode/opencode.json +++ b/common/.config/opencode/opencode.json @@ -1,6 +1,6 @@ { "$schema": "https://opencode.ai/config.json", - "model": "llama.cpp/gemma-4-26B-A4B-it-UD-IQ4_XS", + "model": "llama.cpp/Qwen3.6-35B-A3B-Thinking", "default_agent": "auto", "instructions": ["CLAUDE.md", "AGENTS.md"], "share": "disabled", @@ -185,7 +185,7 @@ "mode": "primary", "color": "info", "steps": 30, - "model": "llama.cpp/gemma-4-26B-A4B-it-UD-IQ4_XS", + "model": "llama.cpp/Qwen3.6-35B-A3B-Thinking", "permission": { "edit": "deny" } @@ -194,7 +194,7 @@ "mode": "primary", "color": "primary", "steps": 30, - "model": "llama.cpp/gemma-4-26B-A4B-it-UD-IQ4_XS", + "model": "llama.cpp/Qwen3.6-35B-A3B-Thinking", "permission": { "edit": { "*": "allow", @@ -216,7 +216,7 @@ "mode": "primary", "color": "#f9e2af", "steps": 30, - "model": "llama.cpp/gemma-4-26B-A4B-it-UD-IQ4_XS", + "model": "llama.cpp/Qwen3.6-35B-A3B-Thinking", "permission": { "edit": { "*": "allow", diff --git a/common/.pi/agent/settings.json b/common/.pi/agent/settings.json index ffdb8d9..8374a9e 100644 --- a/common/.pi/agent/settings.json +++ b/common/.pi/agent/settings.json @@ -1,7 +1,7 @@ { "defaultProvider": "duskadiy", - "defaultModel": "gemma-4-26B-A4B-it-UD-IQ4_XS", - "defaultThinkingLevel": "off", + "defaultModel": "Qwen3.6-35B-A3B-Thinking", + "defaultThinkingLevel": "medium", "theme": "catppuccin-mocha", "quietStartup": false, "collapseChangelog": true, diff --git a/fl/.config/llamacpp/README.md b/fl/.config/llamacpp/README.md index ed36ec0..1b3587a 100644 --- a/fl/.config/llamacpp/README.md +++ b/fl/.config/llamacpp/README.md @@ -52,7 +52,7 @@ starves the desktop and freezes the PC (reboot). Hard-won rules: | model id | decode t/s | ctx | extras | role | |---|---|---|---|---| | `gemma-4-E4B-it-UD-Q8_K_XL` | **57.3** | **96k** | vision, MTP, prefill 185 t/s | fast small generalist, long docs, images (ctx 96k ✓ 08-08, n_ctx_train 131072) | -| `Qwen3.6-35B-A3B-Thinking` | 38.8 | 24k | MTP, vision, reasoning | hard problems, slow-but-smart answers | +| `Qwen3.6-35B-A3B-Thinking` | 38.8 | 24k | MTP, vision, reasoning (budget 8k = "medium") | **default model** in opencode/pi/aichat since 09-21; hard problems, slow-but-smart answers | | `gpt-oss-20b` | 38.4 | **64k** | reasoning, tools | fast reasoning + tool use · fast long-context (37 t/s vs Coder-Next 16; 131k ruled out) | | `gpt-oss-20b-low` | 37.2 | **64k** | reasoning LOW, TTFT 0.8 s | same model, snappy answers (no long preamble) | | `Qwen3.6-35B-A3B-MTP-UD-IQ3_XXS` | 35.9 | 24k | MTP, vision, thinking OFF | **daily driver** — compact instant answers | @@ -129,6 +129,9 @@ The same catalog is mirrored in every client — when adding/removing a preset, - `common/.config/opencode/opencode.json` (both providers + agent model overrides) - `common/.pi/agent/models.json` (both providers; `contextWindow` = server `ctx-size`) - `common/.config/aichat/config.yaml` (both clients) +- `wm/.config/aichat/config.yaml` — full-file overlay for the off-LAN host (default client `duskadiy`); + every aichat change must be mirrored here too (missed for GLM Q3 + Ornith until 09-21). With the + lw/ overlays that makes **seven** client files. Rule: client model **id = config.ini section name**, client context ≤ server `ctx-size`. The embedder is deliberately absent from chat clients. @@ -140,6 +143,7 @@ the router, but chats/presets saved against the old id need re-picking. (14.5 t/s MTP / 10.9 base, 2.8 GB free @1.5); server ctx restored to 24576 = client ctx, no client edits. 2026-09-21: `GLM-4.7-Flash-UD-Q3_K_XL` (⚡ fast coder) added to all six client files next to the Q4. 2026-09-21: `Ornith-1.5-35B-A3B-IQ3_XXS` (agentic coder, thinking + vision) added to all six client files after passing its gate (32.1 t/s @moe16). +2026-09-21: default model → `Qwen3.6-35B-A3B-Thinking` everywhere (opencode global + plan/build/auto, pi defaultModel + thinking level medium, aichat common/lw/wm) — gemma-4-26B refused routine sysadmin work. Thinking preset gets `reasoning-budget 8192`. wm aichat caught up (GLM Q3, Ornith). ## Tuning cheat-sheet diff --git a/fl/.config/llamacpp/config.ini b/fl/.config/llamacpp/config.ini index 57121da..146f7e6 100644 --- a/fl/.config/llamacpp/config.ini +++ b/fl/.config/llamacpp/config.ini @@ -165,6 +165,13 @@ mmproj = /home/anon/software/models/mmproj-Qwen3.6-35B-A3B-F16.gguf # 13.9 used / 3.3 free (2.8 dirty baseline), decode unchanged at 36-37 t/s. spec-type = draft-mtp spec-draft-n-max = 2 +reasoning-budget = 8192 # "MEDIUM" thinking (added 2026-09-21 when this became the default model in + # opencode/pi/aichat): caps runaway 15-20k-token think loops, leaves 16k of + # the 24k ctx for prompt+answer; normal traces (0.5-5k) are untouched. The + # Qwen3.6 template knows only enable_thinking on/off (no reasoning_effort + # levels — verified in the gguf header), so this budget IS the depth knob. + # -1 = unlimited (old behaviour), 0 = the MTP alias. b10615's server README + # documents N>0; if startup rejects it → set -1 and update llama.cpp. ctx-size = 24576 # thinking eats ctx — same footprint as the non-thinking preset n-gpu-layers = 99 n-cpu-moe = 16 diff --git a/lw/.config/aichat/config.yaml b/lw/.config/aichat/config.yaml index a7a91c9..44ebcdd 100644 --- a/lw/.config/aichat/config.yaml +++ b/lw/.config/aichat/config.yaml @@ -5,7 +5,7 @@ # see https://github.com/sigoden/aichat/blob/main/config.example.yaml keybindings: vi editor: nvim -model: local:Qwen3-Coder-30B-Instruct-UD-Q3_K_XL +model: local:Qwen3.6-35B-A3B-Thinking # Sessions: persist REPL sessions and keep more history before summarizing. # The default compress_threshold (4000) summarizes far too early for 24k+ windows. diff --git a/lw/.config/opencode/opencode.json b/lw/.config/opencode/opencode.json index c511b98..23a7f75 100644 --- a/lw/.config/opencode/opencode.json +++ b/lw/.config/opencode/opencode.json @@ -1,6 +1,6 @@ { "$schema": "https://opencode.ai/config.json", - "model": "llama.cpp/gemma-4-26B-A4B-it-UD-IQ4_XS", + "model": "llama.cpp/Qwen3.6-35B-A3B-Thinking", "default_agent": "auto", "instructions": ["CLAUDE.md", "AGENTS.md"], "share": "disabled", @@ -203,7 +203,7 @@ "mode": "primary", "color": "info", "steps": 30, - "model": "llama.cpp/gemma-4-26B-A4B-it-UD-IQ4_XS", + "model": "llama.cpp/Qwen3.6-35B-A3B-Thinking", "permission": { "edit": "deny" } @@ -212,7 +212,7 @@ "mode": "primary", "color": "primary", "steps": 30, - "model": "llama.cpp/gemma-4-26B-A4B-it-UD-IQ4_XS", + "model": "llama.cpp/Qwen3.6-35B-A3B-Thinking", "permission": { "edit": { "*": "allow", @@ -234,7 +234,7 @@ "mode": "primary", "color": "#f9e2af", "steps": 30, - "model": "llama.cpp/gemma-4-26B-A4B-it-UD-IQ4_XS", + "model": "llama.cpp/Qwen3.6-35B-A3B-Thinking", "permission": { "edit": { "*": "allow", diff --git a/lw/.pi/agent/settings.json b/lw/.pi/agent/settings.json index d923aee..bee358c 100644 --- a/lw/.pi/agent/settings.json +++ b/lw/.pi/agent/settings.json @@ -1,7 +1,7 @@ { "defaultProvider": "duskadiy", - "defaultModel": "gemma-4-26B-A4B-it-UD-IQ4_XS", - "defaultThinkingLevel": "off", + "defaultModel": "Qwen3.6-35B-A3B-Thinking", + "defaultThinkingLevel": "medium", "theme": "catppuccin-mocha", "quietStartup": false, "collapseChangelog": true, diff --git a/wm/.config/aichat/config.yaml b/wm/.config/aichat/config.yaml index 59e7c43..73e843d 100644 --- a/wm/.config/aichat/config.yaml +++ b/wm/.config/aichat/config.yaml @@ -5,7 +5,7 @@ # see https://github.com/sigoden/aichat/blob/main/config.example.yaml keybindings: vi editor: nvim -model: duskadiy:Qwen3-Coder-30B-Instruct-UD-Q3_K_XL +model: duskadiy:Qwen3.6-35B-A3B-Thinking # Sessions: persist REPL sessions and keep more history before summarizing. # The default compress_threshold (4000) summarizes far too early for 24k+ windows. @@ -51,6 +51,11 @@ clients: supports_vision: true - name: GLM-4.7-Flash-UD-Q4_K_XL max_input_tokens: 22000 # ctx 24576 · ~21 t/s — quality coder + - name: GLM-4.7-Flash-UD-Q3_K_XL + max_input_tokens: 22000 # ctx 24576 · ~28 t/s — fast coder (3-bit) + - name: Ornith-1.5-35B-A3B-IQ3_XXS + max_input_tokens: 22000 # ctx 24576 · ~32 t/s — agentic coder, thinking + supports_vision: true - name: gpt-oss-20b max_input_tokens: 62000 # ctx 65536 · ~38 t/s — fast reasoning + tools - name: gpt-oss-20b-low