Перейти к основному содержимому

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 прочитайте актуальную документацию:

→ https://here.now/docs

Читайте документацию:

  • при первом взаимодействии, связанном с 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-ключ из следующих источников (первый совпавший имеет приоритет):

  1. Флаг --api-key {key} (только для CI/скриптов — избегайте при интерактивном использовании);
  2. Переменная окружения $HERENOW_API_KEY;
  3. Файл ~/.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 часа) к постоянным сайтам:

  1. Запросите у пользователя его адрес электронной почты.
  2. Запросите одноразовый код для входа:
curl -sS https://here.now/api/auth/agent/request-code \
-H "content-type: application/json" \
-d '{"email": "user@example.com"}'
  1. Сообщите пользователю: «Проверьте свой почтовый ящик — вы получите код для входа от here.now. Вставьте его сюда.»
  2. Проверьте код и получите API-ключ:
curl -sS https://here.now/api/auth/agent/verify-code \
-H "content-type: application/json" \
-d '{"email":"user@example.com","code":"ABCD-2345"}'
  1. Сохраните полученный 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

Полная документация: https://here.now/docs