Cloudflare Temporary Deploy
Разверните Worker на живом URL без аккаунта с помощью wrangler --temporary.
Метаданные навыка
| Источник | Опционально — установка: vibeos skills install official/web-development/cloudflare-temporary-deploy |
| Путь | optional-skills/web-development/cloudflare-temporary-deploy |
| Версия | 1.0.0 |
| Автор | VibeOS |
| Лицензия | MIT |
| Платформы | linux, macos, windows |
| Теги | cloudflare, workers, wrangler, deploy, temporary, agent, serverless, web-development |
Справочник: полный SKILL.md
Ниже приведено полное описание навыка, которое VibeOS загружает при его активации. Агент видит эти инструкции, когда навык активен.
Навык Cloudflare Temporary Deploy
Разверните Cloudflare Worker на живом URL workers.dev без создания аккаунта, используя wrangler deploy --temporary. Cloudflare создаёт временный аккаунт, выполняет развёртывание и выводит claim-URL, действительный в течение 60 минут; незатребованные аккаунты удаляются автоматически. Это даёт агенту компактный цикл «написал → развернул → проверил» без OAuth, регистрации или копирования токенов.
Этот навык НЕ охватывает production-развёртывания (для них используйте wrangler login + постоянный аккаунт), а также другие продукты Cloudflare, не относящиеся к Workers, с учётом ограничений временных аккаунтов ниже.
Когда использовать
Загружайте этот навык, когда пользователь хочет:
- Разместить написанный агентом код на живом URL без предварительного создания аккаунта Cloudflare — «разверни это и дай ссылку»
- Работать в фоновой/автономной сессии, где шаг OAuth в браузере был бы непреодолимым препятствием
- Быстро прототипировать или оценивать Workers с временной, забираемой целью
- Построить самопроверяющийся цикл развёртывания — развернуть, выполнить
curlживого URL, убедиться, что вывод соответствует коду, переразвернуть
Когда НЕ использовать
- Production или CI/CD → используйте постоянный аккаунт (
wrangler loginилиCLOUDFLARE_API_TOKEN).--temporaryвыдаёт ошибку, если присутствуют какие-либо учётные данные. - Wrangler уже аутентифицирован →
--temporaryпо замыслу возвращает ошибку. Сначала выполнитеwrangler logout, только если пользователь явно хочет временное развёртывание. - Долгоживущий хостинг → временные развёртывания удаляются через 60 минут, если не затребованы.
Предварительные требования
- Wrangler 4.102.0 или новее. Именно в этой версии появился
--temporary. В более ранних версиях его нет. Проверьте:npx wrangler@latest --version. - Node 18+ / npm (или
npx,yarn,pnpm). Глобальная установка не требуется — достаточноnpx wrangler@latest. - Отсутствие учётных данных Cloudflare.
--temporaryработает только когда Wrangler не аутентифицирован: нет OAuth-логина, нет переменных окруженияCLOUDFLARE_API_TOKEN/CLOUDFLARE_API_KEY, нет кэшированного OAuth в~/.wrangler/~/.config/.wrangler. Используйте окружение инструментаterminalкак есть; не устанавливайте эти переменные. - Исходящий сетевой доступ к
cloudflare.comиworkers.dev. - Использование
--temporaryозначает принятие Условий предоставления услуг и Политики конфиденциальности Cloudflare.
Как запустить
Используйте инструмент terminal для каждого шага. Всегда фиксируйте версию (wrangler@latest или wrangler@4.102.0 или новее), чтобы случайно не запустить старый глобальный wrangler без нужного флага.
-
Создайте минимальный Worker (пропустите, если проект уже существует). Worker требует
wrangler.toml(илиwrangler.jsonc) и входной скрипт. Пример минимального TypeScript — запишите эти файлы с помощьюwrite_file:wrangler.jsonc:{
"name": "hello-agent",
"main": "src/index.ts",
"compatibility_date": "2025-01-01"
}src/index.ts:export default {
async fetch(): Promise<Response> {
return new Response("hello cloudflare");
},
}; -
Разверните с
--temporaryиз каталога проекта:npx wrangler@latest deploy --temporaryПроверка proof-of-work добавляет небольшую автоматическую задержку. При успехе Wrangler выводит строку
Account: <name> (created)(или(reused)),Claim URLи живой URLhttps://<worker>.<account>.workers.dev. -
Извлеките URL из этого вывода. Запустите вспомогательный скрипт для надёжного извлечения вместо визуального поиска:
npx wrangler@latest deploy --temporary 2>&1 | python3 scripts/parse_deploy_output.py(Укажите абсолютный путь к
scripts/parse_deploy_output.pyиз этого навыка.) Скрипт выводит JSON:{"live_url", "claim_url", "account", "account_state", "expires_minutes", "deployed"}. -
Проверьте, что развёртывание действительно активно — не полагайтесь только на лог развёртывания. Выполните
curlживого URL и убедитесь, что тело ответа соответствует тому, что возвращает код:curl -sS <live_url> -
Итерация. Отредактируйте код, переразверните той же командой
npx wrangler@latest deploy --temporary. В течение 60-минутного окна Wrangler повторно использует кэшированный временный аккаунт (Account: <name> (reused)), поэтому URL остаётся стабильным. Снова выполнитеcurl, чтобы подтвердить изменения. -
Передайте claim-URL пользователю. Сообщите: откройте его в течение 60 минут, чтобы сохранить развёртывание и все ресурсы; если не затребовать, всё автоматически удалится. Относитесь к claim-URL как к секрету — он даёт право владения аккаунтом.
Краткая справка
| Шаг | Команда |
|---|---|
| Проверить версию (нужна 4.102.0+) | npx wrangler@latest --version |
| Развернуть (без аккаунта) | npx wrangler@latest deploy --temporary |
| Развернуть + извлечь URL | npx wrangler@latest deploy --temporary 2>&1 | python3 scripts/parse_deploy_output.py |
| Проверить активность | curl -sS <live_url> |
| Очистить кэш временного аккаунта | npx wrangler@latest logout |
Ограничения продуктов временного аккаунта
| Продукт | Лимит во временном аккаунте |
|---|---|
| Workers | Развёртывание на workers.dev |
| Static Assets | До 1 000 файлов, по 5 МиБ каждый |
| KV | Разрешено |
| D1 | 1 база данных, 100 МБ на БД / 100 МБ всего |
| Durable Objects | Разрешено |
| Hyperdrive | 2 конфигурации, 10 подключений |
| Queues | До 10 |
| SSL/TLS сертификаты | Разрешено |
Подводные камни
--temporaryнет вwrangler deploy --helpи это не глобальный флаг. Он намеренно скрыт и отображается динамически: когда неаутентифицированныйwrangler deployзавершается ошибкой, Wrangler выводит «rerun with--temporary». Не делайте вывод, что флаг отсутствует, только потому что--helpего не показывает — вместо этого проверьте версию.- Старый глобальный wrangler. Устаревшая глобально установленная версия
wrangler(< 4.102.0) молча не содержит флага. Всегда вызывайтеnpx wrangler@latest(или фиксированную>=4.102.0), чтобы контролировать версию. - Наличие аутентификации → жёсткая ошибка. Если когда-либо выполнялся
wrangler loginили установленыCLOUDFLARE_API_TOKEN/CLOUDFLARE_API_KEY,--temporaryвыдаёт ошибку. Либо удалите переменную для этой оболочки, либо выполнитеwrangler logout. Никогда не удаляйте реальные учётные данные пользователя без предупреждения. - Ограничение частоты запросов. Слишком быстрое создание временных аккаунтов приводит к ошибкам. Повторно используйте кэшированный аккаунт (просто переразверните) в течение 60-минутного окна вместо создания нового; при превышении лимита подождите или используйте постоянный аккаунт.
- Жёсткое истечение через 60 минут, не продлевается. Если развёртывание должно жить дольше часа, пользователь должен его затребовать. Чётко сообщите об этом.
curlможет кратковременно отдавать старый код после переразвёртывания. Уworkers.devесть кратковременный edge-кэш; строка(reused)вместе с новымCurrent Version IDподтверждают успех развёртывания, даже еслиcurlпоказывает устаревший контент в течение нескольких секунд. Повторитеcurlили добавьте строку запроса для сброса кэша, прежде чем делать вывод о неудаче переразвёртывания.- Не записывайте claim-URL в общие транскрипты как «просто ссылку». Он эквивалентен учётным данным.
Проверка
npx wrangler@latest --versionвозвращает>= 4.102.0.npx wrangler@latest deploy --temporaryвыводит живой URLworkers.devи claim-URL видаclaim-preview?claimToken=.curl -sS <live_url>возвращает точное тело, которое генерирует код Worker.- Второе развёртывание сообщает
Account: <name> (reused), и живой URL не меняется. - Самотест скрипта парсинга проходит:
python3 scripts/parse_deploy_output.py --selftest.