Meta 发布开源 React 设计系统 Astryx,提供 CLI 和 MCP 服务器,AI Agent 可直接使用
Meta 本周发布了 Astryx,一个基于 React 和 StyleX 的开源设计系统(Beta 版)。它提供 CSS 变量主题级联、90+ 组件(文档中 150+)、CLI 和 MCP 服务器,使开发者与 AI Agent 使用同一 API。项目在 Meta 内部发展 8 年,MIT 许可。
Meta 本周正式发布了 Astryx,这是一个全新的开源设计系统,目前处于 Beta 阶段。该项目在 Meta 内部已经发展了八年,如今以 MIT 许可证公开。Astryx 基于 React 和 StyleX——Meta 自家的编译时 CSS 引擎构建,旨在为开发者提供一套全面且易于扩展的 UI 组件库。
Astryx 不仅仅是一个组件库,它涵盖了从基础设计元素到完整页面模板的方方面面。系统提供了排版、色彩、布局和无障碍访问等基础规范,以及超过 90 个 React 组件(官方文档站点列出超过 150 个)。所有组件都内置了间距、暗黑模式支持和灵活的样式定制能力。此外,Astryx 还提供了仪表盘、设置页、表单等完整页面模板,方便开发者快速搭建应用。
Astryx 最大的亮点是其对 AI Agent 的原生支持。它配备了一个命令行界面(CLI)和一个 MCP 服务器。CLI 可以通过 astryx 或 xds 调用,支持组件文档查询、模板生成等功能。更重要的是,CLI 能够返回一个自描述的 JSON 清单,列出所有命令、参数、标志和响应类型——这类似于 OpenAPI 规范,使得 AI Agent 无需解析帮助文本即可直接使用。MCP 服务器则进一步让 Agent 能够以结构化方式浏览、搭建和编写文档。
主题系统是 Astryx 的另一大特色。它提供了 10 种预置主题,包括默认、中性、日常、黄油、巧克力、抹茶、石头、哥特、粗野主义和 Y2K。所有主题都基于 CSS 变量级联实现——只需更改变量,所有组件就能自动重新样式化,无需修改组件代码。这种机制让多品牌场景下的主题切换变得极其简单。
在架构上,Astryx 强调开放和可组合。所有基础元素都被导出,开发者可以在任意层级进行组合。当内置组件无法满足需求时,可以通过 CLI 的 'swizzle' 命令将组件源码导出到项目中直接编辑。此外,Astryx 提供了自动间距补偿功能,解决了多层嵌套容器导致的“双重内边距”问题。
Astryx 的安装和上手非常简单。推荐在 Next.js 项目中使用 Tailwind CSS,Astryx 提供预构建的 CSS 文件,无需额外配置构建插件。安装核心包和主题包后,通过 Theme Provider 包裹应用即可使用所有组件。Astryx 还提供了 Tailwind 桥接,将设计标记映射为 Tailwind 工具类,避免冗长的 var() 语法。
Astryx 的主要使用场景包括内部仪表盘、Agent 构建的 UI 以及多品牌产品。在内部仪表盘场景中,开发者可以快速搭建评估或监控视图;Agent 可以通过 CLI 和 MCP 服务器结构化地搭建设置页面;多品牌产品则可以借助主题级联轻松切换品牌风格。
与 shadcn/ui 和 MUI 等流行设计系统相比,Astryx 的独特优势在于:StyleX 编译时 CSS 引擎带来的高性能、Agent 就绪的工具链、自动间距补偿以及开放的架构。但作为 Beta 项目,Astryx 的 API 可能还会变化,CLI 版本目前仅 0.0.14,StyleX 的学习曲线也比 Tailwind 更陡峭。此外,组件数量在仓库和文档站点之间存在不一致,且外部采用情况尚待验证。
总体而言,Astryx 代表了 Meta 在开源设计系统领域的最新尝试,特别适合需要 AI Agent 协助开发、多主题或多品牌的应用场景。开发者可以访问 GitHub 仓库或项目官网获取更多信息。