File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 8888 codex . enable = true ;
8989 omp = {
9090 enable = true ;
91- smolModel = "cursor/composer-2.5" ;
91+ # Personal laptop providers: xai-oauth, openrouter, opencode-go, openai-codex.
92+ # No Cursor SDK, no VibeProxy here — do not pin cursor/* or vibeproxy/*.
93+ smolModel = "xai-oauth/grok-composer-2.5-fast" ;
9294 modelRoles = {
93- smol = "cursor/ composer-2.5" ;
95+ smol = "xai-oauth/grok- composer-2.5-fast " ;
9496 default = "xai-oauth/grok-4.5" ;
97+ # Shared plan defaults to vibeproxy; override to a local provider.
98+ plan = "xai-oauth/grok-4.5:high" ;
9599 } ;
96100 modelProviderOrder = [
97101 "openai-codex"
98102 "xai-oauth"
99- "cursor "
103+ "openrouter "
100104 "opencode-go"
101105 ] ;
102106 retry . modelFallback = true ;
105109 "opencode-go/glm-5.2"
106110 ] ;
107111 plan = [
108- "xai-oauth/grok-4.5 :high"
112+ "openai-codex/gpt-5.6-sol :high"
109113 "opencode-go/glm-5.2"
110114 ] ;
111115 slow = [
Original file line number Diff line number Diff line change 9898 codex . enable = true ;
9999 omp = {
100100 enable = true ;
101+ # Work laptop providers: cursor, openai-codex, vibeproxy (Claude/Anthropic).
102+ # No xai-oauth here — do not pin xai-oauth/* fallbacks.
101103 # Seqeratop has Cursor SDK wired through Pi, so use Cursor Composer
102104 # for smol and low-thinking Codex for the default role.
103105 smolModel = "cursor/composer-2.5" ;
109111 default = [
110112 "openai-codex/gpt-5.6-terra:low"
111113 "openai-codex/gpt-5.6-luna:low"
112- "xai-oauth/grok-4.5:high "
114+ "cursor/composer-2.5 "
113115 ] ;
114116 slow = [
115117 "openai-codex/gpt-5.6-terra:high"
116118 "openai-codex/gpt-5.6-luna:high"
117- "xai-oauth/grok-4.5 :high"
119+ "vibeproxy/claude-opus-4-8 :high"
118120 ] ;
119121 } ;
120122 # Match the rest of this host's Seqera branding (stylix seqera-dark,
Original file line number Diff line number Diff line change @@ -44,7 +44,7 @@ OMP's runtime symlink to it. Its block reason should explain:
4444Keep those alternatives in the hook's ` GUIDANCE_LINES ` ; the reason is shown
4545back to the model as the failed tool result.
4646
47- ## Per-host model roles
47+ ## Per-host model roles and providers
4848
4949` modules.agents.omp.smolModel ` sets ` PI_SMOL_MODEL ` in the wrapper for a
5050declarative per-host smol/fast model (also drives commit, which falls back to
@@ -53,11 +53,11 @@ into the rendered `config.yml`. Use it only for real host auth or quota
5353differences; keep shared defaults in ` config/omp/config.yml ` . Precedence:
5454` --smol ` flag > ` PI_SMOL_MODEL ` > rendered ` config.yml ` .
5555
56- Current split: MacTraitor-Pro uses ` xai-oauth/grok-4.5 ` for default
57- and ` cursor/composer-2.5 ` for smol; Seqeratop renders ` cursor/composer-2.5 `
58- for smol and ` openai-codex/gpt-5.6-sol:low ` for default. Keep future
59- host-specific role changes in the host ` modules.agents.omp ` block, not shared
60- ` config.yml ` .
56+ ** Providers are host-specific. ** Do not cross-wire prefixes across laptops.
57+ Source of truth: the ` modules.agents.omp ` block comments + pins in each
58+ ` hosts/*/default.nix ` . Validate new ids with ` omp models <provider> ` on that
59+ host before adding roles/fallbacks. Never invent hybrid ids like
60+ ` cursor/grok-* ` .
6161
6262## Docs
6363
Original file line number Diff line number Diff line change @@ -58,16 +58,14 @@ Claude Opus 4.8); kilo/Claude remains only a fallback. There is no separate
5858### Per-host overrides
5959
6060Shared role defaults live in ` config/omp/config.yml ` . Host auth/quota differences
61- belong in ` modules.agents.omp.modelRoles ` , which is rendered into the Nix-managed
62- config at activation. ` modules.agents.omp.smolModel ` also injects ` PI_SMOL_MODEL `
63- for the smol/commit fast path. Precedence: ` --smol ` flag > ` PI_SMOL_MODEL ` env >
64- rendered ` config.yml ` .
65-
66- - ** mactraitorpro** : default ` xai-oauth/grok-4.5 ` ; smol ` cursor/composer-2.5 ` .
67- - ** seqeratop** : smol ` cursor/composer-2.5 ` ; default ` openai-codex/gpt-5.6-sol:low ` .
68- - ** fallbacks** : shared ` slow ` falls back Sol → Terra → Luna; mactraitorpro
69- default falls back to GLM only, while its ` plan ` /` slow ` paths include
70- ` xai-oauth/grok-4.5:high ` before GLM.
61+ belong in ` modules.agents.omp.modelRoles ` / ` retry.fallbackChains ` on each host.
62+ ` modules.agents.omp.smolModel ` also injects ` PI_SMOL_MODEL ` for the smol/commit
63+ fast path. Precedence: ` --smol ` flag > ` PI_SMOL_MODEL ` env > rendered ` config.yml ` .
64+
65+ Providers differ by machine — personal vs work do not share Cursor/xai/VibeProxy.
66+ Read the host ` omp ` block comments in ` hosts/*/default.nix ` before changing
67+ fallbacks. Shared ` slow ` is Sol → Terra → Luna; host chains may only use that
68+ host's real providers. Smoke-test every new id with ` omp models ` on-target.
7169
7270** Gotcha — Codex catalog lies.** ` omp models openai-codex ` can list unsupported
7371ids; smoke-test every new id before trusting it. Verified GPT-5.6 ids:
You can’t perform that action at this time.
0 commit comments