Claude Platform Docs

Скрипты и автоматизация с помощью CLI

Храните ресурсы API в системе контроля версий в виде YAML, объединяйте команды ant CLI в скриптах, работайте с ресурсами из Claude Code и аутентифицируйте вызовы curl с помощью учётных данных CLI.

На этой странице описаны ориентированные на задачи рабочие процессы, построенные на основе CLI ant. Сведения о базовых флагах и параметрах вывода см. в разделе Использование CLI.

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

Вы можете использовать CLI для хранения ресурсов API, таких как навыки, агенты, окружения или развёртывания, в системе контроля версий в виде YAML-файлов в вашем репозитории и поддерживать их синхронизацию с Claude API.

  1. Определите вашего агента

    Запишите определение агента в файл summarizer.agent.yaml:

    summarizer.agent.yaml
    name: Summarizer
    model: claude-opus-5
    system: |
      You are a helpful assistant that writes concise summaries.
    tools:
      - type: agent_toolset_20260401
  2. Создайте агента

    ant beta:agents create < summarizer.agent.yaml
    Output
    {
      "id": "agent_011CYm1BLqPXpQRk5khsSXrs",
      "version": 1,
      "name": "Summarizer",
      "model": "claude-opus-5"
      /* ... */
    }

    Запомните id из ответа. Вы передадите его команде создания сессии на одном из следующих шагов.

  3. Определите окружение

    Сессия выполняется в окружении (environment), которое определяет песочницу, в которой она исполняется. Запишите определение окружения в файл summarizer.environment.yaml:

    summarizer.environment.yaml
    name: summarizer-env
    config:
      type: cloud
      networking:
        type: unrestricted
  4. Создайте окружение

    ant beta:environments create < summarizer.environment.yaml
    Output
    {
      "id": "env_01595EKxaaTTGwwY3kyXdtbs",
      "name": "summarizer-env"
      /* ... */
    }

    Запомните id из ответа. Вы передадите его команде создания сессии на одном из следующих шагов.

  5. Запустите сессию

    Вставьте id агента и id окружения из предыдущих выводов в команду создания сессии:

    ant beta:sessions create \
      --agent agent_011CYm1BLqPXpQRk5khsSXrs \
      --environment-id env_01595EKxaaTTGwwY3kyXdtbs \
      --title "Summarization task"
    Output
    {
      "id": "session_01JZCh78XvmxJjiXVy3oSi7K",
      "status": "running"
      /* ... */
    }
  6. Отправьте сообщение пользователя

    Скопируйте id сессии из предыдущего вывода в --session-id:

    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."}]}'
  7. Прочитайте диалог

    --transform применяется к каждому событию в списке, поэтому эта команда выводит текст каждого сообщения по порядку. --format auto переопределяет интерактивный обозреватель, который команды списков по умолчанию открывают в терминале:

    ant beta:sessions:events list \
      --session-id session_01JZCh78XvmxJjiXVy3oSi7K \
      --transform 'content.0.text' --format auto --raw-output
    Output
    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.

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

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

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

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

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 для получения скалярного значения без кавычек. Извлеките только сообщение об ошибке:

ant beta:agents retrieve --agent-id bogus \
  --transform-error error.message --format-error yaml 2>&1
Output
GET "https://api.anthropic.com/v1/agents/bogus?beta=true": 404 Not Found
Agent not found.

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

Claude Code может использовать CLI ant без дополнительной настройки. Если CLI установлен и аутентифицирован, вы можете попросить Claude Code работать с вашими ресурсами API напрямую. Например:

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

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

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

Скрипты, которые обращаются к API с помощью curl или другого HTTP-клиента, могут использовать учётные данные, сохранённые командой ant auth login, вместо статического ключа API (API key). Токен доступа OAuth передаётся в заголовке Authorization как bearer-токен; заголовок x-api-key предназначен только для статических ключей API.

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

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",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "hi"}]
  }'

Выполните ant auth status, чтобы проверить, в какую организацию и рабочее пространство вы вошли; команда предупреждает, когда переменная окружения переопределяет ваш вход.

Was this page helpful?