kliping.pro
  • Docs
  • Explore
  • Builder
  • Directory
  • Colors
  • Typeset
Saved
Docs
  • Sections13
  • Installation5
  • Dark Mode4
  • Forms3
  • Registry6
  • Utilities2
  • More10
  • Components137
  • Accordion
  • Action Bar
  • AI Chat
  • AI Thread List
  • Alert
  • Alert Dialog
  • Angle Slider
  • Animated Grid Pattern
  • Aspect Ratio
  • Attachment
  • Avatar
  • Avatar Group
  • Badge
  • Badge Overflow
  • Banner
  • Border Beam
  • Breadcrumb
  • Bubble
  • Button
  • Button Group
  • Calendar
  • Card
  • Carousel
  • Chart
  • Checkbox
  • Checkbox Group
  • Chip
  • Circular Progress
  • Client Only
  • Collapsible
  • Color Picker
  • Color Swatch
  • Combobox
  • Combobox Advanced
  • Command
  • Compare Slider
  • Composition
  • Context Menu
  • Cropper
  • Data Grid
  • Data Table
  • Data Table Advanced
  • Date Picker
  • Dialog
  • Direction Provider
  • Dot Pattern
  • Drawer
  • Dropdown Menu
  • Editable
  • Empty
  • Field
  • File Upload
  • Form
  • FPS
  • Gauge
  • Hitbox
  • Hover Card
  • Input
  • Input Group
  • Input OTP
  • Item
  • Kanban
  • Kbd
  • Kbd Advanced
  • Key Value
  • Label
  • List
  • Listbox
  • Logos
  • Map
  • Marker
  • Marquee
  • Mask Input
  • Masonry
  • Media Player
  • Mention
  • Menubar
  • Message
  • Message Scroller
  • Native Select
  • Navigation Menu
  • Number Field
  • Pagination
  • Particles
  • Pending
  • Phone Input
  • Pin Input
  • Popover
  • Portal
  • Presence
  • Progress
  • QR Code
  • Questionnaire
  • Radio Group
  • Range Calendar
  • Rating
  • Relative Time Card
  • Resizable
  • Responsive Dialog
  • Scroll Area
  • Scroll Spy
  • Scroller
  • Segmented Input
  • Select
  • Selection Toolbar
  • Separator
  • Sheet
  • Sidebar
  • Skeleton
  • Slider
  • Software Purchase Card
  • Sonner
  • Sortable
  • Speed Dial
  • Spinner
  • Stack
  • Stat
  • Status
  • Stepper
  • Stepper Advanced
  • Swap
  • Switch
  • Table
  • Tabs
  • Tags Input
  • Tags Input Advanced
  • Textarea
  • Time Picker
  • Timeline
  • Toast
  • Toggle
  • Toggle Group
  • Tooltip
  • Tour
  • Typography
  • Visually Hidden
  • Visually Hidden Input
  1. Docs
  2. Components
  3. AI Chat

AI Chat

PreviousNext

Antarmuka chat untuk aplikasi AI: percakapan, pesan berformat markdown, penalaran, pemanggilan alat, lampiran, dan saran — dibangun di atas primitif chat headless.

Demo di atas membalas langsung di peramban (runtime "echo"), tanpa server dan tanpa kunci API. Di aplikasi Anda, pesan dikirim ke model lewat AI SDK.

Installation ​

pnpm dlx kliping@latest add ai-chat

Untuk menyambung ke model lewat AI SDK, pasang juga runtime-nya. @assistant-ui/ai-sdk menjalankan state chat AI SDK di atas runtime bersama, jadi ia butuh react terpasang walaupun React tidak merender apa pun:

pnpm add @assistant-ui/ai-sdk ai react

Usage ​

Bungkus AiThread dengan AuiProvider. Di Nuxt, jadikan komponen ini khusus klien (.client.vue): renderer server Vue tidak pernah membuang effect scope, jadi provider yang dirender di server menyisakan satu runtime per permintaan.

vue
<!-- app/components/Assistant.client.vue -->
<script setup lang="ts">
import { AISDKChat } from '@assistant-ui/ai-sdk'
import { AuiConfig, AuiProvider } from '@assistant-ui/vue'
import { AiThread } from '@/components/ui/ai-chat'

const config = AuiConfig({ threads: AISDKChat() })
</script>

<template>
  <AuiProvider :config="config">
    <AiThread class="h-dvh" />
  </AuiProvider>
</template>

AISDKChat() mengirim percakapan ke /api/chat. Rute itu cukup mengembalikan aliran dari streamText — misalnya di Nuxt:

ts
// server/api/chat.post.ts
import { anthropic } from '@ai-sdk/anthropic'
import { convertToModelMessages, streamText, type UIMessage } from 'ai'

export default defineEventHandler(async (event) => {
  const { messages } = await readBody<{ messages: UIMessage[] }>(event)
  const result = streamText({
    model: anthropic('claude-sonnet-5-5'),
    messages: await convertToModelMessages(messages),
  })
  return result.toUIMessageStreamResponse()
})

Pasang @ai-sdk/anthropic dan isi ANTHROPIC_API_KEY di .env. Penyedia model lain (OpenAI, Google, …) tinggal mengganti paket @ai-sdk/*-nya.

Parts ​

BagianBerkasIsi
AiThreadcomponents/ui/ai-chat/ai-thread.vuedaftar pesan, saran pembuka, gulir ke bawah, kotak tulis dengan lampiran, kirim/berhenti
AiMessagecomponents/ui/ai-chat/ai-message.vuesatu pesan: sunting, salin, buat ulang, pilih cabang
AiMarkdownTextcomponents/ui/ai-chat/ai-markdown-text.vueteks markdown (markdown-it, HTML mentah dimatikan)
AiReasoningcomponents/ui/ai-chat/ai-reasoning.vuepenalaran model yang bisa dibuka-tutup, terbuka selama mengalir
AiToolFallbackcomponents/ui/ai-chat/ai-tool-fallback.vuepemanggilan alat: status, durasi, argumen, persetujuan dan pertanyaan

Daftar percakapan ada di AI Thread List.

Requirements ​

Semua dipasang otomatis oleh kliping add; tabel ini untuk Anda yang memasang manual atau memeriksa project.

RequirementValue
ProjectVue 3.5+, Tailwind CSS v4, alias @ — disiapkan kliping init
npm packages@assistant-ui/core@^0.3.29, @assistant-ui/vue@^0.0.4, @lucide/vue@^1.31.0, markdown-it@^15.0.3, reka-ui@^2.10.3
Filescomponents/ui/ai-chat/ai-markdown-text.vue
components/ui/ai-chat/ai-message.vue
components/ui/ai-chat/ai-reasoning.vue
components/ui/ai-chat/ai-thread.vue
components/ui/ai-chat/ai-tool-fallback.vue
components/ui/ai-chat/index.ts

Anatomy ​

Susunan bagiannya seperti dipakai di contoh-contoh di atas. Impor semua bagian dari satu tempat, lalu susun begini:

vue
<AiThread />

Bagian lain yang tersedia: AiMarkdownText, AiMessage, AiReasoning, AiToolFallback.

API Reference ​

AiMarkdownText ​

Tidak punya props, events, atau slot sendiri.

AiMessage ​

Data attributeValue
[data-role]set at runtime

AiReasoning ​

Data attributeValue
[data-slot]"aui_reasoning-root"

AiThread ​

Tidak punya props, events, atau slot sendiri.

AiToolFallback ​

Data attributeValue
[data-slot]"aui_tool-fallback-root"
[data-outcome]set at runtime

CSS Variables ​

Token tema yang dibaca komponen ini — ubah nilainya di CSS global (:root dan .dark, lihat Theming) untuk mengubah tampilannya tanpa menyentuh komponennya: --accent, --accent-foreground, --background, --border, --destructive, --foreground, --muted, --muted-foreground, --primary, --primary-foreground, --radius, --ring.

Credits ​

Berasal dari assistant-ui (MIT, Copyright (c) 2026 AgentbaseAI Inc.). Rantai lengkapnya di Credits.

PreviousAction BarNext AI Thread List

On This Page

InstallationUsagePartsRequirementsAnatomyAPI ReferenceAiMarkdownTextAiMessageAiReasoningAiThreadAiToolFallbackCSS VariablesCredits

© 2026 Kliping. Free components are open source under the MIT License.

LicenseCreditsRoadmap