Chat SDKがテーブルレンダリングとストリーミングMarkdownを追加
VercelのChat SDKが、全プラットフォームアダプターでテーブルをネイティブにレンダリングし、ストリーミング中のマークダウンを各プラットフォームのネイティブ形式に変換する機能を追加した。
キーポイント
テーブルレンダリングの統一化
新しいTable()コンポーネントにより、すべてのプラットフォームアダプターでテーブルをネイティブにレンダリングできるようになり、ヘッダーと行を渡すだけで各プラットフォームに最適な形式に自動変換される。
ストリーミングマークダウンの改善
Slackではネイティブストリーミングパスで太字、斜体、リストなどの書式がリアルタイムでレンダリングされ、その他のプラットフォームでは中間編集ごとにマークダウンからネイティブ形式への変換パイプラインが適用されるようになった。
プラットフォーム別の最適化
SlackはBlock Kitテーブルブロック、TeamsとDiscordはGFMマークダウンテーブル、Google Chatは等幅テキストウィジェット、Telegramはコードブロックに変換するなど、各プラットフォームの特性に合わせた最適な形式で表示される。
アダプターのデフォルト機能強化
プラットフォーム固有のレンダリングがないアダプターも改善されたデフォルトを含むようになり、新しい書式機能がアダプターごとの更新を必要とせずにすべてのプラットフォームで動作する。
影響分析・編集コメントを表示
影響分析
この更新により、Chat SDKを利用する開発者は複数のプラットフォーム間で一貫したリッチなUI体験を提供できるようになり、特にストリーミング応答時のユーザー体験が大幅に改善される。クロスプラットフォームチャットアプリケーション開発の効率性と品質向上に寄与する技術的進化と言える。
編集コメント
クロスプラットフォーム対応のチャットSDKにおける実用的な機能強化で、特にストリーミング時のユーザー体験改善に焦点を当てた技術的進化が注目される。開発者にとっては実装の簡素化と一貫性確保に貢献する内容。
Chat SDKは現在、すべてのプラットフォームアダプターにおいてテーブルをネイティブにレンダリングし、ストリーミング中にマークダウンを各プラットフォームのネイティブ形式に変換します。
Table()コンポーネントはChat SDKの新しいカード要素で、すべてのプラットフォームアダプターでテーブルをレンダリングするための、簡潔で構成可能なAPIを提供します。ヘッダーと行を渡すだけで、残りはChat SDKが処理します。
アダプターレイヤーは、テーブルを各プラットフォームがサポートする最適な形式に変換します。SlackはBlock Kitのテーブルブロックをレンダリングし、TeamsとDiscordはGFMマークダウンテーブルを使用し、Google Chatは等幅テキストウィジェットを使用し、Telegramはテーブルをコードブロックに変換します。GitHubとLinearは既存のマークダウンパイプラインを通じてテーブルをサポートしており、従来通り動作します。Table()を使用しないプレーンなマークダウンテーブルも、同じパイプラインで変換されます。
ストリーミングマークダウンも全体的に改善されました。Slackのネイティブストリーミングパスでは、メッセージ完了時まで書式が解決されず待たされるのではなく、応答が到着するにつれて太字、斜体、リストなどの書式がリアルタイムでレンダリングされるようになりました。フォールバックストリーミングパス(Teams、Discord、Google Chat、Telegram、GitHub、Linear)を使用する他のすべてのプラットフォームでは、ストリーミングされたテキストが、中間編集のたびに各アダプターのマークダウンからネイティブへの変換パイプラインを通過するようになりました。以前は、これらのアダプターは生のマークダウン文字列を受け取っていたため、ユーザーは最終メッセージまで文字通りの 太字 構文を目にしていました。
プラットフォーム固有のレンダリング機能を持たないアダプターには改善されたデフォルト設定が含まれるようになったため、新しい書式設定機能が、アダプターごとの個別更新を必要とせず、すべてのプラットフォームで動作します。
最新版のChat SDKに更新してご利用を開始し、ドキュメントをご覧ください。
Read more
原文を表示
Chat SDK now renders tables natively across all platform adapters and converts markdown to each platform's native format during streaming.
The Table() component is a new card element in Chat SDK that gives you a clean, composable API for rendering tables across every platform adapter. Pass in headers and rows, and Chat SDK handles the rest.
The adapter layer converts the table to the best format each platform supports. Slack renders Block Kit table blocks, Teams and Discord use GFM markdown tables, Google Chat uses monospace text widgets, and Telegram converts tables to code blocks. GitHub and Linear already supported tables through their markdown pipelines and continue to work as before. Plain markdown tables (without Table()) are also converted through the same pipeline.
Streaming markdown has also improved across the board. Slack's native streaming path now renders bold, italic, lists, and other formatting in real time as the response arrives, rather than resolving when the message is complete. For all other platforms using the fallback streaming path (Teams, Discord, Google Chat, Telegram, GitHub, and Linear), streamed text now passes through each adapter's markdown-to-native conversion pipeline at every intermediate edit. Previously, these adapters received raw markdown strings, so users saw literal bold syntax until the final message.
Adapters without platform-specific rendering now include improved defaults, so new formatting capabilities work across all platforms without requiring adapter-by-adapter updates.
Update to the latest Chat SDK to get started, and view the documentation.
Read more
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み