---
title: Скрипты и автоматизация с помощью CLI
url: https://platform.claude.com/docs/ru/cli-sdks-libraries/cli/scripting
description: Храните ресурсы API в виде файлов под контролем версий с помощью ant apply, объединяйте команды ant CLI в цепочки в скриптах, работайте с ресурсами из Claude Code и аутентифицируйте вызовы curl с помощью учётных данных CLI.
---

На этой странице описаны ориентированные на задачи рабочие процессы, построенные на основе CLI `ant`. Сведения о базовых флагах и параметрах вывода см. в разделе [Использование CLI](https://platform.claude.com/docs/ru/cli-sdks-libraries/cli/using).

## Контроль версий ресурсов API

Чтобы хранить агентов, окружения и другие ресурсы Claude Managed Agents в виде файлов в вашем репозитории, см. раздел [Управление ресурсами как кодом с помощью ant apply](https://platform.claude.com/docs/ru/cli-sdks-libraries/cli/apply).

### Запуск применённого агента из командной оболочки

Когда агент и окружение созданы, вы можете управлять «session» (сессией) из «shell» (командной оболочки):

<Steps>
  <Step title="Запустите сессию">
    Передайте идентификаторы агента и окружения команде создания сессии. После `ant apply` возьмите их из `claude-lock.json`: каждая запись в `resources` содержит `id`, а для проекта из раздела [Управление ресурсами как кодом с помощью ant apply](https://platform.claude.com/docs/ru/cli-sdks-libraries/cli/apply) это записи `./agents/summarizer.md` и `./environments/cloud.yaml`.

    ```bash
    ant beta:sessions create \
      --agent agent_011CYm1BLqPXpQRk5khsSXrs \
      --environment-id env_01595EKxaaTTGwwY3kyXdtbs \
      --title "Summarization task"
    ```

    ```json Output
    {
      "id": "session_01JZCh78XvmxJjiXVy3oSi7K",
      "status": "running"
      /* ... */
    }
    ```
  </Step>

  <Step title="Отправьте сообщение пользователя">
    Скопируйте `id` сессии из предыдущего вывода в `--session-id`:

    ```bash
    ant beta:sessions:events send \
      --session-id session_01JZCh78XvmxJjiXVy3oSi7K \
      --event '{type: user.message, content: [{type: text, text: "Summarize the benefits of type safety in one sentence."}]}'
    ```
  </Step>

  <Step title="Прочитайте диалог">
    Когда агент ответит, выведите список событий. `--transform` применяется к каждому событию в списке, поэтому эта команда выводит текст каждого сообщения по порядку. `--format auto` отменяет интерактивный обозреватель, который команды вывода списков по умолчанию открывают в терминале:

    ```bash
    ant beta:sessions:events list \
      --session-id session_01JZCh78XvmxJjiXVy3oSi7K \
      --transform 'content.0.text' \
      --raw-output \
      --format auto
    ```

    ```text Output wrap
    Summarize the benefits of type safety in one sentence.
    Type safety catches errors at compile time rather than runtime, reducing bugs, improving code clarity, enabling better tooling support, and making codebases easier to maintain and refactor with confidence.
    ```

    <Tip>
      Чтобы наблюдать за сессией во время её выполнения, используйте `ant beta:sessions:events stream --session-id session_01JZCh78XvmxJjiXVy3oSi7K --format jsonl` — эта команда записывает каждое событие в stdout по мере его поступления. Без `--format` в терминале вместо этого откроется интерактивный обозреватель.
    </Tip>
  </Step>
</Steps>

## Шаблоны написания скриптов

CLI спроектирован так, чтобы сочетаться со стандартными инструментами командной оболочки.

### Передача вывода списка во вторую команду

`--transform id --raw-output` для конечной точки списка выводит по одному «голому» идентификатору на строку, поэтому стандартные инструменты, такие как `head` и `xargs`, применяются напрямую. Захватите первый результат, а затем передайте его следующей команде:

```bash
FIRST_AGENT=$(ant beta:agents list --transform id --raw-output | head -1)

ant beta:agents:versions list \
  --agent-id "$FIRST_AGENT" \
  --transform "{version,created_at}" --format jsonl
```

### Анализ ошибок

Флаги `--transform-error` и `--format-error` применяют ту же фильтрацию к ответам с ошибками. `--raw-output` не применяется к ошибкам, поэтому используйте `--format-error yaml` для получения скалярного значения без кавычек. Извлеките только сообщение об ошибке:

```bash
ant beta:agents retrieve --agent-id bogus \
  --transform-error error.message --format-error yaml 2>&1
```

```text Output wrap
GET "https://api.anthropic.com/v1/agents/bogus?beta=true": 404 Not Found
Agent not found.
```

## Использование CLI из Claude Code

[Claude Code](https://code.claude.com/docs/ru/overview) может использовать CLI `ant` без дополнительной настройки. Если CLI установлен и аутентифицирован, вы можете попросить Claude Code работать с вашими ресурсами API напрямую. Например:

* «Выведи список моих недавних сессий агентов и кратко опиши, какие из них завершились ошибкой.»
* «Загрузи каждый PDF из `./reports` в Files API и выведи полученные идентификаторы.»
* «Получи события для сессии `session_01...` и скажи мне, где агент застрял.»

Claude Code вызывает `ant` через оболочку, разбирает структурированный вывод и анализирует результаты (никакого специального интеграционного кода не требуется).

## Аутентификация запросов curl с помощью учётных данных CLI

Скрипты, которые обращаются к API с помощью `curl` или другого HTTP-клиента, могут использовать учётные данные, сохранённые командой [`ant auth login`](https://platform.claude.com/docs/ru/cli-sdks-libraries/cli/quickstart#authentication), вместо статического ключа API (API key). Токен доступа OAuth передаётся в заголовке `Authorization` как bearer-токен; заголовок `x-api-key` предназначен только для статических ключей API.

`ant auth print-credentials --access-token` выводит токен доступа активного профиля, предварительно обновляя его, если срок его действия истёк или близок к истечению:

```bash cURL
curl https://api.anthropic.com/v1/messages \
  -H "Authorization: Bearer $(ant auth print-credentials --access-token)" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "hi"}]
  }'
```

<Note>
  Не задавайте переменные `ANTHROPIC_API_KEY` и `ANTHROPIC_AUTH_TOKEN` при работе с входом через CLI. Любая из этих переменных имеет приоритет над входом для команд `ant` (см. [Приоритет учётных данных](https://platform.claude.com/docs/ru/manage-claude/wif-reference#credential-precedence)) и может незаметно направить их в другую организацию или рабочее пространство.
</Note>

Выполните [`ant auth status`](https://platform.claude.com/docs/ru/cli-sdks-libraries/cli/authentication#check-authentication-status), чтобы проверить, в какую организацию и рабочее пространство вы вошли; команда предупреждает, когда переменная окружения переопределяет ваш вход.
