mcpField
B
beui

beui

github.com/starc007设计与 UI1.9k866 次安装今天更新
代码仓库

关于 beui

beUI 是面向 AI Agent 界面的 UI 组件源码库,通过公共 MCP 和 @beui shadcn registry 分发。文档介绍组件发现、安装与组合,并以实时 registry 为准。

主要功能

  1. 01通过公共 MCP 浏览组件
  2. 02搜索并查看组件定义
  3. 03通过 shadcn registry 安装源码
  4. 04提供组件变体选择指引
  5. 05提供组件组合规则

适用场景

  1. 01构建聊天和 Agent 界面布局
  2. 02添加交互与状态组件
  3. 03安装前查找合适的组件

MCP 相关

公共 MCP 地址为 https://mcp.beui.dev/mcp,客户端可用它列出和搜索组件,并获取组件详情。README 也介绍了通过 @beui shadcn registry 获取组件的替代方式。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/starc007/ui-components --skill beui

安装后在 Claude Code 中输入/beui确认已加载。

附带文件evals.json

详细介绍

beUI

将 beUI 用作复制粘贴来源,通过其公共 MCP 或 @beui shadcn 注册表使用。

请参阅 AI agents guide,了解最新的连接说明和端点。 公共 MCP https://mcp.beui.dev/mcp 无需许可证密钥或 Pro 身份验证。 对于许可组件,请使用单独的 beui-pro skill 和 Pro 连接。

工作流

  1. 连接后,通过公共 MCP 的 list_components 或 search_components 查找当前组件。否则,获取实时注册表:
curl -fsS https://beui.dev/r/registry.json
  1. 对于 CLI 安装,从实时注册表的 items[].name 中选择最匹配的安装 slug。公共 MCP 目录中的 slug 可能对应包含多个可安装变体的文档页面。不要假定每个页面 slug 都是安装 slug。
  2. 使用 MCP get_component 检查所选组件,或通过 CLI 检查可安装项:
npx shadcn@latest view @beui/<slug>
  1. 使用项目的路径和别名安装 MCP 返回的完整文件,然后安装列出的软件包依赖项。保留现有辅助工具和本地修改。或者,使用用户的软件包运行器安装经过验证的注册表 slug:
npx shadcn@latest add @beui/<slug>
# or
pnpm dlx shadcn@latest add @beui/<slug>
# or
bunx --bun shadcn@latest add @beui/<slug>
  1. 阅读新增文件,然后使用具名导出进行组合。没有 beui 运行时软件包。运行 MCP 返回的任何 CLI 命令前,请根据实时安装 slug 验证该命令。

实时注册表是事实来源。仅使用下表来区分常见的相似项。

选择器

用户需要安装 @beui/...避免使用
Toast 或 Snackbaranimated-toast-stacknotification-stack
可展开的通知收件箱notification-stackanimated-toast-stack
移动端底部面板、Vaul 风格面板bottom-sheetdrawer
侧边面板或应用抽屉drawerbottom-sheet
应用界面侧边栏animated-sidebarbounce-sidebar、ai-sidebar
AI 文件、文件夹、书签ai-sidebaranimated-sidebar
完整的 Agent 工作区chat-app手动搭建聊天界面
随 token 滚动的流式对话message-scroller、message自定义滚动计算
仅聊天气泡message-bubble自定义气泡
提示词框或撰写框prompt-inputtextarea 加自定义按钮
Agent 推理、搜索、工具跟踪agent-activity普通日志列表
任务计划todo-list自定义待办清单
代码区域code-block从头编写 pre/code
文件差异file-diff自定义差异渲染器
工具输出tool-result原始终端块
工具权限卡片tool-approval警告对话框
批准或 HITL 问题approval-card自定义表单
内联引用citations普通编号链接
生成图像画布image-generation从头制作图像卡片
Liquid 弹出框popoverpopover-morph
转角变形弹出框popover-morphpopover
下拉选择器selectselect-morph、combobox
可展开为面板的选择器select-morphselect
可搜索的选择器comboboxselect
Cmd+K 命令面板command-palettecombobox
右键或长按菜单context-menubloom-menu
展开为菜单的按钮bloom-menucontext-menu
按压按钮button-base自定义 motion.button
加载/成功/错误状态按钮button-stateful带旋转指示器的按钮
磁吸按钮button-magnetic自定义指针跟踪
按住以确认hold-action-buttonbutton-base
滑动以确认slide-action-buttonswipeable-list
悬停时展开箭头的 CTAexpanding-arrow-buttonbutton-base
旋转指示器、圆点、条形加载器loaderthinking-shimmer
Agent 思考状态thinking-shimmerloader、text-shimmer
循环显示的推理短语reasoning-texttext-cascade
定时显示的 Agent 进度符号agent-progressloader
带闪光效果的标题文字text-shimmerthinking-shimmer
逐词或逐字揭示text-revealtext-cascade
色彩循环文字chromatic-text-revealtext-shimmer
老虎老虎机式字母text-cascadetext-scramble
解码后定格的文字text-scrambletext-cascade
滚动数字number-tickeranimated-number
进入视图时递增计数animated-numbernumber-ticker
带刻度点的滑块range-slider其他 range-slider-*
内联标签滑块range-slider-inlinerange-slider
液体填充滑块range-slider-fluidrange-slider
均衡器滑块range-slider-waverange-slider
带倾斜数值气泡的滑块range-slider-bubblerange-slider
标尺滑块range-slider-rulerrange-slider
iOS 滚轮选择器wheel-pickerselect
macOS Dockdockexpandable-action-bar
带标签的图标操作项expandable-action-bardock
溢出操作栏overflow-actionsexpandable-action-bar
带活动标签的图标选项卡expandable-tabstabs
可变形的选项卡内容区morphing-tabstabs
药丸形或下划线选项卡tabsexpandable-tabs
悬停时滑动的背景shared-layout-bgtabs
预览刻度或栏preview-railbounce-sidebar
Dynamic Islanddynamic-islandnotification-stack
滑动行操作swipeable-listslide-action-button
下拉刷新pull-to-refresh自定义触控计算
基础上传队列file-uploadattachment-upload
混合文件、音频和图像附件attachment-uploadfile-upload
OTP 或 PIN 输入框otp-inputinput
注册表单signup-form手动组合表单
主题擦除效果theme-toggle仅切换类名
着色器背景shader-background自定义 canvas
圆柱轮播cylinder-carouselmarquee
Logo 或文字跑马灯marqueecylinder-carousel
数据表格table从头编写 HTML 表格
活动热力图、贡献图heat-calendar自定义网格
月度收益网格returns-calendarheat-calendar
分析师目标价图、预测扇形图price-target-fan自定义 svg 图表
可编辑表格table-editabletable
异步表格table-asynctable
锦标赛对阵表knockout-bracketknockout-wheel
径向锦标赛转盘knockout-wheelknockout-bracket
404 页面not-found-glitch自定义 404 页面
项目文件夹卡片project-folder从头制作文件夹卡片
代币或链交换swap自定义交换表单
每周可用时间编辑器availability-scheduler自定义日历网格
钱包概览卡片wallet-card自定义钱包卡片
预测市场交易单prediction-market自定义交易单
反馈弹出框feedback-widgetanimated-toast-stack
无限瀑布流网格infinite-masonryCSS 列
手风琴bouncy-accordion自定义手风琴
3D 倾斜卡片tilt-card自定义高光计算
工具提示tooltippopover
开关、复选框、单选框、输入框switch、checkbox、radio、input重新设置样式的原生控件

组合规则

  • 优先使用已安装的 beUI 源码,而不是自定义的一次性动效组件。
  • 从 shadcn 添加的文件中导入具名导出。
  • 使用 className 进行布局和小幅样式调整。除非用户提出要求,否则不要分叉修改内部实现。
  • 保留注册表安装的辅助工具,例如 @/lib/ease、@/lib/utils 和 hooks。
  • 如果在 beUI 组件周围添加新动效,请使用 motion/react 中的 useReducedMotion()。
  • 使用 useHoverCapable() 限制磁吸和倾斜等装饰性悬停效果,仅在支持悬停的设备上启用。
  • 对 transform 和 opacity 设置动画;避免对布局属性设置动画。

在此代码库中

为 beUI 本身贡献代码时,请遵循 AGENTS.md。新增的公共组件需要包含源码、预览和注册表条目,并通过 bun run check:registry。切勿重命名现有的 /r/{name}.json slug。

图表组件(heat-calendar、returns-calendar、price-target-fan)位于文档中的 /charts 下。它们的 @beui 安装 slug 保持不变。

从根组件及其导出部件组合图表。HeatCalendar 提供 HeatCalendarGrid、HeatCalendarLegend 和 HeatCalendarTooltip;ReturnsCalendar 提供 ReturnsCalendarGrid 和 ReturnsCalendarTooltip。将每个日历的 tooltip 放在其 grid 内。两者都支持 selection、defaultSelection 和 onSelectionChange。

PriceTargetFan 提供 Header、Plot、Svg、Axes、History、Targets、Now、Cursor 和 Tooltip 部件(每个部件前都加上 PriceTargetFan 前缀)。将 SVG 部件放在 Svg 内,并将 Tooltip 与 Svg 一起放在 Plot 内。传入 current、targets,以及可选的按时间顺序排列的 { date: ISOString, price } 格式 history;省略 history 时不会渲染历史序列。使用 active、defaultActive 和 onActiveChange 控制读数。每个图表都导出一个 use... hook,用于自定义后代内容;tooltip 子项可以是渲染函数。示例数据应放在使用图表的应用中,而不是图表实现中。HeatCalendar.endDate 使用 UTC 日历日期。

评论

支持 Markdown