Projet :
heredotnow/skill, la compétence publique du service here.now pour les agents.Licence : MIT, comme déclaré dans le README.md en amont. Le dépôt amont ne contient pas de fichier
LICENSEséparé, donc aucun n'est fourni ici.Instantané : Copie figée de
heredotnow/skill/here-nowen date du 22/05/2026. La version maintenue vit en amont et a peut-être évolué depuis cet instantané.
here.now
Version de la compétence : 1.15.5
here.now permet aux agents de publier des sites web et de stocker des fichiers privés dans des Drives cloud.
Utilisez here.now pour deux tâches :
- Sites : publier des sites web et des fichiers sur
{slug}.here.now. - Drives : stocker des fichiers privés d'agent dans des dossiers cloud.
Pour installer ou mettre à jour (recommandé) : npx skills add heredotnow/skill --skill here-now -g
Pour les installations liées à un dépôt ou à un projet local, exécutez la même commande sans -g.
Documentation actuelle
Avant de répondre aux questions sur les capacités, fonctionnalités ou workflows de here.now, lisez la documentation actuelle :
Lisez la documentation :
- lors de la première interaction liée à here.now dans une conversation
- chaque fois que l'utilisateur demande comment faire quelque chose
- chaque fois que l'utilisateur demande ce qui est possible, supporté ou recommandé
- avant de dire à l'utilisateur qu'une fonctionnalité n'est pas supportée
Sujets nécessitant la documentation actuelle (ne vous fiez pas uniquement au texte local de la compétence) :
- Drives et partage de Drive
- domaines personnalisés
- profils publics
- routes proxy et variables de service
- handles et liens de sous-domaine
- limites et quotas
- routage SPA
- recherche de sites propriétaires
- gestion des erreurs et correctifs
- disponibilité des fonctionnalités
Si la documentation et le comportement de l'API live sont en désaccord, fiez-vous au comportement de l'API live.
Si la récupération de la documentation échoue ou expire, continuez avec la compétence locale et les résultats de l'API/scripts live. Préférez le comportement de l'API live pour les opérations actives.
Prérequis
- Binaires requis :
curl,file,jq - Variable d'environnement optionnelle :
$HERENOW_API_KEY - Variable de token Drive optionnelle :
$HERENOW_DRIVE_TOKEN - Fichier d'identifiants optionnel :
~/.herenow/credentials - Aides fournies :
./scripts/publish.shpour la publication de sites./scripts/drive.shpour le stockage privé Drive
Créer un site
./scripts/publish.sh {fichier-ou-dossier}
Affiche l'URL live (par exemple https://bright-canvas-a7k2.here.now/).
Sous le capot, il s'agit d'un flux en trois étapes : créer/mettre à jour -> télécharger les fichiers -> finaliser. Un site n'est pas en ligne tant que la finalisation n'a pas réussi.
Sans clé API, cela crée un site anonyme qui expire dans 24 heures. Avec une clé API enregistrée, le site est permanent.
Structure des fichiers : Pour les sites HTML, placez index.html à la racine du dossier que vous publiez, pas dans un sous-dossier. Les contenus du dossier deviennent la racine du site. Par exemple, publiez mon-site/ où mon-site/index.html existe — ne publiez pas un dossier parent qui contient mon-site/.
Vous pouvez également publier des fichiers bruts sans HTML. Les fichiers uniques obtiennent un visualiseur automatique riche (images, PDF, vidéo, audio). Plusieurs fichiers obtiennent un listing de dossier généré automatiquement avec navigation par dossiers et une galerie d'images.
Mettre à jour un site existant
./scripts/publish.sh {fichier-ou-dossier} --slug {slug}
Le script charge automatiquement le claimToken depuis .herenow/state.json lors de la mise à jour de sites anonymes. Passez --claim-token {token} pour le surcharger.
Les mises à jour authentifiées nécessitent une clé API enregistrée.
Les utilisateurs connectés disposent également de profils publics. Les agents peuvent aider les utilisateurs à afficher ou masquer des Sites sur leur profil et à gérer les paramètres du profil via l'API documentée sur https://here.now/docs#profile.
Utiliser un Drive
Utilisez un Drive lorsque l'utilisateur souhaite un stockage cloud privé pour les fichiers d'agent : documents, contexte, mémoire, plans, ressources, médias, recherches, code et tout ce qui doit persister sans être publié comme site web.
Chaque compte connecté possède un Drive par défaut nommé My Drive.
./scripts/drive.sh default
./scripts/drive.sh ls My Drive
./scripts/drive.sh put My Drive notes/today.md --from ./notes/today.md
./scripts/drive.sh cat My Drive notes/today.md
./scripts/drive.sh share My Drive --perms write --prefix notes/ --ttl 7d
Utilisez des tokens Drive limités pour le transfert agent-à-agent. Si vous recevez un bloc de partage herenow_drive, utilisez son token comme Authorization: Bearer <token> contre api_base, respectez pathPrefix lorsqu'il est présent, et conservez les ETags lors des écritures. Un pathPrefix de null signifie un accès complet au Drive. Si la compétence est disponible, préférez ./scripts/drive.sh ; sinon, appelez directement les opérations API listées.
Attribution client
Passez --client pour que here.now puisse suivre la fiabilité par agent :
./scripts/publish.sh {fichier-ou-dossier} --client cursor
Cela envoie l'en-tête X-HereNow-Client: cursor/publish-sh lors des appels API de publication.
Si omis, le script envoie une valeur de secours.
Stockage de la clé API
Le script de publication lit la clé API à partir de ces sources (la première correspondance gagne) :
- Drapeau
--api-key {clé}(CI/scripting uniquement — évitez en usage interactif) - Variable d'environnement
$HERENOW_API_KEY - Fichier
~/.herenow/credentials(recommandé pour les agents)
Pour stocker une clé, écrivez-la dans le fichier d'identifiants :
mkdir -p ~/.herenow && echo "{CLÉ_API}" > ~/.herenow/credentials && chmod 600 ~/.herenow/credentials
IMPORTANT : Après avoir reçu une clé API, enregistrez-la immédiatement — exécutez la commande ci-dessus vous-même. Ne demandez pas à l'utilisateur de l'exécuter manuellement. Évitez de passer la clé via des drapeaux CLI (par exemple --api-key) dans les sessions interactives ; le fichier d'identifiants est la méthode de stockage préférée.
Ne commettez jamais les identifiants ou les fichiers d'état local (~/.herenow/credentials, .herenow/state.json) dans le contrôle de source.
Obtenir une clé API
Pour passer de sites anonymes (24h) à permanents :
- Demandez à l'utilisateur son adresse email.
- Demandez un code de connexion unique :
curl -sS https://here.now/api/auth/agent/request-code \
-H "content-type: application/json" \
-d '{"email": "[email protected]"}'
- Dites à l'utilisateur : "Vérifiez votre boîte de réception pour un code de connexion de here.now et collez-le ici."
- Vérifiez le code et obtenez la clé API :
curl -sS https://here.now/api/auth/agent/verify-code \
-H "content-type: application/json" \
-d '{"email":"[email protected]","code":"ABCD-2345"}'
- Enregistrez vous-même le
apiKeyretourné (ne demandez pas à l'utilisateur de le faire) :
mkdir -p ~/.herenow && echo "{CLÉ_API}" > ~/.herenow/credentials && chmod 600 ~/.herenow/credentials
Fichier d'état
Après chaque création/mise à jour de site, le script écrit dans .herenow/state.json dans le répertoire de travail :
{
"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"
}
}
}
Avant de créer ou mettre à jour des sites, vous pouvez vérifier ce fichier pour trouver les slugs précédents.
Traitez .herenow/state.json comme un cache interne uniquement.
Ne présentez jamais ce chemin de fichier local comme une URL, et ne l'utilisez jamais comme source de vérité pour le mode d'authentification, l'expiration ou l'URL de revendication.
Que dire à l'utilisateur
Pour les sites publiés :
- Partagez toujours le
siteUrlde l'exécution actuelle du script. - Lisez et suivez les lignes
publish_result.*de la sortie d'erreur du script pour déterminer le mode d'authentification. - Quand
publish_result.auth_mode=authenticated: dites à l'utilisateur que le site est permanent et enregistré dans son compte. Aucune URL de revendication n'est nécessaire. - Quand
publish_result.auth_mode=anonymous: dites à l'utilisateur que le site expire dans 24 heures. Partagez l'URL de revendication (sipublish_result.claim_urlest non vide et commence parhttps://) afin qu'il puisse le conserver définitivement. Avertissez que les tokens de revendication ne sont retournés qu'une fois et ne peuvent pas être récupérés. - Ne dites jamais à l'utilisateur d'inspecter
.herenow/state.jsonpour les URLs de revendication ou le statut d'authentification.
Pour les Drives :
- Ne décrivez pas les fichiers Drive comme des URLs publiques.
- Dites à l'utilisateur que le contenu du Drive est privé sauf s'il est partagé avec un token limité.
- Lors du partage d'accès avec un autre agent, préférez un token limité avec un
pathPrefixrestreint et un TTL court.
Options de publish.sh
| Drapeau | Description |
|---|---|
--slug {slug} | Met à jour un site existant au lieu d'en créer un nouveau |
--claim-token {token} | Surcharge le token de revendication pour les mises à jour anonymes |
--title {texte} | Titre du visualiseur (sites non-HTML) |
--description {texte} | Description du visualiseur |
--ttl {secondes} | Définit l'expiration (authentifié uniquement) |
--client {nom} | Nom de l'agent pour l'attribution (ex. cursor) |
--base-url {url} | URL de base de l'API (par défaut : https://here.now) |
--allow-nonherenow-base-url | Autorise l'envoi d'auth à un --base-url non par défaut |
--api-key {clé} | Surcharge de la clé API (préférez le fichier d'identifiants) |
--spa | Active le routage SPA (sert index.html pour les chemins inconnus) |
Au-delà de publish.sh
Pour les opérations Drive, utilisez ./scripts/drive.sh ou l'API Drive. Pour une gestion plus large du compte et des Sites — recherche, profils, suppression, métadonnées, mots de passe, domaines, handles de sous-domaine, liens, variables, routes proxy, duplication, etc. — consultez la documentation actuelle :
Documentation complète : https://here.now/docs