Communitygithub.com

texopub-publish

Veröffentlichen oder aktualisieren Sie eine statische HTML-Website oder laden Sie eine einzelne Datei in den persönlichen TexoPub-Space des Benutzers hoch, indem Sie verbundene Cloud-MCP-Tools nutzen. Verwenden Sie dies, wenn der Benutzer TexoPub-Veröffentlichung, ein Update oder persönliche Asset-Speicherung, Kreativprofile, AI-Partner, Katalogisierung externer Websites, Asset-Berechtigungen, Änderungen der Auflistung, Standardeinstellungen oder dauerhaftes Löschen anfordert.

Was ist texopub-publish?

TexoPub ist eine Cloud-Plattform für kollaboratives Veröffentlichen von Menschen und KI. Dieses Skill aktiviert MCP-Tools (Model Context Protocol), um in der Cloud statische Websites zu hosten, eigenständige Dateien hochzuladen und die Listing-Sichtbarkeit zu steuern – ohne dass der Agent auf lokale Dateipfade zugreift. Der Skill stellt eine Tabelle mit Operationen bereit: `list_categories`, `publish_website`, `prepare_upload` und `delete_work` sind einige der Dutzenden von Tools, die das Erstellen, Aktualisieren, Archivieren und dauerhafte Löschen von Werken abdecken. Der Agent muss den Kontext der Anfrage interpretieren (z. B. „Veröffentliche meine Website“), die richtige Kategorie auswählen, bei Bedarf ein SVG-Icon erstellen und die vollständige Dateimenge übergeben – alles über die MCP-Plugin-Schnittstelle.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/ivanliyuanning/texopub/tree/main/service/plugin/skills/texopub-publish

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Englische Anleitung: https://texopub.com/for-ai/en/SKILL.md · Englische Oberfläche: https://texopub.com/?lang=en

TexoPub Cloud-Veröffentlichung

Nutzen Sie die TexoPub-MCP-Tools. Diese laufen in der Cloud und können keinen lokalen Dateisystempfad lesen. Die Plugin-Verbindung verwendet das TexoPub-Konto des Benutzers; die Installation des Pakets autorisiert nicht automatisch die Veröffentlichung.

Wählen Sie die Operation

AnfrageZuerst lesenSchreib-/Aktions-Tool
Kategorien oder öffentliche Werke findenlist_categories; öffentlicher Katalog via HTTPKeine Veröffentlichung nötig
Eigenen Space/Inhalt identifizierenget_my_space, list_my_works, get_work, list_my_materialsKeine Mutation nötig
Menschlichen Namen/Avatar/Biografie ändernget_my_profileupdate_my_profile
AI-Partnerkarte registrieren/ändernget_my_profileupsert_ai_partner
Gehostete statische Seite veröffentlichen/aktualisierenlist_categories; get_work für Updatespublish_website
Vorhandene externe Seite katalogisieren/aktualisierenlist_categories; get_work für Updatessubmit_website
Einzelne eigenständige Datei hochladen/aktualisierenget_work für Updatesupload_asset
Größere komplette Website veröffentlicheninspect_files in Chargenprepare_upload → upload_file → commit_upload
Vorhandene Website-Auflistung ändernget_workset_work_listing
Zukünftige Standardauflistung ändernget_my_spaceset_publish_preferences
Zugriff auf eigenständiges Asset ändernget_workset_asset_visibility
Zugriff schließen / dauerhaft löschenget_workarchive_work / delete_work

get_work liest nur eigene Inhalte, einschließlich Entwürfe/Archive. Es ist kein beliebiger öffentlicher Werke-Leser. Ein verbundenes Plugin verwendet OAuth; fordern Sie keinen separaten API-Schlüssel an und fragen Sie nicht nach einem Verifizierungscode/Cookie. Die Website ist eine Lese-/Anzeige-Community mit menschlichem Login, Homepage-Opt-in und Anmeldeverwaltung; die Bearbeitung von Inhalten gehört zur KI.

Auswahl der Auflistung und dauerhaftes Löschen

Fragen Sie vor jeder Website-Veröffentlichung: „展示在哪里?不展示 / 仅个人主页 / 公开展示(默认)“. Lesen Sie get_my_space.default_listing für den Standardvorschlag. Wenn der Benutzer bereits in der Anfrage gewählt oder eine anwendbare dauerhafte Anweisung gegeben hat, folgen Sie dieser ohne erneute Nachfrage. Ein vorgeschlagener Standardwert ist keine Antwort; wenn eine Antwort benötigt wird, warten Sie darauf. Standardmäßig ist die Einstellung public; der Benutzer kann sie mit set_publish_preferences(default_listing) ändern, ohne bestehende Werke oder seine Homepage zu ändern. Die Änderung des Standardwerts allein unterdrückt die Veröffentlichungsfrage nicht.

  • listing: unlisted = 不展示 (nur in der Verwaltungssammlung des Eigentümers)
  • profile = 仅个人主页 (nur auf der aktivierten persönlichen Homepage)
  • public = 公开展示 (Homepage und TexoPub-Entdeckung)

Alle drei Modi halten die URL und Abhängigkeiten für jeden mit dem Link zugänglich. Dies sind Auflistungssteuerungen, keine private Authentifizierung. Eigenständige Assets behalten ihre separaten Regeln für privaten/öffentlichen Zugriff. Aktivieren Sie keine persönliche Homepage automatisch.

Übergeben Sie listing an publish_website oder prepare_upload. Bei Aktualisierungen, die es weglassen, bleibt der vorhandene Wert des Werks erhalten. Um es zu ändern, ohne Dateien hochzuladen, lesen Sie get_work und rufen Sie dann set_work_listing(work_id, expected_version, expected_revision, listing) auf.

Wenn explizit um dauerhaftes Löschen gebeten wird, lesen Sie get_work und rufen Sie delete_work(work_id, expected_version, confirm=true) auf. Die Version eines Entwurfs kann null sein. Das Löschen ist endgültig: Es schließt den Zugriff, entfernt jede historische Version und Dateien, die nicht von anderen Inhalten verwendet werden, und gibt das Kontingent nach Abschluss frei. Wenn deleted=false ist, fahren Sie mit genau denselben Parametern fort, bis deleted=true ist; wiederholen Sie Fehler mit denselben Parametern. Melden Sie keinen vorzeitigen Erfolg. Der kleine Adress-Tombstone bleibt bestehen, damit alte URLs nicht auf die zukünftige Arbeit einer anderen Person verweisen können. archive_work schließt nur den Zugriff und behält Verlauf/Kontingent, ist also keine dauerhafte Löschung. Räumen Sie wegwerfbare Testveröffentlichungen nach Akzeptanz mit delete_work auf.

Eine Website veröffentlichen

  1. Bestätigen Sie, dass der angeforderte Inhalt eine statische Website ist und der Benutzer die Veröffentlichung angefordert hat. Das Erstellen einer Seite allein ist keine Erlaubnis, sie zu veröffentlichen. Laden Sie keine Anmeldeinformationen, Quellrecherche oder nicht zusammenhängende Dateien hoch.
  2. Lesen Sie list_categories, um eine gültige category_id der zweiten Ebene und ein geeignetes format zu wählen. Verwenden Sie den vollständigen Pfad group.id/child.id, z. B. technology/software, niemals die Child-ID software allein.
  3. Erstellen Sie für eine neue Website ein dediziertes, eigenständiges SVG-Icon, das ihrem Thema entspricht, und übergeben Sie es als icon_svg. Ein generisches Plattform-Icon ist kein werk-spezifisches Icon.
  4. Verwenden Sie publish_website. Senden Sie eine kleine, eigenständige Seite als html, zusätzliche Textseiten/CSS/JS als text_files und autorisierte Konversationsdateien als attachments mit passenden attachment_paths. Dateiwerte müssen über den Dateimechanismus des Hosts übergeben werden, nicht über eine sandbox:-URL oder einen lokalen Pfad. Relative Pfade bewahren Seiten- und Bildverknüpfungen. Liefern Sie den vollständigen Dateisatz, einschließlich aller Seitenabhängigkeiten.
  5. Verwenden Sie einen stabilen idempotency_key für Wiederholungen genau derselben Version. Eine neue beabsichtigte Version benötigt einen neuen Schlüssel. Der Server validiert die Dateibytes und führt den Commit nur durch, wenn das gesamte Paket bereit ist.
  6. Geben Sie die tatsächliche Service-URL sowie work_id/Version für Folge-Updates zurück. Behaupten Sie keine Akzeptanz von mobilem Browser oder Interaktion, ohne es getestet zu haben.

Der Einzelaufruf publish_website akzeptiert bis zu 8 Dateien inklusive Icon/Cover, 25 MiB pro Datei und 32 MiB insgesamt; HTML ist auf 2 MiB begrenzt. Das vollständige MCP-Anfrage-JSON ist auf 3 MiB begrenzt, daher benötigt großer Inline-Text auch eine gestaffelte Veröffentlichung. Verwenden Sie für größere Websites inspect_files in Chargen von bis zu 8, um die exakten Byte-Zahlen und SHA256-Hashes zu erhalten, führen Sie das Manifest zusammen, rufen Sie prepare_upload auf, dann upload_file einmal pro Datei und schließlich commit_upload. Die gestaffelte Veröffentlichung unterstützt das bestehende Limit von 250 Dateien / 100 MiB pro Paket und hält den Entwurf privat, bis alle Dateien bereit sind. Verwenden Sie beim Wiederholen dieselbe upload_id. Es akzeptiert extrahierte statische Dateien, kein ZIP, das eine serverseitige Entpackung erfordert, oder ein Framework-Quellprojekt, das eine Kompilierung benötigt. Bauen/exportieren Sie ein solches Projekt zuerst in der verfügbaren Ausführungsumgebung. Wenn eine referenzierte Datei nicht an das Plugin übergeben werden kann, bewahren Sie das Werk und erklären Sie das spezifische Problem der Dateiübergabe; behaupten Sie niemals, dass die Veröffentlichung erfolgreich war.

Die Plattform fügt ihre eigene Titel-/Home-Leiste und ihr Favicon hinzu. Das Werk steuert seine eigene Lese-Benutzeroberfläche; fügen Sie keine doppelte Plattformleiste hinzu oder reservieren Sie einen Plattform-Header-Offset.

Eine bestehende Website aktualisieren

Verwenden Sie list_my_works und get_work, um das beabsichtigte Werk und die aktuelle Version zu finden. Übergeben Sie seinen ursprünglichen slug, work_id und die aktuelle Version als expected_version. Aktualisierungen behalten die öffentliche URL. Nur bei publish_website kann das vorherige werk-spezifische Icon durch Weglassen von icon_svg und icon wiederverwendet werden; das wiederverwendete Icon zählt weiterhin zum 8-Dateien-Limit. submit_website erfordert immer icon_svg, auch bei Aktualisierungen. prepare_upload erfordert ein explizites vollständiges Manifest mit einer Icon-Datei und ihrem Paketpfad. Bei einem Versionskonflikt rufen Sie den aktuellen Zustand ab, bevor Sie fortfahren; erstellen Sie kein Duplikat und überschreiben Sie keine Änderungen stillschweigend.

Aktualisierungen übermitteln eine vollständige neue Version, keinen Patch. Fügen Sie alle beibehaltenen Seiten/Abhängigkeiten und Metadaten hinzu. Ausgelassene listing und ai_partners behalten ihre alten Werte; ai_partners: [] löscht Gutschriften. Gehen Sie nicht davon aus, dass andere ausgelassene Felder erhalten bleiben: summary/tags/format können auf Standardwerte zurückgesetzt werden, und ein ausgelassenes cover verwendet den typografischen Fallback. Fügen Sie das ursprüngliche Cover-Bild und seinen Pfad erneut ein, um es zu behalten. Ein Tool akzeptiert nicht jedes Feld, das im CLI/REST verfügbar ist; submit_website hat beispielsweise keine Tags/Lizenz-Parameter. Erfinden Sie keine Parameter und behaupten Sie nicht, dass nicht unterstützte Felder erhalten wurden.

Eigenständige Dateien

Verwenden Sie upload_asset mit einer autorisierten Konversationsdatei. Lassen Sie visibility für privaten Speicher weg. Setzen Sie visibility: public nur, wenn der Benutzer öffentlichen Zugriff autorisiert; eine private Asset-URL erfordert eine Authentifizierung des Eigentümers und ist keine anonyme Bild- oder Download-URL. Bilder, die von einer öffentlichen Webseite benötigt werden, sollten im Dateipaket dieser Webseite enthalten sein. Wenn Sie eine Ersatzversion hochladen, senden Sie explizit die beabsichtigte visibility; das Weglassen verwendet privat, anstatt die vorherige Berechtigung zu garantieren. Verwenden Sie set_asset_visibility, um nur die Berechtigung zu ändern, ohne erneut hochzuladen.

Konto und Entfernung

get_my_space identifiziert den verbundenen Space; list_my_materials listet seine Dateien auf. archive_work schließt den Zugriff und behält die historische Speichernutzung; verwenden Sie es nur auf Entfernungsanfrage des Benutzers, nachdem Sie die aktuelle Version gelesen haben. Es kann keine Werke anderer Herausgeber entfernen.

Wenn eine Verbindung erforderlich ist, lassen Sie den Host OAuth starten und den Benutzer auf texopub.com anmelden. Bitten Sie ihn niemals, ein Passwort, einen Verifizierungscode, einen Veröffentlichungsschlüssel oder ein Cookie in die Konversation einzufügen. Verbindungen können unter https://texopub.com/api/oauth/connections widerrufen werden.

Ersteller-Identität und AI-Partner (v0.3.0)

TexoPub ist eine Kollaborations-Community von Menschen und KI. Die Website zeigt Inhalte an; die Bearbeitung erfolgt durch KI. Menschliches Login, Homepage-Opt-in, API-Schlüsselausstellung und OAuth-Genehmigung bleiben auf der Website.

Verwenden Sie get_my_profile vor update_my_profile. Liefern Sie die aktuelle expected_revision, ändern Sie nur Felder, die der Benutzer angefordert hat, und lesen Sie bei Konflikten erneut. name: null stellt den stabilen generierten Namen wieder her; avatar_url: "" stellt den generierten Avatar wieder her; bio: "" löscht die Biografie. Fügen Sie eine Biografie nur hinzu, wenn sie vom Benutzer bereitgestellt oder bestätigt wurde. Benutzerdefinierte Avatare müssen öffentliche HTTPS-Bilder sein, niemals private authentifizierte Datei-URLs. Profil-Tools können die Homepage nicht aktivieren.

Lesen Sie zuerst get_my_profile und verwenden Sie den vorhandenen Partner-Key des passenden Clients erneut. Verwenden Sie upsert_ai_partner, um einen eigenen Partner zu registrieren oder zu aktualisieren: stabiler key, ein bestätigter application-Name und die aktuelle expected_revision dieses Partners (0 für neu), nicht die Revision des menschlichen Profils. Der ausgelassene Name standardmäßig auf die Anwendung. Legen Sie nur einen Spitznamen, eine Biografie, einen benutzerdefinierten Avatar oder show_on_profile fest, wenn dies von der Anfrage des Benutzers abgedeckt wird. Dies ist eine selbstberichtete Identität, keine verifizierte Modellattribution.

Übergeben Sie ai_partners an publish_website / prepare_upload für tatsächliche Teilnehmer an diesem Werk: [{"key":"codex","application":"Codex","contribution":"Layout und Interaktion implementiert"}]. Melden Sie model nur, wenn es vom aktuellen Client bekannt ist. Lassen Sie unbekanntes Modell und Biografie weg. Bloßes Hochladen ist keine Autorschaft. Folgern Sie keine alten Werk-Gutschriften. Vom Benutzer bestätigte historische Teilnahme kann verwendet werden, aber die Registrierung eines Partners fügt alten Werken niemals Gutschriften hinzu, und es gibt kein separates metadatenbasiertes Gutschriften-Tool. Verwenden Sie ein vollständiges autorisiertes Werks-Update, wenn das vollständige Quellpaket verfügbar ist; andernfalls bewahren Sie das Werk und erklären Sie die fehlende Fähigkeit/Quelle. Ein ausgelassenes Array bewahrt bestehende Gutschriften bei Updates; ein leeres Array löscht sie explizit. model und contribution gehören zu jeder Werksdeklaration, nicht zu upsert_ai_partner. Aktualisieren Sie den Anzeigenamen/Avatar eines bestehenden Partners über das Partner-Tool; eine Veröffentlichungsdeklaration benennt keine registrierte Karte um. Ein Partner erscheint auf einer aktivierten Homepage durch Profil-/öffentliche Werk-Gutschriften oder eine explizite show_on_profile: true-Anfrage. Das Setzen auf false hebt nur die unabhängige Anzeige auf; es verbirgt keine Gutschriften auf sichtbaren Werken. Es gibt kein Löschwerkzeug für Partner-Identitäten.

Die Cover-Generierung ist optional. Übergeben Sie einen gepackten Bildpfad als cover oder erlauben Sie dem Plattform-Titel/Kategorie/Icon-Layout den Fallback. Verlangen Sie nicht von Benutzern, nur zum Veröffentlichen Bilder zu generieren.

Vorhandene Websites und Asset-Berechtigungen

Verwenden Sie submit_website für eine bestehende öffentliche HTTPS-Website. Liefern Sie ihre URL, Kategorie und ein dediziertes Icon; kopieren Sie keine Dateien der ursprünglichen Seite oder ändern Sie ihr Hosting. Aktualisierungen verwenden die ursprüngliche Werk-Identität und aktuelle Version.

Verwenden Sie set_asset_visibility nur für ein eigenständiges Asset, nach get_work; übergeben Sie die aktuelle Version/Revision. Öffentlicher Zugriff erfordert die explizite Anfrage des Benutzers. Dies ändert Berechtigungen, ohne Bytes zu ersetzen. Es gilt nicht für die Abhängigkeiten einer Webseite.

Aktuelle Grenzen der Fähigkeiten und Überprüfung

Es gibt kein öffentliches Tool, um nur den Titel/die Zusammenfassung/das Cover/die AI-Gutschriften eines bestehenden Werks zu ändern, ohne eine vollständige neue Version zu übermitteln. Die Datenbankwartung des Plattform-Eigentümers ist keine allgemeine Plugin-Fähigkeit. Erstellen Sie keinen leeren HTML-Ersatz oder verlieren Sie Abhängigkeiten nur, um Metadaten zu ändern. Menschliche Profil-/Partnerkarten, Auflistung und Sichtbarkeit eigenständiger Assets haben direkte Update-Tools.

Abgelaufene Upload-Entwürfe können nach 24 Stunden nicht mehr committed werden und belegen weiterhin Speicherplatz. Ein ungenutztes neues Werk mit einer Nullversion kann dauerhaft gelöscht werden; es gibt keine öffentliche Operation, um nur eine verlassene Entwurfsversion eines ansonsten veröffentlichten Werks zu löschen. Löschen Sie nicht das gesamte veröffentlichte Werk, um einen Entwurf zu bereinigen.

Lesen Sie nach Schreibvorgängen das tatsächliche Profil/Werk erneut und überprüfen Sie nur die angeforderten Änderungen, Version, URL, Umfang und Gutschriften. Überprüfen Sie unlisted in eigenen Inhalten, profile auf einer aktivierten Homepage, public in der Entdeckung; überprüfen Sie auch Asset-Zugriff und seine Metadaten. Eine erfolgreiche Tool-Antwort oder HTTP 200 ist kein Beweis für Akzeptanz von mobilem Browser oder Interaktion. Lesen Sie bei 409 den aktuellen Zustand erneut; stellen Sie bei 401/403 die beabsichtigte Verbindung/Berechtigungen wieder her. Wiederholen Sie vorübergehende Fehler mit demselben Idempotenz-Schlüssel/denselben Operationsparametern; wiederholte Fehler erfordern einen konkreten Bericht, keine Endlosschleife.

Verwandte Skills