Here.Now
Публикуйте статические сайты на {slug}.here.now и храните приватные файлы в облачных дисках для передачи между агентами.
Метаданные навыка
| Источник | Опционально — установка с помощью vibeos skills install official/productivity/here-now |
| Путь | optional-skills/productivity/here-now |
| Версия | 1.15.3 |
| Автор | here.now |
| Лицензия | MIT |
| Платформы | macos, linux |
| Теги | here.now, herenow, publish, deploy, hosting, static-site, web, share, URL, drive, storage |
Справочник: полный SKILL.md
Ниже приведено полное определение навыка, которое VibeOS загружает при его активации. Это инструкции, которые видит агент, когда навык активен.
here.now
here.now позволяет агентам публиковать веб-сайты и хранить приватные файлы в облачных дисках.
Используйте here.now для двух задач:
- Сайты: публикация веб-сайтов и файлов по адресу
{slug}.here.now. - Диски: хранение приватных файлов агентов в облачных папках.
Актуальная документация
Перед ответами на вопросы о возможностях, функциях или рабочих процессах here.now прочитайте актуальную документацию:
Читайте документацию:
- при первом взаимодействии, связанном с here.now, в рамках беседы;
- когда пользователь спрашивает, как что-то сделать;
- когда пользователь спрашивает, что возможно, поддерживается или рекомендуется;
- перед тем как сообщить пользователю, что функция не поддерживается.
Темы, требующие актуальной документации (не полагайтесь только на локальный текст навыка):
- Диски и общий доступ к дискам;
- пользовательские домены;
- платежи и платный доступ;
- форкинг;
- прокси-маршруты и переменные сервиса;
- хендлы и ссылки;
- лимиты и квоты;
- SPA-маршрутизация;
- обработка ошибок и их устранение;
- доступность функций.
Если документация и поведение живого API расходятся, доверяйте поведению живого API.
Если загрузка документации не удалась или истекло время ожидания, продолжайте работу с локальным навыком и выводом живого API/скриптов. Для активных операций предпочитайте поведение живого API.
Требования
- Необходимые бинарные файлы:
curl,file,jq - Опциональная переменная окружения:
$HERENOW_API_KEY - Опциональная переменная токена диска:
$HERENOW_DRIVE_TOKEN - Опциональный файл учётных данных:
~/.herenow/credentials - Пути вспомогательных скриптов навыка:
${VIBEOS_SKILL_DIR}/scripts/publish.shдля публикации сайтов;${VIBEOS_SKILL_DIR}/scripts/drive.shдля приватного хранения на дисках.
Создание сайта
PUBLISH="${VIBEOS_SKILL_DIR}/scripts/publish.sh"
bash "$PUBLISH" {file-or-dir} --client vibeos
Выводит рабочий URL (например, https://bright-canvas-a7k2.here.now/).
Под капотом это трёхэтапный процесс: создание/обновление -> загрузка файлов -> финализация. Сайт не становится доступным, пока финализация не завершится успешно.
Без API-ключа создаётся анонимный сайт, который истекает через 24 часа. С сохранённым API-ключом сайт является постоянным.
Структура файлов: Для HTML-сайтов размещайте index.html в корне публикуемой директории, а не во вложенной папке. Содержимое директории становится корнем сайта. Например, публикуйте my-site/, где существует my-site/index.html — не публикуйте родительскую папку, содержащую my-site/.
Вы также можете публиковать отдельные файлы без HTML. Для одиночных файлов отображается расширенное авто-представление (изображения, PDF, видео, аудио). Для нескольких файлов автоматически генерируется список директорий с навигацией по папкам и галерея изображений.
Обновление существующего сайта
PUBLISH="${VIBEOS_SKILL_DIR}/scripts/publish.sh"
bash "$PUBLISH" {file-or-dir} --slug {slug} --client vibeos
Скрипт автоматически загружает claimToken из .herenow/state.json при обновлении анонимных сайтов. Передайте --claim-token {token}, чтобы переопределить.
Авторизованные обновления требуют сохранённого API-ключа.
Использование диска
Используйте диск, когда пользователю нужно приватное облачное хранилище для файлов агента: документов, контекста, памяти, планов, ресурсов, медиа, исследований, кода и всего остального, что должно сохраняться без публикации в виде веб-сайта.
У каждой авторизованной учётной записи есть диск по умолчанию с именем My Drive.
DRIVE="${VIBEOS_SKILL_DIR}/scripts/drive.sh"
bash "$DRIVE" default
bash "$DRIVE" ls "My Drive"
bash "$DRIVE" put "My Drive" notes/today.md --from ./notes/today.md
bash "$DRIVE" cat "My Drive" notes/today.md
bash "$DRIVE" share "My Drive" --perms write --prefix notes/ --ttl 7d
Используйте ограниченные токены дисков для передачи между агентами. Если вы получили блок общего доступа herenow_drive, используйте его token как Authorization: Bearer <token> по отношению к api_base, учитывайте pathPrefix, если он присутствует, и сохраняйте ETags при записи. Значение pathPrefix равное null означает полный доступ к диску. Если навык доступен, предпочитайте drive.sh; в противном случае вызывайте перечисленные операции API напрямую.
Хранение API-ключа
Скрипт публикации читает API-ключ из следующих источников (первый совпавший имеет приоритет):
- Флаг
--api-key {key}(только для CI/скриптов — избегайте при интерактивном использовании); - Переменная окружения
$HERENOW_API_KEY; - Файл
~/.herenow/credentials(рекомендуется для агентов).
Чтобы сохранить ключ, запишите его в файл учётных данных:
mkdir -p ~/.herenow && echo "{API_KEY}" > ~/.herenow/credentials && chmod 600 ~/.herenow/credentials
ВАЖНО: После получения API-ключа сохраните его немедленно — выполните команду выше самостоятельно. Не просите пользователя делать это вручную. Избегайте передачи ключа через флаги CLI (например, --api-key) в интерактивных сессиях; файл учётных данных является предпочтительным способом хранения.
Никогда не сохраняйте учётные данные или локальные файлы состояния (~/.herenow/credentials, .herenow/state.json) в системе контроля версий.
Получение API-ключа
Чтобы перейти от анонимных (24 часа) к постоянным сайтам:
- Запросите у пользователя его адрес электронной почты.
- Запросите одноразовый код для входа:
curl -sS https://here.now/api/auth/agent/request-code \
-H "content-type: application/json" \
-d '{"email": "user@example.com"}'
- Сообщите пользователю: «Проверьте свой почтовый ящик — вы получите код для входа от here.now. Вставьте его сюда.»
- Проверьте код и получите API-ключ:
curl -sS https://here.now/api/auth/agent/verify-code \
-H "content-type: application/json" \
-d '{"email":"user@example.com","code":"ABCD-2345"}'
- Сохраните полученный
apiKeyсамостоятельно (не просите пользователя делать это):
mkdir -p ~/.herenow && echo "{API_KEY}" > ~/.herenow/credentials && chmod 600 ~/.herenow/credentials
Файл состояния
После каждого создания/обновления сайта скрипт записывает данные в .herenow/state.json в рабочей директории:
{
"publishes": {
"bright-canvas-a7k2": {
"siteUrl": "https://bright-canvas-a7k2.here.now/",
"claimToken": "abc123",
"claimUrl": "https://here.now/claim?slug=bright-canvas-a7k2&token=abc123",
"expiresAt": "2026-02-18T01:00:00.000Z"
}
}
}
Перед созданием или обновлением сайтов вы можете проверить этот файл, чтобы найти предыдущие слагы.
Относитесь к .herenow/state.json только как к внутреннему кешу.
Никогда не показывайте этот локальный путь к файлу как URL и не используйте его как источник истины для режима авторизации, срока действия или URL подтверждения.
Что сообщать пользователю
Для опубликованных сайтов:
- Всегда делитесь
siteUrlиз текущего запуска скрипта. - Читайте и следуйте строкам
publish_result.*из stderr скрипта, чтобы определить режим авторизации. - Когда
publish_result.auth_mode=authenticated: сообщите пользователю, что сайт постоянный и сохранён в его учётной записи. URL подтверждения не требуется. - Когда
publish_result.auth_mode=anonymous: сообщите пользователю, что сайт истекает через 24 часа. Предоставьте URL подтверждения (еслиpublish_result.claim_urlне пуст и начинается сhttps://), чтобы пользователь мог сохранить его навсегда. Предупредите, что токены подтверждения возвращаются только один раз и не могут быть восстановлены. - Никогда не говорите пользователю проверять
.herenow/state.jsonдля получения URL подтверждения или статуса авторизации.
Для дисков:
- Не описывайте файлы на дисках как публичные URL.
- Сообщите пользователю, что содержимое дисков является приватным, если к нему не предоставлен доступ с помощью ограниченного токена.
- При предоставлении доступа другому агенту предпочитайте ограниченный токен с узким
pathPrefixи коротким TTL.
Параметры publish.sh
| Флаг | Описание |
|---|---|
--slug {slug} | Обновить существующий сайт вместо создания |
--claim-token {token} | Переопределить токен подтверждения для анонимных обновлений |
--title {text} | Заголовок просмотрщика (для не-HTML сайтов) |
--description {text} | Описание просмотрщика |
--ttl {seconds} | Установить срок действия (только для авторизованных) |
--client {name} | Имя агента для атрибуции (например, vibeos) |
--base-url {url} | Базовый URL API (по умолчанию: https://here.now) |
--allow-nonherenow-base-url | Разрешить отправку авторизации на нестандартный --base-url |
--api-key {key} | Переопределение API-ключа (предпочитайте файл учётных данных) |
--spa | Включить SPA-маршрутизацию (отдавать index.html для неизвестных путей) |
--forkable | Разрешить другим форкать этот сайт |
За пределами publish.sh
Для операций с дисками используйте drive.sh или API дисков. Для более широкого управления учётной записью и сайтами — удаление, метаданные, пароли, платежи, домены, хендлы, ссылки, переменные, прокси-маршруты, форкинг, дублирование и другое — смотрите актуальную документацию:
Полная документация: https://here.now/docs