Projekt:
heredotnow/skill, der öffentliche Agenten-Skill des here.now-Dienstes.Lizenz: MIT, wie in der upstream
README.mdangegeben. Das upstream-Repository enthält keine separateLICENSE-Datei, daher wird hier keine mitgeliefert.Snapshot: Eingefrorene Kopie von
heredotnow/skill/here-nowvom 22.05.2026. Die gepflegte Version befindet sich upstream und kann sich seit diesem Snapshot weiterentwickelt haben.
here.now
Skill-Version: 1.15.5
here.now ermöglicht es Agenten, Websites zu veröffentlichen und private Dateien in Cloud-Laufwerken zu speichern.
Verwende here.now für zwei Aufgaben:
- Sites: Veröffentliche Websites und Dateien unter
{slug}.here.now. - Drives: Speichere private Agentendateien in Cloud-Ordnern.
So installierst oder aktualisierst du (empfohlen): npx skills add heredotnow/skill --skill here-now -g
Für repo-gebundene/projekt-lokale Installationen führe denselben Befehl ohne -g aus.
Aktuelle Dokumentation
Bevor du Fragen zu den Funktionen, Features oder Arbeitsabläufen von here.now beantwortest, lies die aktuelle Dokumentation:
Lies die Dokumentation:
- bei der ersten here.now-bezogenen Interaktion in einer Unterhaltung
- jedes Mal, wenn der Benutzer fragt, wie etwas zu tun ist
- jedes Mal, wenn der Benutzer fragt, was möglich, unterstützt oder empfohlen ist
- bevor du dem Benutzer sagst, dass eine Funktion nicht unterstützt wird
Themen, die die aktuelle Dokumentation erfordern (verlasse dich nicht allein auf den lokalen Skill-Text):
- Drives und Drive-Freigaben
- benutzerdefinierte Domains
- öffentliche Profile
- Proxy-Routen und Dienstvariablen
- Subdomain-Handles und Links
- Limits und Kontingente
- SPA-Routing
- Besitzer-Site-Suche
- Fehlerbehandlung und Behebung
- Funktionsverfügbarkeit
Wenn die Dokumentation und das Live-API-Verhalten voneinander abweichen, vertraue dem Live-API-Verhalten.
Wenn das Abrufen der Dokumentation fehlschlägt oder eine Zeitüberschreitung auftritt, fahre mit dem lokalen Skill und der Live-API/Skriptausgabe fort. Bevorzuge das Live-API-Verhalten für aktive Operationen.
Voraussetzungen
- Erforderliche Programme:
curl,file,jq - Optionale Umgebungsvariable:
$HERENOW_API_KEY - Optionales Drive-Token-Variable:
$HERENOW_DRIVE_TOKEN - Optionale Anmeldedatei:
~/.herenow/credentials - Gebündelte Helfer:
./scripts/publish.shzum Veröffentlichen von Sites./scripts/drive.shfür die private Drive-Speicherung
Eine Site erstellen
./scripts/publish.sh {datei-oder-verzeichnis}
Gibt die Live-URL aus (z. B. https://bright-canvas-a7k2.here.now/).
Intern handelt es sich um einen dreistufigen Ablauf: Erstellen/Aktualisieren → Dateien hochladen → Abschließen. Eine Site ist erst live, wenn der Abschluss erfolgreich ist.
Ohne einen API-Schlüssel wird eine anonyme Site erstellt, die nach 24 Stunden abläuft. Mit einem gespeicherten API-Schlüssel ist die Site dauerhaft.
Dateistruktur: Platziere index.html für HTML-Sites im Stammverzeichnis des zu veröffentlichenden Verzeichnisses, nicht in einem Unterverzeichnis. Der Inhalt des Verzeichnisses wird zum Site-Stamm. Veröffentliche zum Beispiel meine-site/, wobei meine-site/index.html existiert – veröffentliche kein übergeordnetes Verzeichnis, das meine-site/ enthält.
Du kannst auch Rohdateien ohne HTML veröffentlichen. Einzelne Dateien erhalten einen automatischen Rich-Viewer (Bilder, PDF, Video, Audio). Mehrere Dateien erhalten eine automatisch generierte Verzeichnisliste mit Ordner-Navigation und einer Bildergalerie.
Eine bestehende Site aktualisieren
./scripts/publish.sh {datei-oder-verzeichnis} --slug {slug}
Das Skript lädt beim Aktualisieren anonymer Sites automatisch den claimToken aus .herenow/state.json. Übergib --claim-token {token}, um ihn zu überschreiben.
Authentifizierte Aktualisierungen erfordern einen gespeicherten API-Schlüssel.
Angemeldete Benutzer haben außerdem öffentliche Profile. Agenten können Benutzern helfen, Sites auf ihrem Profil anzuzeigen oder auszublenden und Profileinstellungen über die unter https://here.now/docs#profile dokumentierte API zu verwalten.
Ein Drive verwenden
Verwende ein Drive, wenn der Benutzer eine private Cloud-Speicherung für Agentendateien wünscht: Dokumente, Kontext, Gedächtnis, Pläne, Assets, Medien, Forschungsergebnisse, Code und alles andere, das dauerhaft gespeichert werden soll, ohne als Website veröffentlicht zu werden.
Jedes angemeldete Konto hat ein standardmäßiges Drive namens Mein Drive.
./scripts/drive.sh default
./scripts/drive.sh ls Mein Drive
./scripts/scripts/drive.sh put Mein Drive notizen/heute.md --from ./notizen/heute.md
./scripts/drive.sh cat Mein Drive notizen/heute.md
./scripts/drive.sh share Mein Drive --perms write --prefix notizen/ --ttl 7d
Verwende bereichsbezogene Drive-Token für die Agent-zu-Agent-Übergabe. Wenn du einen herenow_drive-Freigabeblock erhältst, verwende dessen token als Authorization: Bearer <token> gegen api_base, respektiere pathPrefix, falls vorhanden, und bewahre ETags beim Schreiben. Ein pathPrefix von null bedeutet Vollzugriff auf das Drive. Falls der Skill verfügbar ist, bevorzuge ./scripts/drive.sh; andernfalls rufe die aufgeführten API-Operationen direkt auf.
Client-Zuordnung
Übergib --client, damit here.now die Zuverlässigkeit nach Agent verfolgen kann:
./scripts/publish.sh {datei-oder-verzeichnis} --client cursor
Dies sendet X-HereNow-Client: cursor/publish-sh bei Publish-API-Aufrufen.
Wird dies weggelassen, sendet das Skript einen Fallback-Wert.
API-Schlüsselspeicher
Das Veröffentlichungsskript liest den API-Schlüssel aus diesen Quellen (erster Treffer gewinnt):
--api-key {key}-Flag (nur für CI/Scripting – vermeide die interaktive Verwendung)$HERENOW_API_KEY-Umgebungsvariable~/.herenow/credentials-Datei (für Agenten empfohlen)
Um einen Schlüssel zu speichern, schreibe ihn in die Anmeldedatei:
mkdir -p ~/.herenow && echo "{API_KEY}" > ~/.herenow/credentials && chmod 600 ~/.herenow/credentials
WICHTIG: Nachdem du einen API-Schlüssel erhalten hast, speichere ihn sofort – führe den obigen Befehl selbst aus. Bitte den Benutzer nicht, dies manuell zu tun. Vermeide es, den Schlüssel über CLI-Flags (z. B. --api-key) in interaktiven Sitzungen zu übergeben; die Anmeldedatei ist die bevorzugte Speichermethode.
Überführe niemals Anmeldeinformationen oder lokale Zustandsdateien (~/.herenow/credentials, .herenow/state.json) in die Versionskontrolle.
Einen API-Schlüssel erhalten
Um von anonymen (24h) zu dauerhaften Sites zu wechseln:
- Frage den Benutzer nach seiner E-Mail-Adresse.
- Fordere einen einmaligen Anmeldecode an:
curl -sS https://here.now/api/auth/agent/request-code \
-H "content-type: application/json" \
-d '{"email": "[email protected]"}'
- Sage dem Benutzer: „Überprüfe deinen Posteingang auf einen Anmeldecode von here.now und füge ihn hier ein.“
- Verifiziere den Code und erhalte den API-Schlüssel:
curl -sS https://here.now/api/auth/agent/verify-code \
-H "content-type: application/json" \
-d '{"email":"[email protected]","code":"ABCD-2345"}'
- Speichere den zurückgegebenen
apiKeyselbst (bitte den Benutzer nicht, dies zu tun):
mkdir -p ~/.herenow && echo "{API_KEY}" > ~/.herenow/credentials && chmod 600 ~/.herenow/credentials
Zustandsdatei
Nach jeder Site-Erstellung/-Aktualisierung schreibt das Skript in .herenow/state.json im Arbeitsverzeichnis:
{
"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"
}
}
}
Vor dem Erstellen oder Aktualisieren von Sites kannst du diese Datei überprüfen, um vorherige Slugs zu finden.
Behandle .herenow/state.json nur als internen Cache.
Gib diesen lokalen Dateipfad niemals als URL aus und verwende ihn niemals als Quelle der Wahrheit für den Authentifizierungsmodus, das Ablaufdatum oder die Claim-URL.
Was dem Benutzer mitgeteilt werden soll
Für veröffentlichte Sites:
- Teile immer die
siteUrlaus der aktuellen Skriptausführung mit. - Lese und befolge die
publish_result.*-Zeilen aus dem Skript-Stderr, um den Authentifizierungsmodus zu bestimmen. - Wenn
publish_result.auth_mode=authenticated: Teile dem Benutzer mit, dass die Site dauerhaft ist und in seinem Konto gespeichert wurde. Es ist keine Claim-URL erforderlich. - Wenn
publish_result.auth_mode=anonymous: Teile dem Benutzer mit, dass die Site in 24 Stunden abläuft. Teile die Claim-URL mit (wennpublish_result.claim_urlnicht leer ist und mithttps://beginnt), damit er die Site dauerhaft behalten kann. Warne, dass Claim-Tokens nur einmal zurückgegeben werden und nicht wiederhergestellt werden können. - Sage dem Benutzer niemals, er solle
.herenow/state.jsonauf Claim-URLs oder den Authentifizierungsstatus überprüfen.
Für Drives:
- Beschreibe Drive-Dateien nicht als öffentliche URLs.
- Teile dem Benutzer mit, dass Drive-Inhalte privat sind, es sei denn, sie werden mit einem bereichsbezogenen Token geteilt.
- Bevorzuge beim Teilen des Zugriffs mit einem anderen Agenten ein bereichsbezogenes Token mit einem engen
pathPrefixund einer kurzen TTL.
publish.sh-Optionen
| Flag | Beschreibung |
|---|---|
--slug {slug} | Aktualisiert eine bestehende Site anstatt eine neue zu erstellen |
--claim-token {token} | Überschreibt das Claim-Token für anonyme Aktualisierungen |
--title {text} | Viewer-Titel (für Nicht-HTML-Sites) |
--description {text} | Viewer-Beschreibung |
--ttl {seconds} | Legt die Ablaufzeit fest (nur authentifiziert) |
--client {name} | Agentenname für die Zuordnung (z. B. cursor) |
--base-url {url} | API-Basis-URL (Standard: https://here.now) |
--allow-nonherenow-base-url | Erlaubt das Senden von Authentifizierung an eine nicht standardmäßige --base-url |
--api-key {key} | API-Schlüssel-Override (bevorzuge Anmeldedatei) |
--spa | Aktiviert SPA-Routing (index.html für unbekannte Pfade ausliefern) |
jenseits von publish.sh
Für Drive-Operationen verwende ./scripts/drive.sh oder die Drive-API. Für umfassendere Konto- und Site-Verwaltung – Suche, Profile, Löschen, Metadaten, Passwörter, Domains, Subdomain-Handles, Links, Variablen, Proxy-Routen, Duplikation und mehr – siehe die aktuelle Dokumentation:
Vollständige Dokumentation: https://here.now/docs