Перейти к содержанию

On this page Публикуйте статические сайты на {slug}.here.now и храните личные файлы в облачных дисках для передачи между агентами.

Метаданные навыка

Источник Опционально — установка: hermes 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

info Ниже приведено полное определение навыка, которое Hermes загружает при его активации. Это те инструкции, которые видит агент, когда навык активен.

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
  • Пути к вспомогательным скриптам навыка:
  • ${HERMES_SKILL_DIR}/scripts/publish.sh для публикации сайтов
  • ${HERMES_SKILL_DIR}/scripts/drive.sh для личного облачного хранилища

Создание сайта

[code] PUBLISH="${HERMES_SKILL_DIR}/scripts/publish.sh"
bash "$PUBLISH" {file-or-dir} --client hermes

[/code] Выводит рабочий URL (например, https://bright-canvas-a7k2.here.now/). Под капотом это трёхшаговый процесс: создать/обновить -> загрузить файлы -> финализировать. Сайт не становится доступным, пока финализация не завершится успешно. Без API-ключа создаётся анонимный сайт, который истекает через 24 часа. С сохранённым API-ключом сайт является постоянным. Структура файлов: Для HTML-сайтов размещайте index.html в корне публикуемой директории, а не во вложенной папке. Содержимое директории становится корнем сайта. Например, публикуйте my-site/, где существует my-site/index.html — не публикуйте родительскую папку, содержащую my-site/. Вы также можете публиковать отдельные файлы без HTML. Для отдельных файлов отображается расширенное авто-представление (изображения, PDF, видео, аудио). Для нескольких файлов создаётся автоматически сгенерированный список директорий с навигацией по папкам и галереей изображений.

Обновление существующего сайта

[code] PUBLISH="${HERMES_SKILL_DIR}/scripts/publish.sh"
bash "$PUBLISH" {file-or-dir} --slug {slug} --client hermes

[/code] Скрипт автоматически загружает claimToken из .herenow/state.json при обновлении анонимных сайтов. Передайте --claim-token {token}, чтобы переопределить. Авторизованные обновления требуют сохранённого API-ключа.

Использование диска

Используйте диск, когда пользователю нужно личное облачное хранилище для файлов агента: документов, контекста, памяти, планов, ресурсов, медиа, исследований, кода и всего остального, что должно сохраняться без публикации в виде веб-сайта. У каждой учётной записи есть диск по умолчанию с названием My Drive. [code] DRIVE="${HERMES_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

[/code] Используйте ограниченные токены дисков для передачи между агентами. Если вы получили блок общего доступа 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 (рекомендуется для агентов)

Чтобы сохранить ключ, запишите его в файл учётных данных: [code] mkdir -p ~/.herenow && echo "{API_KEY}" > ~/.herenow/credentials && chmod 600 ~/.herenow/credentials

[/code] ВАЖНО: После получения API-ключа сохраните его немедленно — выполните указанную выше команду самостоятельно. Не просите пользователя выполнять её вручную. Избегайте передачи ключа через флаги CLI (например, --api-key) в интерактивных сессиях; файл учётных данных является предпочтительным способом хранения. Никогда не сохраняйте учётные данные или локальные файлы состояния (~/.herenow/credentials, .herenow/state.json) в системе контроля версий.

Получение API-ключа

Чтобы перейти от анонимных (24ч) к постоянным сайтам: 1. Спросите у пользователя его адрес электронной почты. 2. Запросите одноразовый код для входа:

[code] curl -sS https://here.now/api/auth/agent/request-code \
-H "content-type: application/json" \
-d '{"email": "user@example.com"}'

[/code] 3. Сообщите пользователю: «Проверьте свой почтовый ящик — вы получили код входа от here.now. Вставьте его сюда.» 4. Проверьте код и получите API-ключ:

[code] curl -sS https://here.now/api/auth/agent/verify-code \
-H "content-type: application/json" \
-d '{"email":"user@example.com","code":"ABCD-2345"}'

[/code] 5. Сохраните полученный apiKey самостоятельно (не просите пользователя это делать):

[code] mkdir -p ~/.herenow && echo "{API_KEY}" > ~/.herenow/credentials && chmod 600 ~/.herenow/credentials

[/code]

Файл состояния

После каждого создания/обновления сайта скрипт записывает данные в .herenow/state.json в рабочей директории: [code] {
"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"
}
}
}

[/code] Перед созданием или обновлением сайтов вы можете проверить этот файл, чтобы найти предыдущие слаг-имена. Относитесь к .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}| Имя агента для атрибуции (например, hermes) --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 или Drive API. Для более широкого управления учётной записью и сайтами — удаление, метаданные, пароли, платежи, домены, хендлы, ссылки, переменные, прокси-маршруты, форкинг, дублирование и другое — см. текущую документацию: → https://here.now/docs Полная документация: https://here.now/docs * Метаданные навыка * Справочник: полный SKILL.md * Текущая документация * Требования * Создание сайта * Обновление существующего сайта * Использование диска * Хранение API-ключа * Получение API-ключа * Файл состояния * Что сообщать пользователю * Параметры publish.sh * За пределами publish.sh