Что даёт
Любой шаг пайплайна может спросить модель: проверить текст, сгенерировать документацию, перевести changelog.
Эндпоинт: POST https://api.morsmorii.ru/v1/chat/completions
Какую модель брать
claude-haiku-4-5 для коротких текстов, claude-sonnet-5-5, когда нужно понимание кода
В CI важны скорость и цена: Haiku отвечает за секунды и стоит копейки; на анализ diff берите Sonnet.
Ориентир стоимости
сообщение коммита или описание MR на Haiku 4.5: ~3 000 токенов на входе — около 1 ₽
Конфигурация
Вместо sk-ВАШ_КЛЮЧ_MORSMORII подставьте ключ из раздела «API-ключи». Для инструмента лучше завести отдельный ключ с ограничением по моделям и бюджетом.
.gitlab-ci.yml
ask_model:
image: alpine:3.20
before_script:
- apk add --no-cache curl jq
script:
- |
jq -n --arg text "$(head -c 20000 README.md)" \
'{model: "claude-haiku-4-5", messages: [{role: "user", content: ("Проверь орфографию:\n\n" + $text)}]}' > req.json
curl -sS --fail https://api.morsmorii.ru/v1/chat/completions \
-H "Authorization: Bearer $MORSMORII_API_KEY" \
-H "Content-Type: application/json" \
-d @req.json \
| jq -r '.choices[0].message.content'Ошибки: код и текст в едином формате
{"error":{"message":"The model `claude-opus-5-5` is not enabled for this API key. Enabled models: claude-haiku-4-5. Create a key with this model at https://app.morsmorii.ru/developers","type":"invalid_request_error","param":"model","code":"model_not_allowed_for_key"}}Как ограничить ключ
- В разделе «API-ключи» создайте отдельный ключ для этого инструмента — так расход виден отдельно, а отзыв не заденет остальное.
- В поле «Модели» оставьте только рекомендованные выше: ключ ответит 403 на любую другую модель.
- Задайте месячный бюджет в рублях: после него — 429 key_budget_exceeded, списание останавливается.
- В команде каждый сотрудник заводит свои ключи: расход по людям видно в разделе «Команда» и в
GET /v1/usage.
Тонкости
- Используйте --fail, чтобы job падал на 4xx/5xx, и masked-переменную для ключа.
- Заголовок x-request-id в ответе — для обращения в поддержку.