Wie übergebe ich Daten an ein Artifact?

Haben Sie Tipps, wie man Daten an das Artefakt übergibt? Ich möchte dasselbe Artefakt an vielen Stellen in meinem Forum einfügen, wobei ich in jedem Platz einen anderen JWT-Token verwende. Ich habe versucht, Dinge wie diese zu machen, aber ich bekomme es nicht hin, dass der Creator es benutzt:


<div class="ai-artifact" data-jwt-token="mein-jwt-token" data-ai-artifact-id="10"></div>

Oder wenn der Web Creator herausfinden könnte, in welchem Thema er sich befindet, könnte ich damit arbeiten.

3 „Gefällt mir“

Das ist eine knifflige Sache, nein, das erlaubt das Framework im Moment nicht, es ist ein sehr interessanter Anwendungsfall.

Mir gefällt die Funktionsanfrage hier, einfach alle data-Attribute an das gesandboxten Artefakt weiterzugeben, es ist eine elegante Lösung.

Eine Option, die jedoch funktionieren könnte, ist die Nutzung von Query-Parametern, aber der gesandboxte Iframe hatte keinen Zugriff darauf:

https://meta.discourse.org/discourse-ai/ai-bot/artifacts/166?222

@david Glaubst du, es gibt irgendwelche Sicherheitsimplikationen, wenn Informationen aus der Außenwelt an ein Artefakt weitergegeben werden? (Sandbox verlassen, aber ich schätze, window.location.search in irgendein Attribut echoen?)

3 „Gefällt mir“

Dem Artefakt Zugriff auf die Query-Zeichenkette zu gewähren, klingt in Ordnung. Am einfachsten wäre es, Ruby zu verwenden, um sie in das nicht vertrauenswürdige HTML-Dokument einzufügen. Vielleicht als Meta-Tag oder so etwas.

3 „Gefällt mir“

Es war die Idee des Bots. :slight_smile:

Ich würde denken, es ist ein sehr häufiger Anwendungsfall für reale Artefakte. Ich habe ein Finanzanalyse-Artefakt, das ich gegen viele Investitionen laufen lassen möchte. Das Artefakt zieht die Leistungsdaten aus einer API und verwendet den JWT, um die jeweilige Investition zu identifizieren. Viele verschiedene Artefakte zu erstellen, jedes mit einem anderen hartcodierten JWT, ist keine Option.

Nicht um mein Glück zu strapazieren, aber wenn ich auch die Benutzer-ID und die Topic-ID im Artefakt erhalten könnte, würde das viel mehr Anwendungen eröffnen.

4 „Gefällt mir“

Thema-ID ist einfach hinzuzufügen, aber die Benutzer-ID kann ein kleines bisschen kniffliger sein, da das Artefakt stark gecacht wird. Wir müssten einen Teil des Cachings reduzieren, um das zu erreichen.

Das wäre für meine Anwendung tatsächlich besser, als Datenattribute zu übergeben. Es gibt eine 1:1-Zuordnung zwischen Topics und meinen JWTs, sodass ich den JWT nachschlagen kann, ohne den JWT in jedem Beitrag bearbeiten zu müssen.

Das deckt wahrscheinlich jedoch keine anderen Anwendungsfälle ab.

Technisch gesehen reicht es aus, die URL zu übergeben, da die Topic-ID Teil der URL ist.

Ich werde das nächste Woche klären, arbeite gerade an der PDF-Unterstützung :slight_smile:

Nur zur Überprüfung, wurde dies jemals implementiert?

Noch nicht, ich werde heute ein wenig damit spielen, um zu sehen, wie kompliziert das ist.

Das wird es lösen. Es gibt wirklich keine einfache Wahl, als hier postMessage zu verwenden, aufgrund von Sandboxing, sodass die API ein await erfordert … es funktioniert aber, was gut ist.

7 „Gefällt mir“

Funktioniert bei mir großartig!

1 „Gefällt mir“