Раньше все ai-* лаунчеры делили один ~/.claude и общий settings.json, из-за чего кастомная модель (openai/gpt-5.5) из ai-openrouter протекала в пикер ai-claude. Теперь каждый сторонний провайдер изолирован в своём CLAUDE_CONFIG_DIR (~/.config/ai-setup/cfg/<launcher>) - свои settings.json и .claude.json, ноль протечек. ai-claude остаётся на ~/.claude (нативный логин). Пикеры /model приведены к требуемому виду: - ai-deepseek: только DeepSeek V4 Pro (opus) и DeepSeek V4 Flash (haiku), дефолт Pro; через availableModels + ANTHROPIC_DEFAULT_*_MODEL_NAME - ai-kimi: только Kimi K2.6 (opus) - ai-claude: только нативные модели Claude Общие skills и CLAUDE.md шарятся симлинком из ~/.claude. Persistence effort - гибрид: - low/medium/high/xhigh живут нативно в settings.json лаунчера, /effort внутри сессии работает свободно и уровень сохраняется - max нельзя сохранить в settings.json (session-only), поэтому он восстанавливается через CLAUDE_CODE_EFFORT_LEVEL; в такой max-сессии /effort залочен (ограничение Claude Code), выход - AI_EFFORT=<lvl> ai-* Текущий уровень ловит статусбар в ~/.cache/ai-setup/effort_<launcher>. Удалён устаревший effort-save-hook (заменён нативным persistence + гибридом), почищен из ~/.claude/settings.json и осиротевший кэш model_*. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6.3 KiB
Effort Mapping — Соответствие уровней для всех провайдеров
Как это работает
Когда вы меняете effort в Claude Code (через /effort или --effort), значение передаётся
в API провайдера. Каждый провайдер поддерживает свой набор уровней reasoning effort.
Если выбранного уровня нет у провайдера — он автоматически маппится на ближайший
более высокий нативный уровень.
Таблица маппинга
Актуально на 30 мая 2026 г.
Claude Code/effort |
Anthropic (Claude) |
GPT-5.5 (ChatGPT) |
DeepSeek V4 | Kimi K2.6 (Moonshot) |
Gemini 3.x |
|---|---|---|---|---|---|
low |
✅ low |
✅ low |
⬆ high |
🔛 thinking on | ✅ LOW |
medium |
✅ medium |
✅ medium |
⬆ high |
🔛 thinking on | ✅ MEDIUM |
high |
✅ high |
✅ high |
✅ high |
🔛 thinking on | ✅ HIGH |
xhigh |
✅ xhigh |
✅ xhigh |
⬆ max |
🔛 thinking on | ⬆ HIGH |
max |
✅ max |
⬆ xhigh ¹ |
✅ max |
🔛 thinking on | ⬆ HIGH |
Обозначения:
- ✅ — нативная поддержка (1:1 соответствие)
- ⬆ — маппинг на ближайший доступный уровень вверх
- 🔛 — бинарный режим (thinking вкл/выкл, без градаций)
¹ GPT-5.5 не имеет уровня max — effort-proxy (claude-gpt-effort-proxy.py) маппит max → xhigh
Нативные уровни каждого провайдера
Anthropic (Claude) — эталон
low → medium → high → xhigh → max
- 5 уровней, полное соответствие с Claude Code
- По умолчанию:
xhigh max— максимальный бюджет на thinking, для самых сложных задач
GPT-5.5 (через claude-code-proxy)
low → medium → high → xhigh
- 4 основных уровня (также существуют
noneиminimal) - Нет
max→ маппится вxhigh - По умолчанию:
medium - Маппинг выполняется effort-proxy на стороне лаунчера
DeepSeek V4
high → max
- Всего 2 реальных уровня
lowиmedium→ автоматически поднимаются доhighxhigh→ автоматически поднимается доmax- Маппинг выполняется на стороне DeepSeek API
Kimi K2.6 (Moonshot AI)
on / off
- Бинарный режим — thinking либо включён, либо выключен
- Все уровни effort = thinking включён
- Нет градаций глубины reasoning
- Маппинг выполняется на стороне Moonshot API
Gemini 3.x (через antigravity-claude-proxy)
MINIMAL → LOW → MEDIUM → HIGH
- 4 уровня
- Нет
xhighиmax→ оба маппятся вHIGH - Pro-модели: по умолчанию
HIGH - Flash-модели: по умолчанию
MEDIUM - Маппинг выполняется на стороне antigravity-claude-proxy
Где выполняется маппинг
| Провайдер | Кто маппит | Файл/компонент |
|---|---|---|
| Anthropic | Не нужен | — |
| GPT-5.5 | effort-proxy (наш) | ~/.local/bin/claude-gpt-effort-proxy.py |
| DeepSeek V4 | DeepSeek API | На стороне сервера |
| Kimi K2.6 | Moonshot API | На стороне сервера |
| Gemini 3.x | antigravity-claude-proxy | npm пакет |
Persistence effort между сессиями
Каждый лаунчер (ai-claude, ai-deepseek, ai-kimi, ai-openrouter) запоминает свой
уровень effort отдельно. Логика гибридная:
low/medium/high/xhighживут нативно вsettings.jsonлаунчера./effortвнутри сессии работает как обычно, уровень сохраняется между сессиями.max— единственный, который Claude Code не сохраняет вsettings.json(он session-only). Поэтому его восстанавливаем черезCLAUDE_CODE_EFFORT_LEVEL. Текущий уровень (включаяmax) статусбар пишет в~/.cache/ai-setup/effort_<launcher>.
Важное следствие (только для max): когда восстановлена max-сессия, выставлена
CLAUDE_CODE_EFFORT_LEVEL=max, и /effort внутри неё не сменит уровень
(env-переменная — жёсткий override Claude Code). На остальных уровнях /effort свободен.
Как выйти из max (или форсить любой уровень): перезапусти лаунчер с AI_EFFORT:
AI_EFFORT=max ai-deepseek # включить и запомнить max
AI_EFFORT=high ai-deepseek # вернуться на high (выйти из max)
ai-deepseek # без флага - восстанавливает последний уровень
Дефолты при пустом кэше: xhigh для ai-claude, high для остальных.
Рекомендации
- Для повседневной работы:
highилиxhigh— работает одинаково хорошо у всех провайдеров maxeffort: имеет реальный эффект только у Anthropic и DeepSeek. Для GPT маппится вxhigh, для Gemini и Kimi — в их максимальный уровеньlow/medium: у DeepSeek и Kimi фактически не снижают reasoning — DeepSeek поднимет доhigh, Kimi просто включит thinking- Смена уровня: на
low..xhighобычным/effort; изmax— черезAI_EFFORT=<lvl> ai-<launcher>(в max-сессии/effortзалочен env-переменной, см. «Persistence effort»)