Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>GigaCommit - AI-Powered Git CommitsNew to Visual Studio Code? Get it now.
GigaCommit - AI-Powered Git Commits

GigaCommit - AI-Powered Git Commits

Igor Zarubin

| (0) | Free
VSCode extension for AI-powered commits using GigaChat and Conventional Commits
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

GigaCommit - ИИ генерация коммитов

GigaCommit — это расширение для Visual Studio Code, использующее GigaChat для генерации содержательных комментариев к коммитам в соответствии со стандартами convential commits.

GigaCommit demo

Возможности

✨ Комментарии с ИИ — GigaChat анализирует изменения в коде и генерирует описательные комментарии

🎯 Conventional Commits — все генерируемые сообщения следуют формату Conventional Commits для лучшей читаемости истории проекта

⚡ Интеграция — работает напрямую в интерфейсе Git в VSCode

🔐 Безопасность — ваш код остаётся приватным; только diff отправляется в API GigaChat

⚙️ Настройка — простая настройка учётных данных OAuth и конечных точек

Установка

  1. Откройте VSCode
  2. Перейдите во вкладку расширений (Ctrl+Shift+X)
  3. Найдите "GigaCommit"
  4. Нажмите Установить

Настройка

Перед использованием GigaCommit необходимо настроить учётные данные OAuth для GigaChat:

  1. Откройте настройки VSCode (Ctrl+,)
  2. Найдите "GigaCommit"
  3. Настройте следующие параметры:
Параметр Описание По умолчанию
gigacommit.authorizationKey Base64-закодированный ключ авторизации (ваш API-ключ для OAuth) обязательный
gigacommit.scope Охват OAuth — выбрать: PERS / B2B / CORP. Базовый URL API выбирается автоматически по значению GIGACHAT_API_PERS
gigacommit.model Модель GigaChat — выбрать: GigaChat-2 / GigaChat-2-Pro / GigaChat-2-Max GigaChat-2-Pro
gigacommit.commitLanguage Язык текста коммита — English / Russian. Тип Conventional Commit остаётся стандартным (feat, fix, docs и т.д.) English
gigacommit.caBundlePath Путь к PEM-файлу с пользовательскими сертификатами CA (необязательно) (пусто)

Получение ключа авторизации

  1. Зарегистрируйте приложение в портале разработчиков GigaChat.
  2. Перейдите в Настройки → Ключи API.
  3. Скопируйте свой Ключ авторизации.

Значение authorizationKey должно выглядеть как NjE5MDhkYWUt...

Какой scope использовать

Тип лицензии scope Выбирается автоматически
Персональный GIGACHAT_API_PERS https://gigachat.devices.sberbank.ru/api/v1
B2B GIGACHAT_API_B2B https://api.giga.chat/v1
Корпоративный GIGACHAT_API_CORP https://api.giga.chat/v1

Расширение автоматически выбирает базовый URL API чата:

  • GIGACHAT_API_PERS -> https://gigachat.devices.sberbank.ru/api/v1
  • GIGACHAT_API_B2B -> https://api.giga.chat/v1
  • GIGACHAT_API_CORP -> https://api.giga.chat/v1

По умолчанию: GIGACHAT_API_PERS

Доступные модели

Модель Цена Возможности
GigaChat-2 Стандартная Подходит для простых задач, самые быстрые ответы
GigaChat-2-Pro Умеренная Рекомендуется — оптимальное соотношение скорости и качества
GigaChat-2-Max Самая высокая Наиболее продвинутая, лучшая для сложного анализа

Рекомендуем использовать GigaChat-2-Pro по умолчанию: она обеспечивает наилучший баланс между качеством ответа и задержкой, без избыточности Max-версии.

{
  "gigacommit.authorizationKey": "ваш-base64-ключ-здесь",
  "gigacommit.scope": "GIGACHAT_API_PERS",
  "gigacommit.model": "GigaChat-2-Pro",
  "gigacommit.commitLanguage": "English"
}

Язык коммита

Настройка gigacommit.commitLanguage управляет языком текста коммита:

  • English — summary и bullet points будут сгенерированы на английском
  • Russian — summary и bullet points будут сгенерированы на русском в безличной или пассивной форме

При этом тип Conventional Commit остаётся стандартным:

  • feat: add commit language setting
  • fix: исправлена обработка OAuth токена

Использование

  1. Внесите изменения в код
  2. Добавьте нужные файлы в индекс (staging) через панель Git
  3. Откройте панель управления источниками
  4. Нажмите кнопку GigaCommit в заголовке панели управления
  5. Дождитесь генерации комментария GigaChat
  6. Сгенерированный текст вставляется в поле ввода комментария
  7. Проверьте его и сами нажмите кнопку Commit

Как это работает

  1. Расширение получает diff изменений в индексе (git diff --cached) через API расширения Git в VS Code
  2. Оно получает токен доступа OAuth с конечной точки авторизации Sber
  3. Отправляет только diff изменений (в формате unified diff) в API GigaChat с инструкцией сгенерировать сообщение коммита
  4. GigaChat анализирует изменения и возвращает подходящее сообщение
  5. Расширение вставляет сообщение в поле ввода панели управления
  6. Вы проверяете его и сами решаете, нажимать ли кнопку Commit

Бинарные файлы в индексе автоматически исключаются — Git помечает их как Binary files a/... and b/... differ, поэтому сырые бинарные данные никогда не отправляются в API. Если diff превышает ~20 КБ, вы получите предупреждение и сможете выбрать усечение.

Формат Conventional Commits

GigaCommit гарантирует, что все сообщения следуют спецификации Conventional Commits:

<type>[необязательная область]: <описание>

[необязательный текст]

[необязательные сноски]

Для небольших изменений GigaCommit генерирует только первую строку.

Для крупных изменений может быть добавлен краткий раздел с деталями, например:

feat: добавить генерацию сообщений коммитов SCM

- обновить workflow Source Control в README
- добавить интеграцию кнопки действия SCM
- вставить сгенерированное сообщение в поле ввода коммита

Распространённые типы:

  • feat: Новая функция
  • fix: Исправление ошибки
  • docs: Изменения только в документации
  • style: Изменения, не влияющие на смысл кода
  • refactor: Изменение кода, не исправляющее ошибку и не добавляющее функцию
  • perf: Изменение кода, улучшающее производительность
  • test: Добавление недостающих тестов или исправление существующих
  • build: Изменения, влияющие на систему сборки или внешние зависимости
  • ci: Изменения в конфигурационных файлах и скриптах CI
  • chore: Другие изменения, не затрагивающие src или test

Безопасность

GigaCommit уважает конфиденциальность вашего кода:

  • В API отправляется только diff изменений в индексе
  • Ваш полный код остаётся на вашем компьютере
  • Токен OAuth сохраняется в globalState VS Code (в зашифрованном виде) и используется повторно до 30 секунд до истечения срока действия
  • Если сервер возвращает 401, токен аннулируется и обновляется автоматически
  • Вся связь с GigaChat использует HTTPS

OAuth Flow

GigaCommit реализует официальный OAuth 2.0 flow от Sber GigaChat:

  1. Запрос токена — отправляет POST на конечную точку авторизации с:
    • Authorization: Basic <authorizationKey>
    • Заголовок RqUID: <uuid4>
    • Тело scope=<your_scope>
  2. Завершение чата — использует полученный access_token как токен Bearer

Токен кэшируется между сессиями VS Code и обновляется автоматически. Если API возвращает 401, токен аннулируется и повторно получается, с одной попыткой повтора.

Устранение неполадок

В: Я получаю ошибку об отсутствующем ключе авторизации О: Убедитесь, что вы настроили gigacommit.authorizationKey в настройках VSCode

В: Я получаю HTTP 401 с конечной точки токена О: Убедитесь, что ключ авторизации правильно закодирован в Base64 и активен в портале разработчиков GigaChat

В: ИИ слишком долго отвечает О: Проверьте подключение к интернету и статус API GigaChat

В: Сгенерированные сообщения не по теме О: Попробуйте добавлять в индекс меньше файлов одновременно для более сфокусированных коммитов

В: HTTP 403 Forbidden О: Убедитесь, что настройка scope соответствует вашему типу лицензии (CORP / PERS / B2B)

Детали ошибок API

Когда API GigaChat возвращает ошибку, расширение показывает описание от сервера — а не только код HTTP-статуса.

HTTP статус Что означает Распространённая причина
400 Некорректный запрос — неверные параметры Неверное тело запроса или неподдерживаемая модель
401 Неавторизованный доступ — недействительный/истёкший токен Токен отозван или несовпадающие учётные данные
403 Доступ запрещён — нет прав Неверный scope или недостаточно прав
404 Не найдено Неверное имя модели или несоответствие конечной точки выбранному scope
422 Необрабатываемая сущность — неверный формат Некорректный массив сообщений
429 Превышен лимит запросов Слишком много запросов — подождите и повторите
500 Внутренняя ошибка сервера Проблема на стороне GigaChat

Полный ответ сервера записывается в консоль разработчика VS Code для отладки, чувствительные данные автоматически скрываются.

Проблемы с TLS / сертификатами

API GigaChat использует HTTPS с сертификатами от Национального УЦ Минцифры. Если вы видите ошибки TLS handshake, такие как EPROTO, SSLV3_ALERT_HANDSHAKE_FAILURE или CERT_UNTRUSTED:

  1. Установите корневой сертификат — на большинстве платформ сертификат "Российский доверенный корневой CA" (НУЦ Минцифры) должен быть установлен. В macOS он обычно уже предустановлен. В Linux добавьте его в /usr/local/share/ca-certificates/ и выполните update-ca-certificates.

  2. Корпоративный прокси / MITM — если ваша компания использует прокси, перехватывающий HTTPS-трафик, возможно, потребуется доверять корневому сертификату прокси. Установите настройку GigaCommit: CA Bundle Path, указав путь к PEM-файлу с корневым сертификатом прокси.

  3. Пользовательский пакет CA — если в хранилище сертификатов вашей системы нет нужных CA, вы можете предоставить пользовательский пакет:

    • Установите gigacommit.caBundlePath как полный путь к .pem файлу
    • Этот файл должен содержать цепочку сертификатов (корневой CA + промежуточные)
    • Пример: /path/to/nuts-minifry.pem

    Не отключайте проверку TLS (rejectUnauthorized: false). Расширение никогда не отключает TLS по умолчанию и настоятельно этого не рекомендует.

  4. Истёкший сертификат — если сертификат сервера истёк, проверьте портал разработчиков GigaChat на наличие уведомлений о сервисе.

Участие

Приветствуются любые вклады! Пожалуйста, не стесняйтесь создавать issues, предложения по функционалу или pull requests.

Лицензия

MIT License

Благодарности

Создано на основе GigaChat AI и VSCode Extension APIs.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft