Skip to main content

x-components

Use when building AI chat UIs with @ant-design/x components — covers Bubble, Sender, Conversations, Prompts, ThoughtChain, Actions, Welcome, Attachments, Sources, Suggestion, Think, FileCard, CodeHighlighter, Mermaid, Folder, XProvider, and Notification.

Informações da origem

Repositório
modelscope/ms-agent
Última atividade na origem
8 de setembro de 2026 às 10:28
Idioma detectado do SKILL.md
inglês
Estrelas
4.408
Forks
528

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
4 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
x-components
version
2.8.1
description
Use when building AI chat UIs with @ant-design/x components — covers Bubble, Sender, Conversations, Prompts, ThoughtChain, Actions, Welcome, Attachments, Sources, Suggestion, Think, FileCard, CodeHighlighter, Mermaid, Folder, XProvider, and Notification.
# 🎯 Skill Positioning **This skill covers all UI components in `@ant-design/x`** — the React component library for building AI-driven chat interfaces based on the RICH interaction paradigm. It covers component selection, API usage, composition patterns, and common anti-patterns. > **Prerequisite**: This skill handles UI only. For data flow and streaming, see `use-x-chat`, `x-chat-provider`, `x-request` skills. ## Table of Contents - [📦 Package Overview](#-package-overview) - [🗂️ Component Groups](#-component-groups) - [🚀 Quick Start Decision Guide](#-quick-start-decision-guide) - [🛠 Recommended Workflow](#-recommended-workflow) - [🚨 Development Rules](#-development-rules) - [🤝 Skill Collaboration](#-skill-collaboration) - [🔗 Reference Resources](#-reference-resources) # 📦 Package Overview | Package | Responsibility | | ------------------------ | ----------------------------------------------------------- | | `@ant-design/x` | All UI components in this skill | | `@ant-design/x-sdk` | Data providers, request, streaming state — not covered here | | `@ant-design/x-markdown` | Markdown rendering inside Bubble — see `x-markdown` skill | ```bash npm install @ant-design/x ``` > `@ant-design/x` extends `antd`. If you use `ConfigProvider`, replace it with `XProvider`. # 🗂️ Component Groups Based on the RICH interaction paradigm: | Stage | Components | | ---------------- | ------------------------------------------------------------------------ | | **General** | `Bubble`, `Bubble.List`, `Conversations`, `Notification` | | **Wake** | `Welcome`, `Prompts` | | **Express** | `Sender`, `Attachments`, `Suggestion` | | **Confirmation** | `Think`, `ThoughtChain` | | **Feedback** | `Actions`, `FileCard`, `Sources`, `CodeHighlighter`, `Mermaid`, `Folder` | | **Global** | `XProvider` | # 🚀 Quick Start Decision Guide | If you need to... | Read first | | --- | --- | | Render a chat message bubble | [COMPONENTS.md → Bubble](reference/COMPONENTS.md#bubble) | | Build a chat input box | [COMPONENTS.md → Sender](reference/COMPONENTS.md#sender) | | List and switch conversations | [COMPONENTS.md → Conversations](reference/COMPONENTS.md#conversations) | | Show AI thinking process | [COMPONENTS.md → ThoughtChain / Think](reference/COMPONENTS.md#thoughtchain--think) | | Add action buttons below a message | [COMPONENTS.md → Actions](reference/COMPONENTS.md#actions) | | Build a welcome / onboarding screen | [COMPONENTS.md → Welcome + Prompts](reference/COMPONENTS.md#welcome--prompts) | | Show file attachments in input | [COMPONENTS.md → Attachments](reference/COMPONENTS.md#attachments) | | Show source citations | [COMPONENTS.md → Sources](reference/COMPONENTS.md#sources) | | Add quick command suggestions | [COMPONENTS.md → Suggestion](reference/COMPONENTS.md#suggestion) | | Display a hierarchical file/folder tree | [COMPONENTS.md → Folder](reference/COMPONENTS.md#folder) | | Wire a complete chat page | [PATTERNS.md](reference/PATTERNS.md) | | Look up a specific prop | [API.md](reference/API.md) | # 🛠 Recommended Workflow 1. Pick components from [COMPONENTS.md](reference/COMPONENTS.md) for each interaction stage. 2. Use [PATTERNS.md](reference/PATTERNS.md) to understand how components compose into full pages. 3. Wrap the app root with `XProvider` (replaces `antd`'s `ConfigProvider`) for locale, theme, and shortcut keys. 4. Use [API.md](reference/API.md) for precise prop names — do not guess them. ## Minimal Full-Page Example ```tsx import { XProvider, Welcome, Prompts, Bubble, Sender } from '@ant-design/x'; export default () => ( <XProvider> <Welcome title="Hello!" description="How can I help you?" /> <Prompts items={[{ key: '1', label: 'What can you do?' }]} onItemClick={(info) => console.log(info.data.label)} /> <Bubble.List items={[{ key: '1', content: 'Hello World', placement: 'end' }]} /> <Sender onSubmit={(msg) => console.log(msg)} /> </XProvider> ); ``` # 🚨 Development Rules - **Always use `XProvider` at the app root** — it supersedes `antd`'s `ConfigProvider` and enables locale, direction, and x-specific shortcut keys. - **`Bubble.List` not `Bubble` in loops** — `Bubble.List` handles scroll anchoring, auto-scroll, and role-based layout; mapping `Bubble` manually loses these. - **Keep `components` prop stable** in `Bubble` and `Bubble.List` — inline object creation causes re-renders and resets typing animations. - **Set `streaming={true}` during stream, `streaming={false}` on final chunk** — leaving it `true` permanently breaks the done state. - **`ThoughtChain` vs `Think`**: use `ThoughtChain` for multi-step tool/agent call chains; use `Think` for a collapsible single-block reasoning display. - **`Actions.Copy`, `Actions.Feedback`, `Actions.Audio`** are preset sub-components — prefer them over building custom equivalents. - **Sender `onSubmit` vs `onChange`**: `onSubmit` fires on send button or Enter key; `onChange` fires on every keystroke — do not conflate them. - **Never render `Mermaid` or `CodeHighlighter` inside a `Bubble` `content` string** — use `contentRender` or the `components` map instead. # 🤝 Skill Collaboration | Scenario | Skill combination | | --- | --- | | Full AI chat app | `x-chat-provider` → `x-request` → `use-x-chat` → `x-components` → `x-markdown` | | Just building UI structure | `x-components` only | | Markdown in bubble replies | `x-components` + `x-markdown` | | Streaming data flow only | `use-x-chat` + `x-request` | # 🔗 Reference Resources - [COMPONENTS.md](reference/COMPONENTS.md) — Component-by-component guide with usage, key props, and examples - [PATTERNS.md](reference/PATTERNS.md) — Full-page composition patterns and integration recipes - [API.md](reference/API.md) — Auto-generated prop reference from official component docs — covers all 17 components ## Official Documentation - [Ant Design X Overview](https://github.com/ant-design/x/blob/main/packages/x/components/overview/index.en-US.md) - [Bubble](https://github.com/ant-design/x/blob/main/packages/x/components/bubble/index.en-US.md) - [Sender](https://github.com/ant-design/x/blob/main/packages/x/components/sender/index.en-US.md) - [Conversations](https://github.com/ant-design/x/blob/main/packages/x/components/conversations/index.en-US.md) - [ThoughtChain](https://github.com/ant-design/x/blob/main/packages/x/components/thought-chain/index.en-US.md) - [Actions](https://github.com/ant-design/x/blob/main/packages/x/components/actions/index.en-US.md) - [Welcome](https://github.com/ant-design/x/blob/main/packages/x/components/welcome/index.en-US.md) - [Prompts](https://github.com/ant-design/x/blob/main/packages/x/components/prompts/index.en-US.md) - [Attachments](https://github.com/ant-design/x/blob/main/packages/x/components/attachments/index.en-US.md) - [Sources](https://github.com/ant-design/x/blob/main/packages/x/components/sources/index.en-US.md) - [Suggestion](https://github.com/ant-design/x/blob/main/packages/x/components/suggestion/index.en-US.md) - [Think](https://github.com/ant-design/x/blob/main/packages/x/components/think/index.en-US.md) - [Folder](https://github.com/ant-design/x/blob/main/packages/x/components/folder/index.en-US.md) - [XProvider](https://github.com/ant-design/x/blob/main/packages/x/components/x-provider/index.en-US.md)
Ver no GitHub