From 6c2844ce92ba4a03566e0c369cbc2e3b15722b92 Mon Sep 17 00:00:00 2001 From: vitaly Date: Fri, 12 Jun 2026 21:42:28 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6=D0=BA?= =?UTF-8?q?=D1=83=20Kimi=20K2.7=20Code=20=D0=B2=20ai-kimi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Opus/Sonnet: kimi-k2.7 (флагманский программист) - Haiku/Subagent: kimi-k2.6 (быстрый универсал) - Проверка ключа тестирует kimi-k2.7 - Обновлён EFFORT_MAPPING.md и тесты Co-Authored-By: Claude --- EFFORT_MAPPING.md | 8 ++++---- scripts/ai-setup.sh | 26 +++++++++++++------------- tests/test_fixes.sh | 7 ++++--- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/EFFORT_MAPPING.md b/EFFORT_MAPPING.md index 26bfc19..2018073 100644 --- a/EFFORT_MAPPING.md +++ b/EFFORT_MAPPING.md @@ -9,9 +9,9 @@ ## Таблица маппинга -> Актуально на 30 мая 2026 г. +> Актуально на 12 июня 2026 г. -| Claude Code
`/effort` | Anthropic
(Claude) | GPT-5.5
(ChatGPT) | DeepSeek V4 | Kimi K2.6
(Moonshot) | Gemini 3.x | +| Claude Code
`/effort` | Anthropic
(Claude) | GPT-5.5
(ChatGPT) | DeepSeek V4 | Kimi K2.7
(Moonshot) | Gemini 3.x | |:---:|:---:|:---:|:---:|:---:|:---:| | `low` | ✅ `low` | ✅ `low` | ⬆ `high` | 🔛 thinking on | ✅ `LOW` | | `medium` | ✅ `medium` | ✅ `medium` | ⬆ `high` | 🔛 thinking on | ✅ `MEDIUM` | @@ -54,7 +54,7 @@ high → max - `xhigh` → автоматически поднимается до `max` - Маппинг выполняется на стороне DeepSeek API -### Kimi K2.6 (Moonshot AI) +### Kimi K2.7 (Moonshot AI) ``` on / off ``` @@ -80,7 +80,7 @@ MINIMAL → LOW → MEDIUM → HIGH | Anthropic | Не нужен | — | | GPT-5.5 | effort-proxy (наш) | `~/.local/bin/claude-gpt-effort-proxy.py` | | DeepSeek V4 | DeepSeek API | На стороне сервера | -| Kimi K2.6 | Moonshot API | На стороне сервера | +| Kimi K2.7 | Moonshot API | На стороне сервера | | Gemini 3.x | antigravity-claude-proxy | npm пакет | ## Persistence effort между сессиями diff --git a/scripts/ai-setup.sh b/scripts/ai-setup.sh index 02ab9ee..d009ec6 100755 --- a/scripts/ai-setup.sh +++ b/scripts/ai-setup.sh @@ -1408,7 +1408,7 @@ api_key="" if [ -n "$api_key" ]; then echo -n "Проверка сохранённого Kimi ключа... " - _claude_test_api "https://api.kimi.com/coding/v1/messages" "x-api-key: $api_key" "kimi-k2.6" + _claude_test_api "https://api.kimi.com/coding/v1/messages" "x-api-key: $api_key" "kimi-k2.7" _handle_api_response "Kimi" "$_CLAUDE_TEST_CODE" "$_CLAUDE_TEST_BODY" "Пополните баланс: https://www.kimi.com/code" ret=$_API_RET if [ $ret -eq 401 ]; then @@ -1428,7 +1428,7 @@ if [ -z "$api_key" ]; then [ -z "$api_key" ] && { echo "Выход."; exit 1; } echo -n "Проверяю ключ и баланс... " - _claude_test_api "https://api.kimi.com/coding/v1/messages" "x-api-key: $api_key" "kimi-k2.6" + _claude_test_api "https://api.kimi.com/coding/v1/messages" "x-api-key: $api_key" "kimi-k2.7" _handle_api_response "Kimi" "$_CLAUDE_TEST_CODE" "$_CLAUDE_TEST_BODY" "Пополните баланс: https://www.kimi.com/code" ret=$_API_RET if [ $ret -eq 0 ] || [ $ret -eq 429 ]; then @@ -1457,23 +1457,23 @@ trap 'rm -f "$_PROMPT_FILE"' EXIT INT TERM _build_ai_sys_prompt > "$_PROMPT_FILE" export AI_LAUNCHER=kimi export CLAUDE_CONFIG_DIR="$HOME/.config/ai-setup/cfg/kimi" -# Пикер: Kimi K2.6 - единственная модель провайдера. availableModels НЕ задаём +# Пикер: Opus/Sonnet = Kimi K2.7 Code, Haiku = Kimi K2.6. availableModels НЕ задаём # (он схлопывает пикер в Default). Claude Code навязывает 3 слота opus/sonnet/haiku; -# незаданный показал бы чужой Claude, поэтому все три мапим на Kimi K2.6 -# (в пикере 3 одинаковых пункта, но все - Kimi). DISABLE_1M убирает [1M] дубли. +# незаданный показал бы чужой Claude, поэтому opus+sonnet = K2.7, haiku = K2.6 +# DISABLE_1M убирает [1M] дубли из пикера. _setup_isolated_config kimi opus high '' _apply_effort kimi high ANTHROPIC_BASE_URL=https://api.kimi.com/coding \ ANTHROPIC_AUTH_TOKEN="$api_key" \ -ANTHROPIC_DEFAULT_OPUS_MODEL=kimi-k2.6 \ -ANTHROPIC_DEFAULT_OPUS_MODEL_NAME="Kimi K2.6" \ -ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION="Kimi K2.6 (Moonshot AI)" \ -ANTHROPIC_DEFAULT_SONNET_MODEL=kimi-k2.6 \ -ANTHROPIC_DEFAULT_SONNET_MODEL_NAME="Kimi K2.6" \ -ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION="Kimi K2.6 (Moonshot AI)" \ +ANTHROPIC_DEFAULT_OPUS_MODEL=kimi-k2.7 \ +ANTHROPIC_DEFAULT_OPUS_MODEL_NAME="Kimi K2.7 Code" \ +ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION="Kimi K2.7 Code — флагманский программист (Moonshot AI)" \ +ANTHROPIC_DEFAULT_SONNET_MODEL=kimi-k2.7 \ +ANTHROPIC_DEFAULT_SONNET_MODEL_NAME="Kimi K2.7 Code" \ +ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION="Kimi K2.7 Code — флагманский программист (Moonshot AI)" \ ANTHROPIC_DEFAULT_HAIKU_MODEL=kimi-k2.6 \ ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME="Kimi K2.6" \ -ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION="Kimi K2.6 (Moonshot AI)" \ +ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION="Kimi K2.6 — быстрый универсал (Moonshot AI)" \ CLAUDE_CODE_SUBAGENT_MODEL=kimi-k2.6 \ CLAUDE_CODE_DISABLE_1M_CONTEXT=1 \ CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \ @@ -1662,7 +1662,7 @@ echo "" echo " На базе Claude Code:" echo -e " ${CYAN}ai-claude${NC} - Оригинальный Claude Code (Anthropic)" echo -e " ${CYAN}ai-deepseek${NC} - DeepSeek (через Claude Code, API ключ сохраняется)" -echo -e " ${CYAN}ai-kimi${NC} - Kimi K2.6 (через Claude Code, API ключ сохраняется)" +echo -e " ${CYAN}ai-kimi${NC} - Kimi K2.7 Code (через Claude Code, API ключ сохраняется)" echo -e " ${CYAN}ai-openrouter${NC} - OpenRouter (через Claude Code: GPT-5.5, Opus 4.8, Sonnet 4.6)" echo "" echo " Нативные CLI:" diff --git a/tests/test_fixes.sh b/tests/test_fixes.sh index b349747..4ecda4e 100755 --- a/tests/test_fixes.sh +++ b/tests/test_fixes.sh @@ -48,11 +48,12 @@ test_kimi_claude_launcher() { # ── ai-kimi: uses official Kimi API ────────────────────────────────────── test_kimi_official_api() { if echo "$KIMI_SECTION" | grep -q 'api.kimi.com/coding' \ - && echo "$KIMI_SECTION" | grep -q 'ANTHROPIC_DEFAULT_OPUS_MODEL=kimi-k2.6' \ + && echo "$KIMI_SECTION" | grep -q 'ANTHROPIC_DEFAULT_OPUS_MODEL=kimi-k2.7' \ + && echo "$KIMI_SECTION" | grep -q 'ANTHROPIC_DEFAULT_HAIKU_MODEL=kimi-k2.6' \ && ! echo "$KIMI_SECTION" | grep -q 'artemox'; then - ok "ai-kimi: uses official Kimi API and model" + ok "ai-kimi: uses official Kimi API (K2.7 opus/sonnet, K2.6 haiku)" else - fail "ai-kimi: must use official Kimi API (api.kimi.com/coding) and model kimi-k2.6" + fail "ai-kimi: must use official Kimi API (api.kimi.com/coding) with K2.7 opus/sonnet, K2.6 haiku" fi }