ai-sdk-ui-v7 について
AI SDK v7 と `@ai-sdk/react` でチャット画面を開発する人向けのスキルです。`useChat`によるクライアント側のメッセージ処理とストリーミングUIを扱い、バックエンドの生成処理はai-sdk-coreに委ねます。
主な機能
- 01バージョンに沿ったuseChatの指針
- 02DefaultChatTransportの設定
- 03ローカル入力とメッセージ表示のパターン
- 04ストリーミングUI応答の指針
- 05チャットUIのコードテンプレート
活用シーン
- 01Reactチャット画面の構築
- 02チャットを独自APIエンドポイントに接続
- 03partsとstatusを使ったメッセージ表示
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ blockmatic/ basilic-skills --skill ai-sdk-ui-v7インストール後、Claude Code で/ai-sdk-ui-v7を入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
templates/nextjs-api-route.tsnextjs-chat-app-router.tsxuse-chat-basic.tsx詳細
スキル:ai-sdk-ui
対象範囲
- 対象:
@ai-sdk/reactのuseChatおよびaiのDefaultChatTransport - 対象外:バックエンドでの生成(ai-sdk-core を参照)
前提
- SDK のメジャーバージョンは
ai^7 です。@ai-sdk/reactは別のメジャーバージョンのパッケージです。フォルダーはaiに従います。 useChatを記憶を頼りに書かないでください。node_modules/@ai-sdk/react/docs/とnode_modules/ai/docs/を grep してください。それができない場合は https://ai-sdk.dev/docs/ai-sdk-ui/chatbot を参照してください。- チャットの HTTP サーバーには Fastify を使う場合があります。URL が
/api/chatでない場合はtransportを渡してください。
原則
useChatは@ai-sdk/reactから、DefaultChatTransportはaiからインポートします。- 入力状態はローカルで管理し、
sendMessage({ text })を使用します。isLoadingではなくstatusを使用し、message.partsをレンダリングします。 - サーバーについては ai-sdk-core を参照してください。ハンドラーでは
createUIMessageStreamResponseとtoUIMessageStream({ stream: result.stream })を使用します。タスクがストリーミングまたは SDK に関係しない場合に限り、非推奨のtoUIMessageStreamResponse()はそのままにします。
制約
必須
- エンドポイントが
/api/chatでない場合はDefaultChatTransport({ api })を使用します。 status !== 'ready'の間は送信を無効にします。
使用を避ける
import { useChat } from 'ai/react'toDataStreamResponse/pipeDataStreamToResponse- v5 より前の
handleInputChange/handleSubmit/useAssistant
連携
- ai-sdk-core を使用します。
- fastify、next と組み合わせます。
テンプレート
コメント
Markdown 対応