К основному содержанию
скилл CX Codex

openclaw-model-switch — скилл для Claude Code: что делает

Скилл настраивает и чинит конфигурацию моделей в OpenClaw через безопасную правку openclaw.json. Пригодится при смене основной модели, ошибках авторизации и сбоях маршрутизации ключей.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add daymade/claude-code-skills --skill openclaw-model-switch -a claude-code
Открыть на GitHub

Что делает openclaw-model-switch

Скилл управляет файлами конфигурации OpenClaw. Он находит активный путь через openclaw gateway status, проверяет каталоги ~/.openclaw/openclaw.json и зеркала в папках .kimi. Встроенный скрипт scripts/switch-model.py создаёт резервную копию в config-backups/, обновляет параметр agents.defaults.model.primary, вносит описания моделей и перезапускает шлюз с ключом --restart.

Перед изменением файлов процесс требует выполнить тестовый запрос через curl к /v1/messages. Это отсекает скрытую подмену токена переменной окружения KIMI_API_KEY и недоступность каналов при ошибке 503. Завершив настройку, скилл запускает команду openclaw agent и проверяет поле fallbackUsed. Если оно истинно, значит, целевая модель не ответила и сработал запасной вариант.

Если в системе есть несколько файлов конфигурации, их неполная синхронизация приведёт к тому, что шлюз OpenClaw перезапишет исправления при следующем цикле.

Какие задачи решает

  • сменить основную модель в конфигурации openclaw.json
  • исправить ошибку 401 Invalid token из-за подмены ключа переменной KIMI_API_KEY
  • устранить сбой Thinking level при несовместимости профилей провайдера
  • синхронизировать зеркала конфигурационных файлов OpenClaw перед перезапуском шлюза

Примеры запросов агенту

  • Переключи основную модель OpenClaw на k3 и перезапусти шлюз
  • Проверь конфигурацию openclaw.json и исправь ошибку 503 No available channel
  • Запусти switch-model.py для модели kimi-k2.7-code с указанием провайдера kimi-relay

Как установить openclaw-model-switch

1Через Skills CLI (Vercel)

npx skills add daymade/claude-code-skills --skill openclaw-model-switch -a claude-code

2Вручную: положить файлы

~/.claude/skills/openclaw-model-switch/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/openclaw-model-switch/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора64

notify-wecom Отправляет одно разовое сообщение в групповой бот WeCom (Enterprise WeChat). Пригодится, когда нужно быстро уведомить команду без шаблонов и настройки. CX Codex +1 341установок setup-notifications-via-wecom Настраивает отправку технических статусов и алертов в группу WeCom через вебхук бота. Пригодится, когда бэкап, синк или крон должны отчитаться сами. CX Codex +1 341установок local-codex Запускает локальный OpenAI Codex CLI как субагента через OAuth-авторизацию ChatGPT. Пригодится, чтобы делегировать написание кода или ревью без API-ключей. CX Codex +1 333установок wps-doc-scraper Скилл сохраняет публичные документы WPS/KDocs и встроенные карты ProcessOn как исходные данные, SVG или PNG и Markdown. Пригодится, когда ссылку нужно забрать без входа в аккаунт. CX Codex +1 334установок codex-image-gallery Запускает локальную веб-галерею для просмотра изображений, созданных Codex. Пригодится, когда нужно быстро проверить каталог картинок прямо в браузере. CX Codex +1 326установок download-gemini-images Скилл выгружает картинки из открытого чата Gemini через вашу залогиненную сессию Chrome и складывает их в ZIP по порядку. CX Codex +1 325установок claude-migrate-memory-to-doc Вытаскивает профиль и предпочтения из личной памяти Claude в документы, которые читают Codex, Cursor и другие CLI. CX Codex +1 325установок skill-governance Разбирается, сколько скиллов реально видит модель, почему каталог обрезан и какие дубли пора убрать. Полезен, когда скиллов стало много и непонятно, что из них грузится. CX Codex +1 303установок

Похожие

freeride Shaivpidadi Скилл настраивает бесплатные модели OpenRouter для OpenClaw, ранжирует их по качеству и собирает цепочку запасных вариантов на случай лимитов. CX Codex +1 781установок openclaw-config adisinghstudent Скилл помогает управлять конфигурацией бота OpenClaw, диагностировать каналы связи и находить сбои в шлюзе или сессиях. CX Codex +1 2 800установок openclaw-history-ingest Ar9av Переносит знания из истории OpenClaw в Obsidian, выделяя решения, контекст проектов и повторяющиеся приёмы. Пригодится для разбора сессий и файлов памяти. CX Codex +1 2 200установок bb-browser-openclaw epiral Скилл превращает сайты в CLI-команды и возвращает структурированные данные через браузер OpenClaw. Пригодится для поиска, GitHub, соцсетей и видео. CX Codex +1 672установок openclaw-audit-watchdog prompt-security Скилл запускает глубокий аудит безопасности агентов OpenClaw по расписанию и присылает отчёт в личные сообщения. Почту можно подключить отдельно. CX Codex +1 751установок qianwen-model-selector QianWen-AI Скилл подбирает модели Qwen и параметры генерации под задачу разработчика. Он помогает оценить стоимость вызовов и проверить тарифный план перед запуском кода. CX Codex +1 5 500установок

Рядом в теме «Настройка агента: память, контекст, субагенты»

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →

Вопросы о openclaw-model-switch

Как установить openclaw-model-switch в Claude Code?

Выполните команду npx skills add daymade/claude-code-skills --skill openclaw-model-switch -a claude-code.

Что делает openclaw-model-switch?

Скилл меняет модель по умолчанию в openclaw.json, синхронизирует зеркала конфигураций и устраняет сбои маршрутизации ключей и уровней thinking.

Почему после изменения конфигурации OpenClaw модель не меняется?

Шлюз может читать другой файл конфигурации или перезаписывать данные из зеркал вроде ~/.kimi/kimi-claw/openclaw.json. Скилл определяет рабочий путь и вносит одинаковые правки во все найденные копии.

Исходный текст

SKILL.md · MIT
---
name: openclaw-model-switch
description: >-
  Switches or repairs an OpenClaw instance's model config: changes the default model, adds model
  definitions, and fixes 401 "Invalid token", "No available channel / model not found", "Thinking
  level X is not supported", or a config edit that doesn't take effect. Use for 切换模型/换模型/升级模型 or
  模型配的错了. Not for plain config audits (use openclaw).
---

# OpenClaw Model Switch

Switch or repair an OpenClaw instance's model configuration by safely editing `openclaw.json`.

**Diagnose before you edit.** Model failures on OpenClaw are usually NOT the model id —
they are key routing (env hijack), provider-plugin restrictions, or endpoint/model mismatch.
Changing the model id without checking these first is how a 5-minute fix becomes a 2-hour
debugging session. The full trap catalog with discovery commands lives in
[references/troubleshooting-model-config.md](references/troubleshooting-model-config.md) — read it
the moment anything errors.

## Step 1 — Find the real config file(s)

Do NOT assume a hardcoded path. Candidate locations (check all, edit all that exist):

1. `~/.openclaw/openclaw.json` — the gateway's live config on most installs
2. `~/.kimi/kimi-claw/openclaw.json` — Kimi Claw mirror, kept in sync on some installs
3. `~/.kimi_openclaw/openclaw.json` — legacy desktop path

Confirm which one the gateway actually reads: `openclaw gateway status` prints
`Config (service): <path>`. If several exist, treat them as mirrors: **edit all of them
identically**, otherwise the next sync overwrites your fix.

## Step 2 — Probe the endpoint + model BEFORE touching config

Never trust a relay's model listing (`GET /v1/models` on new-api style relays is frequently
incomplete — a model can be absent from the list yet serve fine). The only authority is a
real completion probe **from the host that will run the bot**:

```bash
curl -sS -o /tmp/probe.json -w "HTTP %{http_code}\n" \
  -X POST "<baseUrl>/v1/messages" \
  -H "Authorization: Bearer <apiKey>" \
  -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{"model":"<model-id>","max_tokens":16,"messages":[{"role":"user","content":"hi"}]}'
```

Expected: `HTTP 200` and a `content` array in the body. `401 Invalid token` with a token you
just verified works elsewhere → the wire key is being hijacked (see trap #1 in the
troubleshooting reference). `503 No available channel` → the model is not served for this
token/group **from this network** (trap #3) — pick a served model or fix the relay, don't
blind-switch.

## Step 3 — Switch the model

```bash
python3 scripts/switch-model.py <model-id> --restart
# target a specific provider instead of the guessed one:
python3 scripts/switch-model.py k3 --provider kimi-relay --restart
# explicit config path (skips discovery):
python3 scripts/switch-model.py k3 --config ~/.openclaw/openclaw.json --restart
```

The script: discovers and backs up every candidate config to `<config-dir>/config-backups/`,
adds the model definition if known, sets `agents.defaults.model.primary`, syncs mirror
files, and restarts the gateway with `--restart`.

## Step 4 — Verify end-to-end (mandatory)

A restarted gateway proves nothing. Run one real agent turn and read the result metadata:

```bash
openclaw agent --local --json --agent main --session-id verify-$(date +%s) -m "ping"
```

Success looks like: `"result": "success"`, `"fallbackUsed": false`, and the gateway log shows
`agent model: <provider>/<model> (thinking=...)`. `"result": "success"` with
`fallbackUsed: true` means your target failed and a fallback saved the turn — the config is
still wrong.

## Common failures → read the troubleshooting reference

| Symptom | Most likely trap |
|---|---|
| `LLM error new_api_error: Invalid token`, but the token works in curl | Trap #1 — env `KIMI_API_KEY` hijacks the provider's wire key |
| `Thinking level "max" is not supported ... Use one of: off, on` | Trap #2 — kimi-provider plugin hardcodes binary thinking; bypass with a custom provider |
| `Thinking level ... Use one of: off, minimal, low, medium, high` | Trap #2 variant — anthropic-messages base profile; unlock via `params.canonicalModelId` |
| `503 No available channel for model X under group default` | Trap #3 — model not served for this group/network; listing ≠ availability |
| Edit saved + gateway restarted, nothing changed | Trap #5 — edited the wrong file / mirror not synced |

## Safety rules

- **Always backup** before editing (the script does this; manual edits: copy to `config-backups/` first)
- **Preserve** existing `apiKey`, `headers`, plugin configs, and `env` blocks — retype only the fields you mean to change
- **Validate JSON** after manual edits: `python3 -m json.tool openclaw.json > /dev/null`
- **Do not** commit config files containing API keys to version control
- After changing anything, redo the Step-4 verification — and if it fails, restore the newest backup before trying something else

## Resources

- **scripts/switch-model.py** — model switcher with config discovery, backup, mirror sync, and restart
- **references/kimi-models.md** — known model specs (k3, k2p6, kimi-k2.7-code) and config snippets
- **references/troubleshooting-model-config.md** — the trap catalog: env key hijack, plugin binary thinking, canonicalModelId, relay availability, config discovery. Read on any error.

© daymade · MIT · daymade/claude-code-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой