AI-сообщения коммитов
Генерация сообщений коммитов из staged-diff и настройка AI-провайдера
GitBor может написать Subject коммита по поставленным в индекс изменениям. Тот же провайдер и настройки питают все остальные AI-помощники.
Сгенерировать сообщение коммита
- Поставьте в индекс хотя бы одно изменение.
- Нажмите кнопку AI рядом с полем Subject.
- После генерации GitBor вставит в поле очищенный финальный текст. Отредактируйте его перед Commit.
- Нажмите ту же кнопку ещё раз, чтобы остановить генерацию.
Кнопка неактивна, когда нечего отправлять (нет staged-изменений) или AI выключен в настройках.
Настройки AI
Откройте Repository → AI Settings… или нажмите маленькую шестерёнку рядом с кнопкой AI при наведении. В диалоге шесть секций слева.
Connection
Выберите модель, с которой общаетесь. GitBor говорит с AI-провайдерами через OpenAI-совместимый API. Пресеты сгруппированы:
| Группа | Примеры | Примечания |
|---|---|---|
| Local | Ollama (по умолчанию), LM Studio, llama.cpp | Работает на вашей машине — ничего её не покидает. |
| Corporate | Custom OpenAI-совместимый шлюз, Qwen Corporate (vLLM / DashScope) | Внутренние эндпоинты и изолированные сети. |
| Available without VPN | DeepSeek, Qwen API | Доступны без VPN. |
| Russian | YandexGPT (Yandex Cloud) | |
| Foreign | OpenAI, Anthropic, Groq | Заблокированы по умолчанию — см. Privacy. |
Для каждого пресета заполняется:
- Base URL — обычно заканчивается на
/v1. - Model — идентификатор модели, который принимает ваш сервер.
- API Key — оставьте пустым для локальных серверов. Хранится зашифрованным на этом устройстве (Windows DPAPI, macOS Keychain, Linux libsecret), никогда не в открытом файле.
- Test — короткая проверка, что ключ и URL работают.
Если на рабочей станции запрещены AI-агенты, внешние AI-сервисы или хранение AI-ключей, используйте сборку GitBor No AI. В ней AI-интерфейс скрыт, провайдеры отключены, ключи не запрашиваются и AI-запросы не выполняются.
Prompts
Текст инструкций, отправляемый модели для каждой функции. По умолчанию — на английском намеренно: LLM (включая локальный Qwen и YandexGPT) лучше рассуждают на английском; ответ переводится отдельно через настройку языка ответа. У каждого промпта есть Reset to default. Плейсхолдеры вроде {subject}, {body}, {diff} подставляются перед отправкой.
Features
Переключатели вкл/выкл по каждой функции, плюс необязательный override модели на функцию. Доверяете основной модели всё, кроме, скажем, помощника по конфликтам? Впишите более мощный id модели в override этой функции. Выключенная функция полностью прячет свою кнопку в интерфейсе.
Behavior
- AI response language — Auto (язык интерфейса) / English / Russian. Управляет языком, на который переводится ответ; применяется ко всем функциям, включая AI-имена stash.
- Gateway compatibility — для капризных корпоративных шлюзов: отправлять system-промпт как user-сообщение (некоторые шлюзы выбрасывают роль system), отключить режим «thinking» у Qwen и вырезать
<think>…</think>из ответов.
Privacy
Два переключателя:
- AI enabled — глобальный рубильник. Когда выключен, все кнопки AI неактивны независимо от переключателей функций.
- Allow sending code to foreign providers — выключен по умолчанию (политика импортозамещения). Local, Corporate, без-VPN и российские провайдеры разрешены всегда; зарубежные (OpenAI, Anthropic, Groq) остаются заблокированными, пока вы это не включите. Клик по AI-кнопке на заблокированном провайдере покажет тултип с объяснением и ссылкой сюда.
Отдельного канала телеметрии в обход этого нет — каждый AI-запрос идёт провайдеру, которого вы выбрали.
Debug
Показывает последний запрос/ответ и короткий лог ошибок, опционально пишет ai-debug.log. Полезно, когда кастомный эндпоинт ведёт себя странно. Ничего не выгружается — это лишь зеркало того, что видел сам GitBor.
Где лежит конфигурация
Хранится рядом с остальными настройками GitBor, секреты — в системном хранилище ключей:
- Windows:
%APPDATA%\GitBor\ai-config.json(DPAPI) - macOS:
~/Library/Application Support/GitBor/ai-config.json(Keychain) - Linux:
~/.config/GitBor/ai-config.json(libsecret)
Старые настройки обновляются автоматически при первом запуске — действий не требуется.