mcpField
C
chat-ui

chat-ui

github.com/magentosh開発442 回インストール12 週間前に更新
リポジトリ

chat-ui について

ui.inference.sh のチャット UI コンポーネントを紹介する開発者向けスキルです。メッセージの役割、入力欄、入力中インジケーター、スタイル設定を扱います。

主な機能

  1. 01チャットコンテナコンポーネント
  2. 02ユーザー・アシスタント・システムのメッセージ
  3. 03チャット入力コンポーネント
  4. 04入力中インジケーター
  5. 05Tailwind CSS と shadcn/ui のスタイル

活用シーン

  1. 01チャットインターフェースの構築
  2. 02役割別のメッセージ表示
  3. 03応答生成中の表示
  4. 04チャットコンポーネントのスタイル統一

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/magentosh/superpowers --skill chat-ui

インストール後、Claude Code で/chat-uiを入力して読み込まれたか確認します。

詳細

belt CLI スキルをインストール: npx skills add belt-sh/cli

チャット UI コンポーネント

ui.inference.sh のチャット構築ブロックです。

チャット UI コンポーネント

クイックスタート

# Install chat components
npx shadcn@latest add https://ui.inference.sh/r/chat.json

コンポーネント

チャットコンテナー
import { ChatContainer } from "@/registry/blocks/chat/chat-container"

<ChatContainer>
  {/* messages go here */}
</ChatContainer>
メッセージ
import { ChatMessage } from "@/registry/blocks/chat/chat-message"

<ChatMessage
  role="user"
  content="Hello, how can you help me?"
/>

<ChatMessage
  role="assistant"
  content="I can help you with many things!"
/>
チャット入力
import { ChatInput } from "@/registry/blocks/chat/chat-input"

<ChatInput
  onSubmit={(message) => handleSend(message)}
  placeholder="Type a message..."
  disabled={isLoading}
/>
入力中インジケーター
import { TypingIndicator } from "@/registry/blocks/chat/typing-indicator"

{isTyping && <TypingIndicator />}

完全な例

import {
  ChatContainer,
  ChatMessage,
  ChatInput,
  TypingIndicator,
} from "@/registry/blocks/chat"

export function Chat() {
  const [messages, setMessages] = useState([])
  const [isLoading, setIsLoading] = useState(false)

  const handleSend = async (content: string) => {
    setMessages(prev => [...prev, { role: 'user', content }])
    setIsLoading(true)
    // Send to API...
    setIsLoading(false)
  }

  return (
    <ChatContainer>
      {messages.map((msg, i) => (
        <ChatMessage key={i} role={msg.role} content={msg.content} />
      ))}
      {isLoading && <TypingIndicator />}
      <ChatInput onSubmit={handleSend} disabled={isLoading} />
    </ChatContainer>
  )
}

メッセージのバリエーション

ロール説明
userユーザーメッセージ(右揃え)
assistantAI の応答(左揃え)
systemシステムメッセージ(中央揃え)

スタイル設定

コンポーネントは Tailwind CSS と shadcn/ui のデザイントークンを使用します。

<ChatMessage
  role="assistant"
  content="Hello!"
  className="bg-muted"
/>

関連スキル

# Full agent component (recommended)
npx skills add inference-sh/skills@agent-ui

# Declarative widgets
npx skills add inference-sh/skills@widgets-ui

# Markdown rendering
npx skills add inference-sh/skills@markdown-ui

ドキュメント

コンポーネントのドキュメント:ui.inference.sh/blocks/chat

コメント