3. Switch the OpenCode model / reasoning effort (config only)
Historical since 2026-09-07: every OpenCode worker is in
RETIRED_WORKERS(ks4sf), so these knobs change nothing until an entry is deleted there. Kept because the adapter stays as the CLI-worker reference.
# Cheaper non-think model:
OPENCODE_MODEL=deepseek/deepseek-v4-flash npm run demo
# Max reasoning (DeepSeek Think Max - billed separately):
OPENCODE_VARIANT=max npm run demo
# A different provider OpenCode is authed for:
OPENCODE_MODEL=moonshotai/kimi-k2.7-code npm run demo
# Xiaomi MiMo through OpenCode (once `opencode providers login` has authed `xiaomi`):
OPENCODE_MODEL=xiaomi/mimo-v2.5-pro npm run demoCanonical ids only: deepseek/deepseek-v4-pro (default), deepseek/deepseek-v4-flash,
moonshotai/kimi-k2.7-code, xiaomi/mimo-v2.5-pro. deepseek-chat / deepseek-reasoner were
removed from DeepSeek's API on 2026-07-24 (confirmed absent from GET /models 2026-08-24) — they
are dead ids, not merely deprecated aliases, and every call using one fails at the provider.
To reach Xiaomi MiMo as a direct loop worker instead (no OpenCode), put XIAOMI_API_KEY in
.env (or ~/.cyberine/.env): loop-mimo-direct then joins the compare fleet automatically, and
loop-mimo-build becomes available for CYBERINE_BUILD_FLEET — e.g.
CYBERINE_BUILD_FLEET="loop-deepseek-build,loop-mimo-build" npm run wf -- <def>.
2. One-off task from the CLI
Everything after -- is the task prompt. It is dispatched to all available adapters.
4. Switch the OpenRouter loop model (config only)
Mind the date suffix — the two DeepSeek routes are inverted. On OpenRouter the DATED ids (deepseek/deepseek-v4-pro-0813, deepseek/deepseek-v4-flash-0731) are the current GAs and the UNDATED...