GEM PagesDokumentation · Version 0.1.0

Dokumente mit Pages teilen

Mit Pages kannst du HTML-Dokumente veröffentlichen und per Link teilen. Geschützte Dokumente können nur Personen mit der passenden Berechtigung öffnen.

Der Agent-Skill enthält den Upload-Client und die Anleitung zur Verwendung. Er wird ausschließlich manuell aufgerufen. Das Schreiben oder Bearbeiten eines Dokuments löst keinen Upload aus.

Die Dateien werden direkt auf den Pages-Server hochgeladen. Ein Git-Commit ist nicht erforderlich.

Voraussetzungen

  • Ein Forgejo-Konto mit Zugriff auf den gewünschten Dokumentenbereich.
  • Zum Veröffentlichen Schreibzugriff, zum Lesen Lesezugriff auf das zugehörige Repository.
  • Ein Agent, der Skills mit ausschließlich manuellem Aufruf unterstützt.

Der Client ist für Windows, macOS und Linux verfügbar, jeweils für Intel/AMD 64-Bit und ARM64. Python, Go, Git und Docker werden auf deinem Rechner nicht benötigt. Unter WSL verwendest du das Linux-Paket.

Wenn du nur Dokumente im Browser lesen möchtest, musst du nichts installieren. Öffne den Dokumentenlink und melde dich an.

Skill durch einen Agenten installieren

Gib deinem Agenten diesen Auftrag:

Installiere den Skill von https://pages.home.jandillenberger.com/install.md.
Der Skill darf ausschließlich manuell aufgerufen werden.
Prüfe die Installation, ohne ein Dokument hochzuladen.

Die Installationsanleitung für Agenten beschreibt die Auswahl des passenden Pakets, die Prüfsumme und die Einstellungen für den manuellen Aufruf. Je nach Agent wird der Skill erst in einer neuen Sitzung sichtbar.

Du kannst das passende Skill-Paket auch selbst herunterladen und in den Skill-Ordner deines Agenten entpacken. Das Paket enthält den Client unter bin/. Der Client muss nicht zum PATH hinzugefügt werden.

Persönlichen Zugang einrichten

Jede Person verwendet ihren eigenen Zugangsschlüssel. Der Schlüssel wird lokal gespeichert und gehört weder in einen Chat noch in ein Dokument oder das Skill-Paket.

  1. Melde dich bei Forgejo an. Falls dir der Zugriff auf den Dokumentenbereich fehlt, muss eine zuständige Person ihn zuerst freigeben.
  2. Öffne Einstellungen → Anwendungen und erstelle einen persönlichen Zugriffsschlüssel.
  3. Wähle den API-Bereich read:repository und beschränke den Schlüssel auf gem/agent-docs oder den dir zugewiesenen Dokumentenbereich.
  4. Starte im Ordner des installierten Skills den folgenden Befehl in deinem eigenen Terminal und füge den Schlüssel bei der verdeckten Eingabe ein.

macOS und Linux

./bin/pages login --repo gem/agent-docs

Windows mit PowerShell

.\bin\pages.exe login --repo gem/agent-docs

Du kannst den Client auch über seinen vollständigen Pfad starten. Der Befehl status zeigt anschließend den eingestellten Bereich und deine Berechtigungen.

Der API-Bereich read:repository reicht aus, weil Pages die Schreibberechtigung deines Kontos zusätzlich prüft. Er allein gibt dir kein Recht, Dokumente zu veröffentlichen.

Skill verwenden

Rufe den Skill ausdrücklich auf und nenne das Dokument, das veröffentlicht werden soll. Zum Beispiel:

Verwende $publish-agent-docs und veröffentliche bericht.html
geschützt im Bereich gem/agent-docs. Gib mir anschließend den Link.

Eine einzelne HTML-Datei wird als index.html veröffentlicht. Für ein Dokument mit lokalen Bildern, Stylesheets oder JavaScript verwendest du einen eigenen Ordner mit index.html und den dazugehörigen Dateien.

Wenn du ein bestehendes Dokument aktualisieren möchtest, benenne es ausdrücklich. Ohne --replace lehnt der Client ein Überschreiben ab.

Zum Lesen durch einen Agenten:

Verwende $publish-agent-docs und lies dieses Dokument:
https://gem.pages.home.jandillenberger.com/agent-docs/bericht/

Die Installation des Skills erlaubt noch keinen Upload. Der Skill darf keine Testdokumente veröffentlichen und keine Dateien automatisch auswählen.

Wer kann die Dokumente lesen?

Alle geschützten Dokumente eines Bereichs verwenden die Berechtigungen seines privaten Forgejo-Repositories. Im Bereich gem/agent-docs können die dort eingetragenen Leser die Dokumente öffnen. Wer Schreibzugriff hat, kann Dokumente in diesem Bereich veröffentlichen, ersetzen und löschen.

Unterschiedliche Dateinamen erzeugen keine unterschiedlichen Empfängerkreise. Für einen anderen Personenkreis brauchst du einen eigenen Bereich mit den passenden Repository-Berechtigungen. Die Repository-Verwaltung erfolgt in Forgejo; die Dokumentdateien liegen auf dem Pages-Server.

Geschützt ist die Voreinstellung. Nur wenn du einen öffentlich zugänglichen Link ausdrücklich möchtest, verwende --public. Solche Dokumente sind ohne Anmeldung erreichbar.

Um einen Zugang zu entziehen, entferne die Repository-Berechtigung oder widerrufe den persönlichen Schlüssel in Forgejo. pages logout entfernt nur die lokal gespeicherten Zugangsdaten.

Client direkt verwenden

Die Beispiele nennen das Programm pages. Verwende dafür den Pfad zur heruntergeladenen Datei oder zur Datei unter bin/ im Skill.

pages status
pages publish bericht.html --name bericht
pages publish bericht.html --name bericht --replace
pages publish ./export --name projektstand --repo gem/agent-docs
pages fetch https://gem.pages.home.jandillenberger.com/agent-docs/bericht/
pages fetch https://gem.pages.home.jandillenberger.com/agent-docs/bericht/ --output bericht.html
pages logout
pages help

Ein Upload ist auf 20 MiB komprimiert und 2.500 Archiveinträge begrenzt. Eine einzelne Datei darf höchstens 5 MiB groß sein. Symbolische Links werden abgelehnt. Der Ordnerinhalt wird vollständig veröffentlicht, mit Ausnahme der Versionsverwaltungsordner .git, .hg und .svn.

Zugangsdaten liegen im persönlichen Konfigurationsordner unter forge-pages/config.json. Unter Linux ist das üblicherweise ~/.config, unter macOS ~/Library/Application Support und unter Windows %AppData%. Der Schlüssel ist dort lesbar gespeichert und muss wie andere persönliche Zugangsdaten geschützt werden.

Agent-Umgebungen mit einer eigenen Geheimnisverwaltung können FORGE_PAGES_TOKEN bereitstellen. Dann ist keine Speicherung durch den Client nötig.

Downloads

Version 0.1.0. Das Skill-Paket enthält die Anleitung, die Einstellungen für den manuellen Aufruf und den passenden Client. Wenn du nur das Programm verwenden möchtest, lade die einzelne Programmdatei herunter.

SHA-256-Prüfsummen · Download-Metadaten für Agenten · Quellcode als ZIP · Repository

Unter macOS und Linux muss die Programmdatei ausführbar sein. Falls dein Entpackprogramm das Dateirecht nicht übernimmt, setze es mit chmod +x bin/pages.

Probleme beheben

Der Skill wird nicht gefunden

Prüfe den Skill-Ordner deines Agenten und starte gegebenenfalls eine neue Sitzung. Der Skill bleibt manuell aufrufbar. Bei einem Agenten ohne Einstellung gegen automatische Aufrufe verwendest du nur den Client.

Der Zugriff wird abgelehnt

Prüfe mit pages status den eingestellten Bereich. Dein Konto braucht Zugriff auf das zugehörige Repository, und der persönliche Schlüssel muss diesen Bereich abdecken. Zum Veröffentlichen ist Schreibzugriff erforderlich.

Der Dokumentenname ist bereits vergeben

Wähle einen anderen Namen. Für eine beabsichtigte Aktualisierung desselben Dokuments verwende --replace.

Das Dokument lädt im Browser, aber nicht beim Agenten

Der Browser verwendet deine Anmeldesitzung. Der Agent benötigt einen eigenen gültigen Schlüssel mit Leseberechtigung und ruft das Dokument mit pages fetch ab.