Интеграции

Grok Build

CLI-агент xAI (`grok`): TUI, headless-скрипты, ACP. По умолчанию ходит на api.x.ai. К LLM Mart подключается как набор кастомных моделей в `~/.grok/config.toml`:

Что нужно

  • Grok Build — установка: curl -fsSL https://x.ai/cli/install.sh | bash
  • Ключ sk-… в переменной окружения (не в git)
  • Slug из каталога — столько, сколько профилей будете переключать

Протокол

Три бэкенда в поле api_backend (если не указать — chat_completions):

api_backendКуда уходит запросBase URL
chat_completionsPOST /v1/chat/completionshttps://www.llmmart.ru/api/v1
responsesPOST /v1/responseshttps://www.llmmart.ru/api/v1 — только модели с responses
messagesPOST /v1/messageshttps://www.llmmart.ru/api/v1 (Grok сам дописывает /messages)

Ключ: Authorization: Bearer через env_key. Не кладите api_key в файл, если конфиг попадает в репозиторий.

Для messages в примере xAI ключ кладут в extra_headers как x-api-key. LLM Mart принимает и Bearer, и x-api-key.

Конфиг

Файл ~/.grok/config.toml (Windows: %USERPROFILE%\.grok\config.toml). Несколько блоков [model.<id>] — по одному на каждую модель, которую хотите видеть в /model.

[models]
default = "llmmart-sonnet"

[model.llmmart-mini]
model = "gpt-4o-mini"
base_url = "https://www.llmmart.ru/api/v1"
name = "GPT-4o mini (LLM Mart)"
env_key = "LLM_MART_API_KEY"
api_backend = "chat_completions"
context_window = 128000

[model.llmmart-sonnet]
model = "anthropic/claude-sonnet-5"
base_url = "https://www.llmmart.ru/api/v1"
name = "Claude Sonnet 5 (LLM Mart)"
env_key = "LLM_MART_API_KEY"
api_backend = "chat_completions"
context_window = 200000

[model.llmmart-opus]
model = "anthropic/claude-opus-4.6"
base_url = "https://www.llmmart.ru/api/v1"
name = "Claude Opus 4.6 (LLM Mart)"
env_key = "LLM_MART_API_KEY"
api_backend = "chat_completions"
context_window = 200000

model — slug, который уйдёт в API. Имя секции (llmmart-sonnet) — то, что видно в пикере и в -m.

Для native Messages (thinking / prompt cache на native Anthropic) — отдельный профиль:

[model.llmmart-sonnet-messages]
model = "anthropic/claude-sonnet-5"
base_url = "https://www.llmmart.ru/api/v1"
name = "Claude Sonnet 5 (Messages)"
env_key = "LLM_MART_API_KEY"
api_backend = "messages"
context_window = 200000

Для моделей только с Responses:

[model.llmmart-responses]
model = "gpt-4o-mini"
base_url = "https://www.llmmart.ru/api/v1"
name = "GPT-4o mini (Responses)"
env_key = "LLM_MART_API_KEY"
api_backend = "responses"
export LLM_MART_API_KEY="sk-…"

Не задавайте XAI_API_KEY в той же сессии, если не хотите, чтобы Grok ушёл на api.x.ai при промахе в env_key.

Подтянуть список с GET /v1/models (опционально):

[endpoints]
models_base_url = "https://www.llmmart.ru/api/v1"

Либо GROK_MODELS_BASE_URL=https://www.llmmart.ru/api/v1. Тогда Grok берёт ключ из Authorization: Bearer и не требует grok login.

Запуск и проверка

  1. grok inspect — в источниках конфига должен быть ~/.grok/config.toml и ваши [model.*].
  2. grok models — в списке профили llmmart-*.
  3. Headless: grok -p "Hello" -m llmmart-sonnet.
  4. В TUI: /model llmmart-sonnet или Ctrl+M.

Типичные ошибки

СимптомЧто проверить
Запросы на api.x.aiзадан [model.*] с base_url LLM Mart; не сработал fallback XAI_API_KEY / grok login
401export LLM_MART_API_KEY, имя совпадает с env_key
404 /v1/v1в base_url ровно один /v1
404 model_not_foundmodel = — slug каталога, не имя секции
Responses не открываетсяу модели есть responses; иначе оставьте chat_completions
Авто-compaction слишком ранозадайте context_window явно: для новой модели Grok по умолчанию ставит 200000

Проверено: 2026-09-01 по Grok Build, Settings и справочнику TOML ([model.<id>], api_backend).

Что дальше