项目简介
Story UI (Storybook User Interface) 是一款创新性的工具,它通过集成大语言模型(LLM)的能力,自动化了前端组件的Storybook故事生成过程。开发者只需用自然语言描述所需组件,Story UI 便能智能理解并生成跨React、Vue、Angular、Svelte和Web Components等多种框架的故事代码,极大地提高了组件文档编写的效率。它还支持多个人工智能服务商(如Anthropic Claude、OpenAI GPT、Google Gemini),并提供了Model Context Protocol (MCP) 服务器集成,方便与其他AI客户端进行深度交互。
主要功能点
- AI驱动的故事生成: 使用自然语言描述组件需求,AI即可自动生成对应的Storybook故事代码。
- 框架无关性: 兼容主流的JavaScript前端框架,包括React、Vue、Angular、Svelte和Web Components。
- 多AI提供商支持: 可灵活选择不同的LLM服务提供商,如Claude、OpenAI GPT或Google Gemini。
- 设计系统感知: 能够学习并遵循项目的设计系统规范,生成符合团队风格的代码。
- 智能迭代与预览: 支持在已有故事上进行迭代修改,并提供实时预览功能。
- MCP服务器集成: 内置Model Context Protocol (MCP) 服务器,允许Claude Desktop等AI客户端直接调用其工具和能力。
安装步骤
-
安装 Story UI 包: 在你的项目目录中,使用npm或yarn安装Story UI作为开发依赖。
npm install -D @tpitre/story-ui # 或 yarn add -D @tpitre/story-ui -
初始化项目: 运行初始化命令,Story UI 将引导你配置框架、设计系统和AI提供商。
npx story-ui init -
启动 Story UI: 运行此命令即可启动Story UI服务器。请注意,这将启动一个HTTP服务器,它将托管Story UI的API接口,也包含了远程MCP服务器。
npm run story-ui
MCP服务器配置(用于MCP客户端)
Story UI 包含一个本地和远程的MCP服务器实现。MCP客户端(如Claude Desktop或Claude Code)可以通过以下JSON格式的配置来连接它。
本地Stdio传输配置示例 (适用于Claude Desktop运行本地命令):
此配置让Claude Desktop在本地启动并运行'story-ui'的MCP Stdio服务器,并通过标准输入输出进行通信。
{ "mcpServers": { "story-ui-local": { "command": "npx", "args": ["@tpitre/story-ui", "mcp"], "env": { // 在此处配置你的AI服务API密钥 "ANTHROPIC_API_KEY": "YOUR_ANTHROPIC_API_KEY", // 替换为你的Anthropic API密钥 "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY", // 如果使用OpenAI,替换为OpenAI API密钥 "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY" // 如果使用Gemini,替换为Google Gemini API密钥 }, "description": "连接到本地运行的Story UI MCP服务器,通过标准输入输出(Stdio)进行通信。适用于本地开发环境。" } } }
远程HTTP传输配置示例 (适用于连接已部署的Story UI):
此配置连接到一个通过HTTP协议暴露MCP接口的远程Story UI服务器(例如部署在Railway上)。
{ "mcpServers": { "story-ui-remote": { "transport": "http", "url": "https://story-ui-demo.up.railway.app/mcp-remote/mcp", // **重要: 请替换为你的Story UI部署的实际URL** "name": "Story UI (远程)", "description": "连接到远程部署的Story UI MCP服务器,通过HTTP协议进行通信。适用于生产或共享环境。", "tools": [ // 以下列出了此MCP服务器提供的核心工具,AI客户端将能够调用这些功能 "generate-story", // 生成一个新的Storybook故事 "list-components", // 列出项目中可用的组件 "list-stories", // 列出已生成的Storybook故事 "get-story", // 获取特定Storybook故事的内容 "update-story", // 更新现有的Storybook故事 "delete-story", // 删除一个Storybook故事 "get-component-props", // 获取组件的详细属性信息 "test-connection" // 测试MCP服务器连接是否正常 ] } } }
在MCP客户端中,你可以通过图形界面或CLI添加这些配置。例如,在Claude Desktop中,你可以在“设置”->“连接器”中点击“添加自定义连接器”,然后输入上述配置中的'url'(对于远程HTTP模式)或选择本地CLI命令模式。
基本使用方法
- 启动服务: 确保你已经运行 'npm run story-ui' 启动了Story UI 服务器。
- 通过AI客户端交互:
- 在Claude Desktop或Claude Code等MCP客户端中,选择你已连接的"Story UI"连接器。
- 使用自然语言向AI描述你想要创建的组件故事,例如: '"使用Story UI创建一个包含图片、标题、价格和添加到购物车按钮的产品卡片。"'
- AI将调用 'generate-story' 工具,生成Storybook故事代码并显示给你。
- 你可以继续对话,对已生成的故事进行修改: '"把按钮改成绿色,并添加一个数量选择器。"'
- 你还可以查询可用组件: '"列出Story UI中所有可用的组件。"'
- 或查看已生成的故事: '"显示我已生成的故事。"'
- 查看生成的故事: 生成的代码将自动保存到你的项目目录中(默认在'./src/stories/generated/'),并能实时在你的Storybook实例中预览。
信息
分类
开发者工具