diff --git a/hermes_cli/models.py b/hermes_cli/models.py index 3048bdb0dc..7edbff7b9b 100644 --- a/hermes_cli/models.py +++ b/hermes_cli/models.py @@ -559,12 +559,14 @@ _PROVIDER_MODELS: dict[str, list[str]] = { # OpenCode free tier — keyless (no OpenCode account needed). Synced # against live GET /zen/v1/models + anonymous probes (2026-08-21); # deepseek-v4-flash-free delisted (promo ended, now 401s). + # big-pickle + mimo-v2.5-free delisted (UA-gated: the relay 429s + # FreeUsageLimitError for every client except User-Agent + # "opencode/latest"; we send honest Hermes attribution and don't + # impersonate other clients — verified 2026-08-21). "opencode-free": [ "x-preview-f-free", # "Ox Alpha" stealth model — free, 1M ctx, ZDR - "big-pickle", "hy3-free", "laguna-s-2.1-free", - "mimo-v2.5-free", "nemotron-3-ultra-free", "nemotron-3.5-lightning-free", "muse-spark-1.2-contributor-free", diff --git a/hermes_cli/setup.py b/hermes_cli/setup.py index 9beb2973fa..3d43d22eff 100644 --- a/hermes_cli/setup.py +++ b/hermes_cli/setup.py @@ -109,7 +109,7 @@ _DEFAULT_PROVIDER_MODELS = { "ai-gateway": ["anthropic/claude-opus-4.6", "anthropic/claude-sonnet-4.6", "openai/gpt-5", "google/gemini-3-flash"], "kilocode": ["anthropic/claude-sonnet-5", "anthropic/claude-opus-4.6", "anthropic/claude-sonnet-4.6", "openai/gpt-5.4", "google/gemini-3-pro-preview", "google/gemini-3-flash-preview"], "opencode-zen": ["x-preview-f-free", "gpt-5.6-sol", "gpt-5.4", "gpt-5.3-codex", "claude-opus-5", "claude-sonnet-5", "gemini-3.7-flash", "glm-5.2", "kimi-k3", "minimax-m3"], - "opencode-free": ["x-preview-f-free", "big-pickle", "hy3-free", "laguna-s-2.1-free", "mimo-v2.5-free", "nemotron-3-ultra-free", "nemotron-3.5-lightning-free", "muse-spark-1.2-contributor-free"], + "opencode-free": ["x-preview-f-free", "hy3-free", "laguna-s-2.1-free", "nemotron-3-ultra-free", "nemotron-3.5-lightning-free", "muse-spark-1.2-contributor-free"], "opencode-go": ["kimi-k3", "kimi-k2.7-code", "kimi-k2.6", "gpt-5.6-luna", "grok-4.5", "glm-5.3", "glm-5.2", "mimo-v2.5-pro", "mimo-v2.5", "minimax-m3", "minimax-m2.7", "qwen3.8-max", "qwen3.7-max", "deepseek-v4-pro", "hy3"], "huggingface": [ "Qwen/Qwen3.5-397B-A17B", "Qwen/Qwen3-235B-A22B-Thinking-2507", diff --git a/plugins/model-providers/opencode-free/__init__.py b/plugins/model-providers/opencode-free/__init__.py index 8ef88dcdf1..96d1970cc9 100644 --- a/plugins/model-providers/opencode-free/__init__.py +++ b/plugins/model-providers/opencode-free/__init__.py @@ -59,7 +59,9 @@ opencode_free = OpenCodeFreeProfile( display_name="OpenCode Free", description="OpenCode free models — keyless, no account needed", default_headers=dict(_KEYLESS_HEADERS), - default_aux_model="big-pickle", + # laguna is the fastest non-UA-gated free model; big-pickle 429s every + # client except the opencode CLI's own User-Agent (verified 2026-08-21). + default_aux_model="laguna-s-2.1-free", ) register_provider(opencode_free)