# Auto-generiert von provision.sh - per Mission Control erweiterbar
healthCheckTimeout: 300
globalTTL: 0

models:
  Qwen3.6-35B-A3B:
    # parallel 2 + c 131072: 2 Slots à 65k (Slot 2 = Mem0-Lern-Extraktion, blockiert Voice-Turns
    # nicht mehr); KV Q8_0 macht das speicherneutral zu vorher (65k f16). Bench 2026-07-02:
    # Q8_0 kostet 0 t/s, MTP n-max 3 = +26% vs. ohne Spec. (Q4_K-KV stand mal im Template,
    # lief aber NIE live — bewusst bei Q8_0 geblieben: Qualität vor ein paar GB, seit der
    # Warm-Set-Diät 07.07. ist RAM nicht mehr der Engpass.)
    cmd: |
      llama-server -m /srv/models/Qwen3.6-35B-A3B-MTP-GGUF/Qwen3.6-35B-A3B-UD-Q4_K_M.gguf --host 127.0.0.1 --port ${PORT} -c 131072 -ngl 999 -fa on --no-mmap --jinja --parallel 2 -cram 16384 -ctk q8_0 -ctv q8_0 --spec-type draft-dflash --spec-draft-model /srv/models/Qwen3.6-35B-A3B-DFlash-GGUF/giocom-Qwen3.6-35B-A3B-DFlash-Q8_0.gguf
    ttl: 0
    aliases:
    - hermes
    - fast
    # context = nutzbarer Kontext PRO REQUEST (c geteilt durch parallel-Slots).
    capabilities:
      in: [text]
      out: [text]
      tools: true
      context: 65536
  Qwen3-Coder-Next:
    cmd: |
      llama-server -m /srv/models/Qwen3-Coder-Next-GGUF/Qwen3-Coder-Next-Q4_K_M.gguf --host 127.0.0.1 --port ${PORT} -c 131072 -ngl 999 -fa on --no-mmap --jinja --cache-reuse 256 -cram 16384
    ttl: 5400
    aliases:
    - coder
    capabilities:
      in: [text]
      out: [text]
      tools: true
      context: 131072
  Qwen3-Embedding-0.6B:
    cmd: |
      llama-server -m /srv/models/Qwen3-Embedding-0.6B-GGUF/Qwen3-Embedding-0.6B-Q8_0.gguf --host 127.0.0.1 --port ${PORT} --embedding --pooling last -ngl 999 -fa on --no-mmap -c 8192
    ttl: 0
    aliases:
    - embed
  gpt-oss-120b:
    # heavy (B5-Entscheid 03.07.) + nächtlicher CHEF-GUTACHTER (04:30-Cron). 60 GB —
    # passt seit der Warm-Set-Diät (07.07., vision on-demand) wieder NEBEN Hirn+embed.
    cmd: |
      llama-server -m /srv/models/gpt-oss-120b-GGUF/gpt-oss-120b-mxfp4-00001-of-00003.gguf --host 127.0.0.1 --port ${PORT} -c 32768 -ngl 999 -fa on --no-mmap --jinja --cache-reuse 256 -cram 16384
    ttl: 600
    aliases:
    - heavy
    capabilities:
      in: [text]
      out: [text]
      tools: true
      context: 32768
  Qwen3-VL-30B-A3B-Instruct:
    # Lucys AUGEN — seit 07.07. ON-DEMAND (User-Entscheid: „Gehirn + Embedding reichen
    # komplett; Vision nur wenn Lucy auf dem Desktop an ist oder die IDE-Lane sie braucht").
    # NICHT mehr in brains; ttl 900 = 15 Min Nachlauf nach dem letzten Blick. Die Lucy-App
    # wärmt die Augen beim Start selbst an (useVoiceAgent-Warm-Gate). Vorher: warm, ttl 0 —
    # das kostete ~19 GB Dauerbelegung und verdrängte den 60-GB-Chef-Gutachter.
    cmd: |
      llama-server -m /srv/models/Qwen3-VL-30B-A3B-Instruct-GGUF/Qwen3-VL-30B-A3B-Instruct-Q4_K_M.gguf --host 127.0.0.1 --port ${PORT} -c 32768 -ngl 999 -fa on --no-mmap --mmproj /srv/models/Qwen3-VL-30B-A3B-Instruct-GGUF/mmproj-F16.gguf --jinja
    ttl: 900
    aliases:
    - vision
    capabilities:
      in: [text, image]
      out: [text]
      context: 32768
  GLM-4.6V-Flash:
    cmd: |
      llama-server -m /srv/models/GLM-4.6V-Flash-GGUF/GLM-4.6V-Flash-Q4_K_M.gguf --host 127.0.0.1 --port ${PORT} -c 131072 -ngl 999 -fa on --no-mmap --mmproj /srv/models/GLM-4.6V-Flash-GGUF/mmproj-BF16.gguf --jinja
    ttl: 300
    aliases:
    - scout
    capabilities:
      in: [text, image]
      out: [text]
      tools: true
      context: 131072
  Devstral-Small-2-24B:
    # KRITIKER (25.07.2026): Gegenleser aus einer ANDEREN Modellfamilie (Mistral, Apache-2.0,
    # 24B DICHT, 256k Kontext, 68,0 % SWE-bench Verified vs. 59,2 % bei GLM-4.7-Flash).
    # Loest GLM-4.7-Flash in der kritiker-Rolle ab. Dicht = auf Strix Halo bandbreitengebunden
    # und damit langsam beim SCHREIBEN — fuer einen Kritiker egal: er liest viel, schreibt wenig.
    # --jinja ist Pflicht (Chat-Template, sonst kaputte Tool-Calls).
    cmd: |
      llama-server -m /srv/models/Devstral-Small-2-GGUF/mistralai_Devstral-Small-2-24B-Instruct-2512-Q4_K_M.gguf --host 127.0.0.1 --port ${PORT} -c 16384 -ngl 999 -fa on --no-mmap --jinja --cache-reuse 256
    ttl: 1800
    aliases:
    - kritiker
    capabilities:
      in: [text]
      out: [text]
      tools: true
      context: 16384
  Qwen3-Reranker-0.6B:
    # Gedächtnis-Zweitstufe (07.07., Rollen-Audit): ordnet Mem0-Suchtreffer nach echter
    # Relevanz (/v1/rerank, Mungert-GGUF — Community-Konvertierungen liefern oft Nullscores!).
    # Winzig (~0,7 GB) → in brains (verdrängungssicher); lädt in ~1-2 s, erste Anfrage wärmt.
    cmd: |
      llama-server -m /srv/models/Qwen3-Reranker-0.6B-GGUF/Qwen3-Reranker-0.6B-q8_0.gguf --host 127.0.0.1 --port ${PORT} --reranking --pooling rank --embedding -ngl 999 -fa on --no-mmap -c 8192
    ttl: 0
    aliases:
    - reranker
groups:
  brains:
    swap: false
    # llama-swap versteht NUR `persistent` (Verdrängungsschutz); `persist` ist der
    # MC2-interne Lese-Key (API/UI) und wird von llama-swap ignoriert. Beide pflegen!
    persist: true
    persistent: true
    members:
    - Qwen3-Embedding-0.6B
    - Qwen3-Reranker-0.6B
    - Qwen3.6-35B-A3B
