アーティファクトにデータを渡すにはどうすればいいですか?

アーティファクトにデータを渡す方法について、何かアドバイスはありますか?同じアーティファクトをフォーラムの複数の場所に貼り付けて、それぞれ異なるJWTトークンを使用したいのです。以下のようなことを試してみましたが、作成者にこれを使わせることができません:


div class="ai-artifact" data-jwt-token="my-jwt-token" data-ai-artifact-id="10"/div

または、Webクリエイターがそれが属するトピックIDを把握できる場合、その情報を使えます。

「いいね!」 3

これは難しいですね。現時点ではフレームワークでは許可されていませんが、非常に興味深いユースケースです。

サンドボックス化されたアーティファクトにすべてのdata-属性をそのまま渡すという機能リクエストは、エレガントな解決策だと思います。

ただし、クエリパラメータを利用するという方法もありますが、サンドボックス化されたiframeにはそれにアクセスできませんでした。

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

@david、外部の世界に関する情報をアーティファクトに渡すことについて、セキュリティ上の懸念はありますか?(サンドボックス化はそのままですが、window.location.search を何らかの属性にエコーするようなことでしょうか?)

「いいね!」 3

アーティファクトにクエリ文字列へのアクセスを許可することは問題ないと思われます。最も簡単な方法は、Ruby を使用して信頼できない HTML ドキュメントにそれを注入することでしょう。メタタグのようなものとして。

「いいね!」 3

ボットのアイデアでした。 :slight_smile:

現実世界のアーティファクトにとって非常に一般的なユースケースだと思います。多くの投資に対して実行したい財務分析アーティファクトがあります。アーティファクトは、JWTを使用してどの投資を識別し、APIからパフォーマンスデータをプルします。それぞれ異なるハードコーディングされたJWTを持つ多くの異なるアーティファクトを作成することは、現実的ではありません。

運が良ければ、ユーザーIDとトピックIDもアーティファクトで取得できれば、さらに多くのアプリケーションが可能になります。

「いいね!」 4

トピックIDは簡単に追加できますが、ユーザーIDはアーティファクトがキャッシュされているため、少しトリッキーになる可能性があります。それを実現するには、キャッシュの一部を減らす必要があります。

実際、これはデータ属性を渡すよりも私のアプリケーションに適しています。トピックと私のJWTの間には1対1のマッピングがあるため、JWTを各投稿で編集することなく、JWTを検索できます。

ただし、これは他のユースケースには対応していない可能性があります。

URL を渡すだけで解決します。トピック ID は URL の一部だからです。

来週対応します。今は PDF サポートに取り組んでいます :slight_smile:

確認ですが、これは実装されましたか?

まだです。今日少し遊んでみて、これがどれほど複雑か見てみます。

これで解決するはずです。サンドボックス化のため、postMessage を使用する以外に簡単な選択肢はなく、API には await が必要です… しかし、機能します。それは良いことです。

「いいね!」 7

私にはうまくいきます!

「いいね!」 1