English | 简体中文 | 繁體中文 | 日本語 | 한국어 | हिन्दी | Tiếng Việt | Français | Русский | Español | Português | Norsk | Svenska | Deutsch | Nederlands | Italiano
Это руководство охватывает общие проблемы и решения для установки, настройки и запуска gac.
- Устранение неполадок gac
- Содержание
- 1. Проблемы с настройкой
- 2. Проблемы с конфигурацией
- 3. Ошибки поставщика/API
- 4. Проблемы с группировкой коммитов
- 5. Безопасность и обнаружение секретов
- 6. Проблемы с хуками pre-commit и lefthook
- 7. Общие проблемы рабочего процесса
- 8. Общая отладка
- Всё ещё сталкиваетесь с проблемами?
- Где получить дополнительную помощь
Проблема: Команда uvx не найдена
- Установите uv, следуя инструкциям на astral.sh/uv
- Убедитесь, что
uvустановлен и находится в вашем$PATH - Перезапустите терминал после установки
Проблема: gac не может найти ваш API-ключ или модель
- Если вы новичок, запустите
uvx gac initдля интерактивной настройки вашего поставщика, модели и API-ключей - Убедитесь, что ваш
.gac.envили переменные окружения установлены правильно - Запустите
uvx gac --log-level=debugчтобы увидеть, какие конфигурационные файлы загружаются и отладить проблемы с конфигурацией - Проверьте наличие опечаток в именах переменных (например,
GAC_GROQ_API_KEY)
Проблема: Изменения в пользовательском уровне $HOME/.gac.env не применяются
- Убедитесь, что вы редактируете правильный файл для вашей ОС:
- На macOS/Linux:
$HOME/.gac.env(обычно/Users/<your-username>/.gac.envили/home/<your-username>/.gac.env) - На Windows:
$HOME/.gac.env(обычноC:\Users\<your-username>\.gac.envили используйте%USERPROFILE%)
- На macOS/Linux:
- Запустите
uvx gac --log-level=debugчтобы подтвердить загрузку конфигурации пользовательского уровня - Перезапустите терминал или перезапустите вашу оболочку для перезагрузки переменных окружения
- Если всё ещё не работает, проверьте наличие опечаток и прав доступа к файлу
Проблема: Изменения в уровне проекта .gac.env не применяются
- Убедитесь, что ваш проект содержит файл
.gac.envв корневом каталоге (рядом с вашей папкой.git) - Запустите
uvx gac --log-level=debugчтобы подтвердить загрузку конфигурации уровня проекта - Если вы редактируете
.gac.env, перезапустите терминал или перезапустите вашу оболочку для перезагрузки переменных окружения - Если всё ещё не работает, проверьте наличие опечаток и прав доступа к файлу
Проблема: Невозможно установить или изменить язык для сообщений коммитов
- Запустите
uvx gac language(илиuvx gac lang) для интерактивного выбора из 25+ поддерживаемых языков - Используйте флаг
-l <language>для переопределения языка для одного коммита (например,uvx gac -l zh-CN,uvx gac -l Spanish) - Проверьте вашу конфигурацию с помощью
uvx gac config showчтобы увидеть текущую настройку языка - Настройка языка хранится в
GAC_LANGUAGEв вашем файле.gac.env
Проблема: Ошибки аутентификации или API
- Убедитесь, что вы установили правильные API-ключи для вашей выбранной модели (например,
ANTHROPIC_API_KEY,GROQ_API_KEY) - Дважды проверьте ваш API-ключ и статус аккаунта поставщика
- Для Ollama и LM Studio подтвердите, что URL API соответствует вашему локальному экземпляру. API-ключи нужны только если вы включили аутентификацию.
- Для истечения токена Claude Code: Выполните
uvx gac authдля быстрой повторной аутентификации и обновления вашего токена. Ваш браузер откроется автоматически для OAuth. - Для истечения токена ChatGPT OAuth: Выполните
uvx gac auth chatgpt loginдля повторной аутентификации. Ваш браузер откроется автоматически для OAuth. - Для других проблем OAuth с Claude Code, см. руководство по настройке Claude Code для полного устранения неполадок.
- Для других проблем OAuth с ChatGPT, см. руководство по настройке ChatGPT OAuth для полного устранения неполадок.
- Для истечения токена сеанса GitHub Copilot: Выполните
uvx gac auth copilot loginдля повторной аутентификации через Device Flow. Токены сеанса автоматически обновляются из кэшированного OAuth-токена. - Для других проблем OAuth с GitHub Copilot, см. руководство по настройке GitHub Copilot для полного устранения неполадок.
Проблема: Модель недоступна или не поддерживается
- Streamlake использует ID конечных точек вывода вместо имён моделей. Убедитесь, что вы предоставляете ID конечной точки из их консоли.
- Проверьте, что имя модели правильное и поддерживается вашим поставщиком
- Проверьте документацию поставщика для доступных моделей
Проблема: Флаг --group работает не так, как ожидается
- Флаг
--groupавтоматически анализирует индексированные изменения и может создавать несколько логических коммитов - LLM может решить, что один коммит имеет смысл для вашего набора индексированных изменений, даже с
--group - Это намеренное поведение - LLM группирует изменения на основе логических отношений, а не только количества
- Убедитесь, что у вас проиндексировано несколько несвязанных изменений (например, исправление ошибки + добавление функции) для лучших результатов
- Используйте
uvx gac --show-promptдля отладки того, что видит LLM
Проблема: Коммиты сгруппированы неправильно или не сгруппированы, когда ожидалось
- Группировка определяется анализом LLM ваших изменений
- LLM может создать один коммит, если определит, что изменения логически связаны
- Попробуйте добавлять подсказки с
-h "hint"для направления логики группировки (например,-h "отделить исправление ошибки от рефакторинга") - Просмотрите сгенерированные группы перед подтверждением
- Если группировка плохо работает для вашего случая использования, коммитьте изменения отдельно
Важно: Сканирование секретов выполняется перед любым вызовом AI API. Если секрет обнаружен, рабочий процесс немедленно прерывается и вызов API не происходит. Сканер использует сопоставление шаблонов на основе регулярных выражений (не LLM), поэтому сканирование быстрое и полностью локальное — ваш код никогда не отправляется в модель ИИ для обнаружения секретов.
Проблема: Ложное срабатывание: сканирование секретов обнаруживает не-секреты
- Сканировщик безопасности ищет шаблоны регулярных выражений, которые напоминают API-ключи, токены и пароли
- Если вы коммитите примеры кода, тестовые фикстуры или документацию с заглушками для ключей, вы можете видеть ложные срабатывания
- Используйте
--skip-secret-scanчтобы обойти сканирование, если вы уверены, что изменения безопасны - Рассмотрите исключение тестовых/примеров файлов из коммитов или используйте чётко отмеченные заглушки
Проблема: Сканирование секретов не обнаруживает реальные секреты
- Сканер использует сопоставление шаблонов на основе регулярных выражений (не LLM) и может не отловить все типы секретов
- Всегда просматривайте ваши индексированные изменения с помощью
git diff --stagedперед коммитом - Рассмотрите использование дополнительных инструментов безопасности, таких как
git-secretsилиgitleaksдля комплексной защиты - Сообщайте о пропущенных шаблонах как о проблемах для помощи в улучшении обнаружения
Проблема: Нужно отключить сканирование секретов постоянно
- Установите
GAC_SKIP_SECRET_SCAN=trueв вашем файле.gac.env - Используйте
uvx gac config set GAC_SKIP_SECRET_SCAN true - Примечание: Отключайте только если у вас есть другие меры безопасности на месте
Проблема: Хуки pre-commit или lefthook не работают и блокируют коммиты
- Используйте
uvx gac --no-verifyчтобы временно пропустить все хуки pre-commit и lefthook - Исправьте основные проблемы, вызывающие сбой хуков
- Рассмотрите настройку хуков pre-commit в
.pre-commit-config.yamlили хуков lefthook в.lefthook.ymlчтобы они были менее строгими для вашего рабочего процесса
Проблема: Хуки pre-commit или lefthook занимают слишком много времени или мешают рабочему процессу
- Используйте
uvx gac --no-verifyчтобы временно пропустить все хуки pre-commit и lefthook - Рассмотрите настройку хуков pre-commit в
.pre-commit-config.yamlили хуков lefthook в.lefthook.ymlдля оптимизации производительности - Просмотрите конфигурацию ваших хуков для оптимизации производительности
Проблема: Нет изменений для коммита / ничего не индексировано
- gac требует индексированных изменений для генерации сообщения коммита
- Используйте
git add <files>для индексации изменений или используйтеuvx gac -aдля автоматической индексации всех изменений - Проверьте
git statusчтобы увидеть, какие файлы были изменены - Используйте
uvx gac diffчтобы увидеть отфильтрованный вид ваших изменений
Проблема: Сообщение коммита не такое, как ожидалось
- Используйте интерактивную систему обратной связи: введите
rдля пересоздания,eдля редактирования (встроенная TUI, или внешний редактор черезGAC_EDITOR), или предоставьте обратную связь на естественном языке - Добавьте контекст с
-h "ваша подсказка"для направления LLM - Используйте
-oдля более простых однострочных сообщений или-vдля более подробных сообщений - Используйте
--show-promptчтобы увидеть, какую информацию получает LLM
Проблема: gac работает слишком медленно
- Используйте
uvx gac -yчтобы пропустить подсказку подтверждения - Используйте
uvx gac -qдля тихого режима с меньшим выводом - Рассмотрите использование более быстрых/дешёвых моделей для рутинных коммитов
- Используйте
uvx gac --no-verifyчтобы пропустить хуки, если они замедляют вас
Проблема: Невозможно редактировать или предоставлять обратную связь после генерации сообщения
- В подсказке введите
eчтобы войти в режим редактирования (встроенная TUI с горячими клавишами vi/emacs; установитеGAC_EDITORдля использования предпочитаемого редактора) - Введите
rдля регенерации без обратной связи - Или просто введите вашу обратную связь напрямую (например, "сделай короче", "сфокусируйся на исправлении ошибки")
- Нажмите Enter на пустом вводе чтобы увидеть подсказку снова
- Используйте
uvx gac initдля сброса или обновления вашей конфигурации в интерактивном режиме - Используйте
uvx gac --log-level=debugдля детального вывода отладки и логирования - Используйте
uvx gac --show-promptчтобы увидеть, какая подсказка отправляется в LLM - Используйте
uvx gac --helpчтобы увидеть все доступные флаги командной строки - Используйте
uvx gac config showчтобы увидеть все текущие значения конфигурации - Проверьте логи на наличие сообщений об ошибках и трассировок стека
- Проверьте основной README.md для функций, примеров и инструкций быстрого старта
- Поищите существующие проблемы или создайте новую в GitHub репозитории
- Включите детали о вашей ОС, версии Python, версии gac, поставщике и выводе ошибок
- Чем больше деталей вы предоставите, тем быстрее ваша проблема может быть решена
- Для функций и примеров использования смотрите основной README.md
- Для пользовательских системных подсказок смотрите CUSTOM_SYSTEM_PROMPTS.md
- Для руководства по содействию смотрите CONTRIBUTING.md
- Для информации о лицензии смотрите ../LICENSE