/install hudl-model-switch
hudl-model-switch
Switch the active LLM model for this OpenClaw agent via the Huddle01 GRU gateway.
Non-negotiable rules
- This skill only applies to the
hudlprovider backed bygru.huddle01.io. - The target model value in config must always be
hudl/\x3Cmodel-id>. - Never edit JSON manually for model switching. Always use
scripts/switch-model.sh. - Never modify provider wiring during a switch (
models.providers.hudl.baseUrl,apiKey, and other unrelated keys stay unchanged). - Treat any post-switch mismatch, missing model field, or non-
hudl/result as a hard failure. Do not restart in that state. - For status/reporting, the active agent model is the source of truth.
agents.defaults.model.primaryis only a default and may be stale.
Prerequisites
This skill only works when the OpenClaw config has a hudl provider pointing at gru.huddle01.io. If the provider is missing or the baseUrl is different, stop and tell the user this skill requires the Huddle01 GRU gateway.
Step-by-step
On any switch/change request
Step 1: Validate provider + config path (required)
Run:
bash \x3Cskill_dir>/scripts/validate.sh
- Exit
0: continue. - Exit
1: stop. Show the exact validation error and tell the user no config changes were made. - Validation resolves config in this order:
OPENCLAW_CONFIG,~/.openclaw/config.json,~/.openclaw/openclaw.json. - The provider check is strict: the
hudlprovider must exist,apiKeymust be present, andbaseUrlmust point at hostgru.huddle01.io.
Step 2: Resolve the exact target model ID (required)
Use \x3Cskill_dir>/references/models.md to map user intent to a canonical model.
Normalization rules:
- If the resolved model does not start with
hudl/, prependhudl/. - If the user already supplied
hudl/..., keep it unchanged. - Never write a non-
hudl/model into config. - Reject empty model IDs,
hudl/by itself, or values with spaces. - For unknown models, still normalize to
hudl/\x3Cuser-value>and warn clearly that the model must exist on GRU or requests will fail.
Ambiguity rules:
- If request is ambiguous (for example "claude" could be Opus/Sonnet/Haiku), choose the catalog default alias mapping (currently
hudl/claude-opus-4.6) and state what was chosen. - If the user asks for a specific variant, obey that exact variant.
Step 3: Capture current state before mutation (required)
Read and note current values so the response can show before/after:
- active agent model (
agents.list[*].model.primary, preferring agentid: "main") - default model (
agents.defaults.model.primary) - If
.agents.listhas no entries, stop. This skill is for switching an active agent model, so a config with no agent entries is not a valid target. - When active and default differ, describe that as a mismatch and treat the active agent model as the model currently in use.
Step 4: Switch model via script (required)
Run:
bash \x3Cskill_dir>/scripts/switch-model.sh \x3Chudl-model-id>
switch-model.sh is the source of truth and must be used instead of manual edits.
Expected behavior from script:
- Updates
agents.defaults.model.primary - Updates active agent model (
agents.list[*].model.primary, preferringid: "main", otherwise first agent) - Normalizes
models.providers.hudl.models[*].idso every catalog ID ishudl/... - Ensures the target model exists in
models.providers.hudl.models - Preserves unrelated configuration
- Fails if the resulting active/default model fields are empty, not
hudl/-prefixed, or do not exactly match the requested target - Fails if the provider model catalog still contains non-
hudl/IDs or is missing the target model
Failure handling:
- If script fails, stop and show the script error.
- Do not "repair" the config manually inside the skill. If the script does not leave config in a valid final state, stop and surface the failure.
Step 5: Verify post-switch values before restart (required)
Confirm both fields now point to the normalized target model and both are hudl/....
- If aligned: continue.
- If not aligned: report mismatch and stop. Do not restart.
Step 6: Restart + report final state (required)
Before restart, tell the user:
- restart is starting now
- service may take a couple of minutes to come back
- you will confirm applied model values after restart
Run:
openclaw restart
After restart, report:
- restart completion status
- previous active/default model values
- new active/default model values
- alignment status (aligned or mismatch)
- exact final model ID in use
- provider catalog normalization status
On "what model am I on" / "current model"
- Run validation (
scripts/validate.sh). - Read the resolved config (
config.jsonoropenclaw.json). - Report:
- current active agent model (
agents.list[*].model.primary, preferid: "main") - current default model (
agents.defaults.model.primary) - whether they are aligned
- whether each value is correctly
hudl/-prefixed - config path used for the check
- current active agent model (
Reporting rules:
- Do not say "current model is X" based only on
agents.defaults.model.primary. - If
agents.list[*].model.primaryandagents.defaults.model.primarydiffer, say the active agent model is currently in use and the default is stale/misaligned. - When the user asks to "show on file" or "prove it from config", show both paths and values:
agents.list[main-or-first].model.primaryagents.defaults.model.primary
No restart is needed for read-only status checks.
Example exchanges
Switch to Opus:
User: switch to opus
Agent: Checking GRU gateway config... verified.
Agent: Resolved target model: hudl/claude-opus-4.6.
Agent: Current models -> active: hudl/minimax-m2.5, default: hudl/minimax-m2.5.
Agent: Running switch script... success.
Agent: Provider model catalog normalized and includes hudl/claude-opus-4.6.
Agent: Restarting gateway now; it may take a couple minutes.
Agent: Restart complete. Active: hudl/claude-opus-4.6, default: hudl/claude-opus-4.6 (aligned).
Mismatched config on status check:
User: what model am I on?
Agent: Config path: /home/ubuntu/.openclaw/openclaw.json
Agent: Active model in use: hudl/minimax-m2.5 (from agents.list[id=main].model.primary)
Agent: Default model: gpt-4.1 (from agents.defaults.model.primary)
Agent: Status: mismatch. The gateway is currently using hudl/minimax-m2.5; the default value is stale and should not be reported as the live model.
No hudl provider:
User: switch to opus
Agent: (validate.sh failed)
Agent: This skill requires the Huddle01 GRU gateway (hudl provider with baseUrl gru.huddle01.io) in your OpenClaw config. No changes were made.
Unknown model:
User: switch to deepseek-r2
Agent: Heads up: deepseek-r2 is not in the known catalog. I will set hudl/deepseek-r2; requests will fail unless that model exists on your GRU gateway.
Agent: Switching to hudl/deepseek-r2...
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install hudl-model-switch - 安装完成后,直接呼叫该 Skill 的名称或使用
/hudl-model-switch触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Hudl AI Openclaw Model Switch 是什么?
Switch between LLM models on the Huddle01 GRU gateway. Use this skill whenever the user mentions switching models, changing models, upgrading, downgrading, "... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 291 次。
如何安装 Hudl AI Openclaw Model Switch?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install hudl-model-switch」即可一键安装,无需额外配置。
Hudl AI Openclaw Model Switch 是免费的吗?
是的,Hudl AI Openclaw Model Switch 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Hudl AI Openclaw Model Switch 支持哪些平台?
Hudl AI Openclaw Model Switch 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Hudl AI Openclaw Model Switch?
由 Om Gupta(@omguptaind)开发并维护,当前版本 v1.0.3。