syncfusion-react-ai-assistview

Implement the Syncfusion React AI AssistView component. Use this skill to handle AI-powered conversational interfaces, AssistView setup, conversation flow, speech input or output, file attachments, UI customization, state management, chain of thoughts reasoning visualization, generative UI with dyna

By syncfusion · 615 installs

npx skills add syncfusion/react-ui-components-skills --skill syncfusion-react-ai-assistview

Source repository · Upstream listing

Syncfusion React AI AssistView Component Component Overview The Syncfusion React AI AssistView component is a comprehensive interactive chat component designed for building AI powered conversational interfaces. It provides: Core Capabilities Prompt Response Management : Manage conversation history with automatic data collection Real time Streaming : Stream AI responses character by character for live typing effects Chain of Thoughts : Visualize AI reasoning process through thinking blocks with multi stage workflow support Template System : Customize every UI element (banners, prompt items, responses, suggestions, footer) Multi View Support : Switch between conversation assist view and custom content views Voice Integration : Built in Speech to Text (voice input) and Text to Speech (voice output) File Attachments : Upload and include files with prompts Advanced Toolbars : Configurable toolbars for header, footer, responses, and prompts Telemetry Tracking : Track AI interaction metrics (duration, tool calls, tokens, model info) with a built in report tooltip on every response Mentions : Reference items from a configured data source via trigger characters (@, /) with filtering, highlighting, and customizable templates AI Service Integration : Direct integration with OpenAI, Azure OpenAI, and other AI services Event Driven Architecture : Hooks for prompt submission, changes, and component lifecycle Key Features Markdown Support : Render AI responses as formatted HTML via markdown parsing Conversation History : Automatic tracking of all prompts and responses Suggestion System : Display helpful prompt suggestions to guide users Avatar Customization : Customize user and AI icons/avatars Scroll Management : Auto scroll or manual scroll to bottom button Clear Functionality : Clear current prompt or entire conversation Regenerate Responses : Request alternative AI responses for existing prompts without resubmitting queries Responsive Design : Works on desktop and mobile with responsive layouts Telemetry Reports : Built in telemetry button on each response toolbar with configurable metrics, customizable report via beforeReport , custom attribute support, and per response token/model tracking Mentions in Prompt Editor : Configurable trigger character(s), local or remote data source, field mapping, filter type, highlighting, popup sizing, display/item/no records templates, and mentionSelect event for custom handling Documentation and Navigation Guide Getting Started 📄 Read: [references/getting started.md](references/getting started.md) Install @syncfusion/ej2 react interactive chat package Add CSS theme imports Create basic component initialization Render component to DOM First working functional component example Configuration Essentials 📄 Read: [references/configuration essentials.md](references/configuration essentials.md) Set initial prompt text and placeholders Configure prompt suggestions and suggestion headers Customize user and AI avatar icons Control clear button visibility Enable/disable scroll to bottom functionality Manage component instance via refs Set component dimensions (height and width) Apply custom CSS classes for styling Control header visibility Configure globalization (locale, RTL support) Enable state persistence across sessions Conversation Management 📄 Read: [references/conversation management.md](references/conversation management.md) Initialize with pre configured conversation data Add responses (string or object format) Access and manage conversation history Work with PromptModel data structure Render markdown in responses Persist and restore conversations Events and Interactions 📄 Read: [references/events and interactions.md](references/events and interactions.md) Handle component lifecycle (created event) Respond to prompt submissions (promptRequest event) Track prompt text changes (promptChanged event) Access detailed event arguments (PromptChangedEventArgs, PromptRequestEventArgs) Cancel prompt submissions programmatically Handle stop responding events for long operations Modify suggestions and toolbar items dynamically Implement event driven workflows Integrate with AI services via event handlers Toolbar Customization 📄 Read: [references/toolbar customization.md](references/toolbar customization.md) Configure four toolbar types (header, footer, response, prompt) Add custom toolbar items Control toolbar positioning (Inline vs Bottom) Customize toolbar icons Handle item click events Configure all ToolbarItemModel properties (align, cssClass, disabled, tabIndex, template, type, visible) Create custom toolbar item templates Control item visibility and enabled state dynamically Set tab order for keyboard navigation Manage attachment button behavior Enable regenerate responses functionality for multiple AI generated responses Navigate between regenerated responses with previous/next buttons File Attachments 📄 Read: [references/file attachments.md](references/file attachments.md) Enable file attachment support Configure upload endpoints (saveUrl, removeUrl) Restrict file types (allowedFileType) Set file size limits (maxFileSize) Limit number of attachments (maximumCount) Access attached files via attachedFiles array (FileInfo interface) Handle attachment lifecycle events (beforeAttachmentUpload, attachmentUploadSuccess, attachmentUploadFailure, attachmentRemoved, attachmentRemoving) Validate files before upload Initialize prompts with pre attached files Handle server side file processing Custom attachment templates (attachmentTemplate) Custom Views 📄 Read: [references/custom views.md](references/custom views.md) Create multiple views (Assist and Custom types) Set view names and icons Define view specific templates Configure activeView property to set initial view Switch between views programmatically Persist active view across sessions Conditionally set initial view based on user role or state Display side by side content panels Use cases for multi view layouts Templating System 📄 Read: [references/templating system.md](references/templating system.md) Customize banner templates (welcome content) Create prompt item templates (user message display) Design response item templates (AI response display) Render a custom loading animation with responseAnimationTemplate while a response is being generated Build suggestion item templates Create custom footer templates Access template context data AI Service Integration 📄 Read: [references/ai integration setup.md](references/ai integration setup.md) Integrate with Azure OpenAI, OpenAI, Gemini, Claude Configure API credentials and authentication Handle real time prompt processing Stream responses for live typing effects Parse markdown responses with marked library Error handling and rate limiting Security considerations for API keys Generative UI 📄 Read: [references/generative ui.md](references/generative ui.md) Register custom tools with registerToolUI() method Configure tool templates and handlers for rendering Add interactive elements (charts, cards, custom tools) via blocks property Render multiple tools within single AI response Configure AI system prompts for structured JSON generation AI service integration with generative UI blocks Speech Capabilities 📄 Read: [references/speech capabilities.md](references/speech capabilities.md) Enable Speech to Text (voice input) Configure speech recognition language Handle interim transcripts while speaking Implement Text to Speech (voice output) via Web Speech API Convert AI responses to spoken audio Customize TTS with textToSpeechSettings (language, speechPitch, speechRate, volume, voice) Customize button labels and icons Handle speech events (start, stop, transcript, error) Browser compatibility notes Chain of Thoughts 📄 Read: [references/chain of thoughts.md](references/chain of thoughts.md) Visualize AI reasoning process with thinking blocks Configure thinking blocks with stages and status updates Add multi stage reasoning workflows (completed, inprogress, failed) Customize thinking block templates Add inline context items with badges and tooltips Handle editableContextClicked events for interactive context Configure stage level item templates Stream thinking blocks for real time reasoning visualization Methods and APIs 📄 Read: [references/methods and apis.md](references/methods and apis.md) Use addPromptResponse() method Execute prompts dynamically with executePrompt() Scroll to bottom programmatically Access component instance via refs Manage component state Common patterns and gotchas Telemetry 📄 Read: [references/telemetry.md](references/telemetry.md) Enable telemetry tracking via telemetrySettings.enable Render a built in telemetry button on every response toolbar with hover tooltip report Configure the metrics filter to restrict and order rows in the tooltip ( status , duration , toolCalls , streamingChunks , model , inputTokens , outputTokens , totalTokens , reasoningTokens , cachedInputTokens ) Intercept the report with the beforeReport event to modify it, add customAttributes , or return null to suppress Pass TelemetryData (model, input/output tokens, reasoning/cached tokens) to addPromptResponse() to merge AI usage details into the report Surface domain specific metrics via TelemetryData.customAttributes (always shown regardless of the metrics filter) Understand the auto measured vs. externally provided metrics and their display precedence Work with TelemetrySettingsModel , TelemetryData , and TelemetryReport types Mentions 📄 Read: [references/mentions.md](references/mentions.md) Enable mentions in the prompt editor via the mentions property (array of mention settings) Configure the trigger character ( mentionChar ) such as @ or / — multiple mention settings can be configured on the same component Provide a dataSource as a local array (string/object/number/boolean) or a Syncfusion DataManager for local/remote data Map object based data sources with the fields property (default { text: 'text', value: 'id' } ) Apply additional data operations with the query property ( Query from @syncfusion/ej2 data ) Choose how typed text is matched with filterType ( Contains , StartsWith , EndsWith ) Highlight matching text with highlight and control whether the trigger character is shown with showMentionChar Customize the mention in the prompt with displayTemplate and the suggestion item with itemTemplate Size the popup with popupWidth / popupHeight , and customize the empty state with noRecordsTemplate Handle mention selection with the mentionSelect event to access the selected item data Quick Start Example Common Patterns Pattern 1: Basic Chat with Suggestions Create a simple conversational interface with predefined suggestions: Enable prompt suggestions to guide user interactions Handle promptRequest event with simple responses Display conversation history automatically Pattern 2: AI Service Integration Connect to real AI services for intelligent responses: Use promptRequest event to capture user input Call AI API with prompt text Stream response character by character for live effect Parse markdown responses for formatted output Pattern 3: Multi View Dashboard Combine chat with supporting content: Create Assist view for conversation Add Custom view for settings/sidebar Switch activeView based on user interaction Share data between vi