feat: добавить поддержку Kimi K2.7 Code в ai-kimi
- Opus/Sonnet: kimi-k2.7 (флагманский программист) - Haiku/Subagent: kimi-k2.6 (быстрый универсал) - Проверка ключа тестирует kimi-k2.7 - Обновлён EFFORT_MAPPING.md и тесты Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -9,9 +9,9 @@
|
||||
|
||||
## Таблица маппинга
|
||||
|
||||
> Актуально на 30 мая 2026 г.
|
||||
> Актуально на 12 июня 2026 г.
|
||||
|
||||
| Claude Code<br>`/effort` | Anthropic<br>(Claude) | GPT-5.5<br>(ChatGPT) | DeepSeek V4 | Kimi K2.6<br>(Moonshot) | Gemini 3.x |
|
||||
| Claude Code<br>`/effort` | Anthropic<br>(Claude) | GPT-5.5<br>(ChatGPT) | DeepSeek V4 | Kimi K2.7<br>(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 между сессиями
|
||||
|
||||
@@ -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:"
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user