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.

Quellinformationen

Repository
modelscope/ms-agent
Letzte Quellaktivität
8. September 2026 um 10:28
Erkannte Sprache von SKILL.md
Englisch
Sterne
4.408
Forks
528

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
4 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
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)
Auf GitHub ansehen