Skip to main content
Youka спроектирован так, чтобы им управляли агенты. Каждая команда CLI возвращает машиночитаемый JSON-конверт, каждая операция записи поддерживает ключи идемпотентности, а публичный API предоставляет ту же поверхность с той же семантикой. На этой странице собраны правила эксплуатации, которые нужны автору агента перед тем, как встроить Youka в рабочий процесс.

Get started

Если вы настраиваете агента впервые, сначала установите Youka CLI, затем установите навык Youka karaoke:
Это даст агенту готовый навык Youka, работающий поверх CLI. После установки используйте шаблоны рабочих процессов ниже, чтобы создавать караоке-видео, настраивать стиль и безопасно экспортировать MP4-файлы.

Prompt your agent

После установки CLI и навыка вы можете дать агенту прямую задачу, например так:

Operating rules

Always use --json

В CLI всегда передавайте --json. В API всегда устанавливайте Accept: application/json. Никогда не парсите человекочитаемый вывод.

Always send an idempotency key

Каждая операция записи должна содержать стабильный ключ идемпотентности, чтобы повтор после таймаута возвращал исходный результат вместо дублирования работы.

Re-read durable state

Не доверяйте устаревшим ответам на мутации. После завершения задачи перечитайте проект или экспорт, чтобы получить финальное состояние.

Poll with backoff

Начинайте с интервала 2–3 секунды. Экспоненциально увеличивайте интервал для длительных задач. Учитывайте ответы 429.

Output contract

Каждая команда CLI в режиме --json пишет ровно один конверт в stdout. Успех:
Ошибка:
Коды завершения:

End-to-end workflow

Канонический рабочий процесс агента: создать проект, дождаться, экспортировать, скачать результат. Ниже — полный шаблон с реализациями и для CLI, и для SDK.

Polling guidance

Большинство операций записи в SDK возвращают дескрипторы операций. Предпочитайте client.projects.wait(...) и client.exports.wait(...) и опускайтесь до client.tasks.* только когда вам явно нужен низкоуровневый доступ к задачам. В CLI флаг --wait делает polling за вас. В SDK wait-хелперы по умолчанию используют интервал 2 s и принимают pollIntervalMs.
Учитывайте ответы 429. При rate limit делайте back off как минимум на значение заголовка Retry-After (или на 30 s, если его нет).

Idempotency keys

Каждая операция создания и обновления поддерживает ключ идемпотентности. Правила:
  • Используйте стабильный, уникальный, детерминированный ключ на одну логическую мутацию. Хорошо: create-song-${sourceHash}. Плохо: новый UUID на каждый повтор.
  • При повторах используйте тот же самый ключ. Сервер распознаёт повтор и возвращает исходный результат.
  • Ключи действуют в рамках одного аккаунта и истекают через 24 часа.
  • Если сервер возвращает IDEMPOTENT_REPLAY_IN_PROGRESS (HTTP 202), исходный запрос всё ещё выполняется. Подождите и повторите с тем же ключом.
Пример шаблона:
Полный контракт см. в API idempotency.

Error recovery

Ветвитесь по error.code и error.retryable. Частые случаи:

Discovering mutable fields

Перед изменением пресетов запросите схему пресета, чтобы модель знала допустимые поля и типы значений:
Для настроек проекта предпочтительно сначала читать текущие настройки проекта, а затем отправлять минимальное тело обновления через youka project settings <id> --body .... Запрашивайте один раз на сессию агента и кэшируйте результат.

Parallel agents

Когда несколько агентов работают параллельно в рамках одного аккаунта:
  • Делайте idempotency keys привязанными и к идентичности агента, и к логической мутации: agent-${agentId}-create-${sourceHash}. Это предотвращает коллизию повтора одного агента с новым запросом другого.
  • Оставляйте чтения неограниченными — GET-запросы дешёвые и не имеют побочных эффектов.
  • Используйте одну очередь для POST /projects/{projectId}/exports на проект, если вам нужна упорядоченная история экспортов. Иначе экспорты могут приходить не по порядку.

What’s next