- Новый лаунчер ai-opencode с routatic-proxy на 127.0.0.1:3456 - Автоустановка routatic-proxy под linux/darwin amd64/arm64 - Модели: deepseek-v4-pro (opus/sonnet), kimi-k2.6 (haiku) - AI_RESET_KEY, OPENCODE_GO_API_KEY env fallback, управление opencode_key - Документация: EFFORT_MAPPING.md, QUICK_START.md, README.md - Статус-проверка в setup.sh: ai-opencode, opencode_key, opencode.ai - Тесты: 4 новых теста для ai-opencode в test_fixes.sh Co-Authored-By: Claude <noreply@anthropic.com>
7.1 KiB
Effort Mapping - соответствие уровней для Claude Code лаунчеров
Как это работает
/effort и AI_EFFORT относятся к лаунчерам, которые запускают Claude Code:
ai-claude, ai-deepseek, ai-kimi, ai-glm, ai-openrouter, ai-opencode.
Нативные лаунчеры ai-gpt (OpenAI Codex) и ai-gemini (Antigravity agy) не используют
эту схему. У них свои настройки reasoning внутри соответствующего CLI.
Документ отражает текущую реализацию scripts/ai-setup.sh.
Таблица маппинга
Claude Code /effort |
Anthropic (ai-claude) |
DeepSeek V4 (ai-deepseek) |
Kimi K2.7/K2.6 (ai-kimi) |
GLM 5.2 (ai-glm) |
OpenRouter/GPT-5.5 (ai-openrouter) |
OpenCode Go (ai-opencode) |
|---|---|---|---|---|---|---|
low |
нативно low |
провайдер поднимает до high |
thinking on | на стороне сервера | без локального маппинга | без локального маппинга |
medium |
нативно medium |
провайдер поднимает до high |
thinking on | на стороне сервера | без локального маппинга | без локального маппинга |
high |
нативно high |
нативно high |
thinking on | на стороне сервера | без локального маппинга | без локального маппинга |
xhigh |
нативно xhigh |
провайдер поднимает до max |
thinking on | на стороне сервера | без локального маппинга | без локального маппинга |
max |
нативно max |
нативно max |
thinking on | на стороне сервера | без локального маппинга | без локального маппинга |
Для OpenRouter текущий лаунчер не делает локального преобразования effort и отправляет значение дальше через Claude Code/OpenRouter. Конкретная интерпретация зависит от выбранной модели и backend-а OpenRouter.
Для OpenCode Go лаунчер работает через routatic-proxy, который транслирует Anthropic-запросы
в OpenAI/Gemini-формат для OpenCode Go API. Локального маппинга effort нет — thinking budget
не транслируется напрямую в OpenCode Go бекенд. Прокси и бекенд-модели выполняют reasoning
на своей стороне независимо от уровня effort.
Нативные уровни каждого провайдера
Anthropic (Claude)
low -> medium -> high -> xhigh -> max
- 5 уровней, полное соответствие с Claude Code.
- Дефолт
ai-claude:xhigh. max- максимальный бюджет thinking для самых сложных задач.
DeepSeek V4
high -> max
- 2 реальных уровня.
lowиmediumфактически поднимаются доhigh.xhighфактически поднимается доmax.- Маппинг выполняется на стороне DeepSeek API.
- Дефолт
ai-deepseek:high.
Kimi K2.7/K2.6 (Moonshot AI)
on / off
- Бинарный режим: thinking либо включен, либо выключен.
- Все уровни Claude Code effort в текущем лаунчере означают thinking on.
- Градаций глубины reasoning нет.
- Дефолт
ai-kimi:high.
GLM 5.2 (Zhipu AI)
high / max
- Маппинг выполняется на стороне Zhipu AI API.
- Текущий
ai-glmне делает локального преобразования effort. - Дефолт
ai-glm:high.
OpenRouter / GPT-5.5
Текущий ai-openrouter работает через Claude Code с ANTHROPIC_BASE_URL=https://openrouter.ai/api
и не вызывает локальный effort proxy. Поэтому low/medium/high/xhigh/max не
преобразуются в shell-лаунчере.
OpenCode Go (routatic-proxy)
Текущий ai-opencode работает через Claude Code с локальным routatic-proxy
(ANTHROPIC_BASE_URL=http://127.0.0.1:3456), который транслирует запросы в OpenCode Go API.
Effort не преобразуется локально — thinking budget не имеет прямого эффекта на OpenCode Go бекенд.
Дефолт ai-opencode: high.
claude-gpt-effort-proxy.py все еще генерируется как совместимый helper для старого
claude-code-proxy backend-а. Если использовать его вручную, он маппит только
xhigh -> high, потому что claude-code-proxy принимает low, medium, high, max.
Где выполняется маппинг
| Провайдер | Кто маппит | Файл/компонент |
|---|---|---|
| Anthropic | Не нужен | - |
| DeepSeek V4 | DeepSeek API | На стороне сервера |
| Kimi K2.7/K2.6 | Moonshot API | На стороне сервера |
| GLM 5.2 | Zhipu AI API | На стороне сервера |
| OpenRouter/GPT-5.5 | Локального маппинга нет | ai-openrouter отправляет значение как есть |
| OpenCode Go | Локального маппинга нет | ai-opencode отправляет значение через routatic-proxy |
| Legacy GPT proxy | helper-маппинг xhigh -> high |
~/bin/claude-gpt-effort-proxy.py или ~/.local/bin/claude-gpt-effort-proxy.py |
Persistence effort между сессиями
Каждый Claude Code лаунчер (ai-claude, ai-deepseek, ai-kimi, ai-glm, ai-openrouter, ai-opencode)
запоминает свой уровень effort отдельно в settings.json лаунчера.
/effort внутри сессии работает для всех уровней. CLAUDE_CODE_EFFORT_LEVEL не используется.
Форсировать уровень при запуске:
AI_EFFORT=max ai-deepseek # включить max
AI_EFFORT=high ai-deepseek # включить high
ai-deepseek # без флага - использовать уровень из settings.json
Дефолты: xhigh для ai-claude, high для остальных Claude Code лаунчеров.
Рекомендации
- Для повседневной работы:
highилиxhigh. maxeffort имеет реальный эффект у Anthropic и DeepSeek; у Kimi и GLM это всё тот же thinking on / маппинг на стороне сервера.low/mediumу DeepSeek, Kimi и GLM фактически не снижают reasoning.