⚑ OMP Model Quickswitch

Current: nemotron (Nemotron-3-Ultra + Omni-Vision, Owl-Alpha fallback on all roles)
Updated: 2026-06-23 | SSOT: ops/omp-model-quickswitch.md


🎯 Config at a Glance

# ~/.omp/agent/config.yml  β€” modelRoles (validated selectors from `omp models`)
modelRoles:
  default: nvidia/nemotron-3-ultra-550b-a55b:free
  smol:    nvidia/nemotron-3-ultra-550b-a55b:free
  plan:    nvidia/nemotron-3-ultra-550b-a55b:free
  advisor: nvidia/nemotron-3-ultra-550b-a55b:free
  task:    nvidia/nemotron-3-ultra-550b-a55b:free
  commit:  nvidia/nemotron-3-ultra-550b-a55b:free
  vision:  nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free
  designer: nvidia/nemotron-3-ultra-550b-a55b:free
  slow:    nvidia/nemotron-3-ultra-550b-a55b:free
# ~/.omp/agent/models.yml  β€” OpenRouter provider override (8 lines, zero redundancy)
providers:
  openrouter:
    compat:
      extraBody:
        models: [openrouter/owl-alpha]   # server-side fallback: rate-limit, downtime, moderation, context

πŸ”„ Swap Profiles Instantly

swompswap              # show current + available
swompswap nemotron     # πŸ† nemotron-ultra (text) + omni (vision) + owl fallback
swompswap claude       # πŸ“œ original claude-sonnet-4-6 / opus-4-8
swompswap free         # πŸ†“ owl-alpha everywhere (text-only, 1M ctx)

~/bin/swompswap β€” PyYAML, timestamps backup before write, zero deps beyond python3+pyyaml.


🧠 Model Specs (Free Tier)

ModelCtxMax OutModalitiesToolsThinking
nvidia/nemotron-3-ultra-550b-a55b:free1M65Ktextβœ…βœ… (auto)
nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free256K65Ktext+img+vid+audβœ…βœ… (auto)
openrouter/owl-alpha1.05M262Ktext onlyβœ… (no tool_choice)βœ…

βš™οΈ Fallback Mechanism Comparison

MechanismLayerTriggers OnConfigCurrent
compat.extraBody.modelsOpenRouter serverany primary failuremodels.yml provider compatβœ… active
retry.fallbackChainsOMP client429/5xx/network only (β‰  context)config.yml retry: block❌ unused
contextPromotionTargetmodel-levelcontext_length_exceeded ONLY (larger ctx sibling)models.yml modelOverrides❌ wrong tool

Pick one. extraBody wins: covers more errors, zero per-role verbosity, transparent.


βœ… Pre-Flight Validated

CheckStatus
models.yml schemaβœ… clean β€” no registry errors in log
OpenRouter API keyβœ… stored in agent.db (cred id=3, api_key)
Selectors match registryβœ… verified via omp models
swompswap round-tripβœ… nemotron↔claude↔free, detects correctly
Auth on getAvailable()βœ… OpenRouter models are available

πŸš€ Go Live

# Restart OMP session (config loaded at init, not hot-reloaded)
# First turn will exercise: auth + selector + extraBody end-to-end
omp --allow-home

πŸ“ Notes

  • Vision fallback to owl-alpha silently drops image/video/audio β€” documented, accepted per user intent.
  • :free is an OpenRouter route suffix, NOT a thinking level β€” OMP handles it correctly.
  • Selectors are flat (e.g. nvidia/nemotron-3-ultra-550b-a55b:free, NOT openrouter/nvidia/...).
  • OMP flattens OpenRouter namespaces as provider prefix.
  • Zero redundancy, zero hand-defined models β€” all three IDs exist in OMP’s bundled OpenRouter catalog.

Generated from live config. Single source of truth for OMP model topology.