Commit Graph

19 Commits

Author SHA1 Message Date
65c15b97bc fix: сохранять новый ключ даже при исчерпании квоты (ret=429)
При вводе нового ключа ret=429 теперь обрабатывается так же, как для
сохранённого ключа: ключ сохраняется, затем предлагается продолжить всё равно.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 15:12:01 +07:00
20bbae0657 feat: добавить обработку HTTP 400 в _handle_api_response
Thinking-модели (DeepSeek, Kimi) возвращают 400 на max_tokens=1 при проверке ключа.
Новый case обрабатывает это: RESOURCE_EXHAUSTED → return 429, иначе → OK.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 15:11:30 +07:00
b3bff78977 fix: исправить заголовок авторизации для DeepSeek и Kimi
Anthropic SDK отправляет ключ в заголовке x-api-key, а не Authorization: Bearer.
Проверочные запросы теперь используют тот же заголовок, что и реальные вызовы.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 15:11:15 +07:00
7cd7feb3f0 docs: обновить правила для агентов в AGENTS.md
Правило 1 упрощено — убрана явная оговорка про git add.
Добавлено правило 3: изменения должны быть видны через plain git diff.
Добавлено правило 4: отвечать на русском языке.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 15:10:02 +07:00
2c20d4384f chore: add CLAUDE.md symlink pointing to AGENTS.md 2026-05-31 13:35:43 +07:00
c1bee1406e feat: make gemini 3.1 pro the default model for claude_gemini 2026-05-31 13:29:47 +07:00
78556245ef fix: effort-proxy mapping max→xhigh for GPT, add EFFORT_MAPPING.md
- Fix effort-proxy direction: GPT-5.5 natively supports xhigh but not max,
  so map max→xhigh (was incorrectly xhigh→max)
- Add EFFORT_MAPPING.md with full mapping table for all providers:
  Anthropic, GPT-5.5, DeepSeek V4, Kimi K2.6, Gemini 3.x
- Update proxy docstring and comments
2026-05-31 13:09:41 +07:00
a5f5c08e01 Rename CLAUDE.md -> AGENTS.md (universal agent instructions) 2026-05-31 12:59:35 +07:00
61c21fe296 Refactor architecture to use standalone scripts in ~/.local/bin/ instead of ~/.bashrc 2026-05-31 12:55:54 +07:00
4f25596867 Remove redundant claude_anthropic wrapper 2026-05-31 12:36:16 +07:00
46b7cfa798 Fix proxy handling and improve error reporting
- Add wrapper proxy for fixing effort level in claude-code-proxy
- Improve proxy cleanup trap to include wrapper
- Add credential backup and restore for ChatGPT to prevent Anthropic keys deletion on /logout
- Enhance error messages for 400 and other HTTP errors in ChatGPT and Gemini handlers
2026-05-31 12:29:51 +07:00
15c4727fb7 Исправить двойной логин Anthropic: убрать claude auth login, запускать claude напрямую
В Claude Code v2.x команда "claude auth login" запускает полный интерактивный TUI
(включая "Welcome to Claude Code" и "Select login method"), а затем функция дополнительно
вызывала claude "$@" — вторая сессия. Пользователь проходил выбор типа аккаунта дважды.

Исправление: ветка [L] теперь запускает claude "$@" напрямую с нужными моделями
и сразу делает return "$?", не допуская повторного вызова claude снизу функции.
Claude сам обрабатывает весь auth flow (браузер → OAuth → выбор аккаунта) за одно
взаимодействие.

Добавлен тест test_fix8_no_double_login (3 проверки), итого 24/24.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 01:10:23 +07:00
048f6b1770 Исправить 7 багов после code review: экспорт ключа, утечка прокси, re-валидация
- Fix 1: export ANTHROPIC_API_KEY при ручном вводе ключа в claude_anthropic ([K]-ветка);
  без export subprocess claude не видел ключ и падал с ошибкой авторизации
- Fix 2: trap RETURN в claude_gpt убивает прокси при любом ранем return 1,
  устраняя утечку фоновых процессов
- Fix 3: sleep 1 заменён на poll-цикл (10 попыток, curl exit 7 = connection refused);
  connection refused теперь не маскируется под «нет сети»
- Fix 4: после codex auth login в claude_gpt добавлена повторная проверка _claude_test_api;
  прежде claude запускался без подтверждения успешности reauth
- Fix 5: аналогичная re-валидация в claude_gemini после браузерной авторизации
  (ветки 401/403 и 429)
- Fix 6: prompt [c/Q] → [C/q] в 429-обработчике claude_anthropic — заглавная буква
  соответствует умолчанию (стандарт файла: CAPITAL = default)
- Fix 7: trap 'rm -rf "$TMP"' EXIT — одинарные кавычки + кавычки вокруг $TMP,
  предотвращают word-split при путях с пробелами

Добавлены тесты: tests/test_fixes.sh (21 тест, все проходят)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 00:53:53 +07:00
68c731b72e Добавить правило полной актуализации данных .bashrc при запуске сетап-скрипта
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 23:43:03 +07:00
8bb81398af Добавить поддержку Kimi K2.6 (Moonshot AI) и улучшить проверку API ключей
- Новая функция claude_kimi: Anthropic-совместимый API Moonshot AI
- Улучшена проверка ключей DeepSeek и Kimi: реальный вызов API
  с 1 токеном вместо GET /v1/models (бесплатный endpoint не ловил
  заблокированные аккаунты)
- Проверка различает: 200 (OK), 429 (заблокирован/нет средств),
  401/403 (невалидный ключ), сетевые ошибки
- При блокировке (429) выводится сообщение об ошибке и ссылка
  на пополнение баланса, ключ не сохраняется
- Обновлён README.md

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 23:38:43 +07:00
de5e94922b Обновить модели DeepSeek, добавить CLAUDE.md и тесты сигналов
- claude_setup.sh: обновлён эндпоинт DeepSeek API (/v1/models вместо /anthropic/v1/models),
  исправлена аутентификация (Authorization: Bearer вместо x-api-key),
  обновлены модели (deepseek-v4-pro, deepseek-v4-flash),
  убрано предложение сделать ,
  добавлен авто-перезапуск shell после выполнения скрипта
- CLAUDE.md: правила для агентов (запрет самостоятельных коммитов)
- test_interactive.py: тест обработки SIGINT в интерактивном bash (PTY)
- test_sigint.sh: тест сигналов для фоновых процессов

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 23:02:37 +07:00
9778b820c7 Update default Gemini models in setup script to fix invalid argument error 2026-05-30 22:02:38 +07:00
6f2c1b0b97 Add script and documentation 2026-05-30 21:47:06 +07:00
a27eb5d0f7 Initial commit 2026-05-30 21:46:39 +07:00