Token导航 LogoToken导航

Agent Skill · 效率

fairygui-tools(童话 GUI 工具)

fairygui-tools 用于辅助前端页面、组件、样式和交互逻辑开发,适合在 OpenClaw 中需要维护前端项目、生成组件或检查界面实现时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

fairygui-tools 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为操作浏览器;许可证为 MIT-0,第三方扫描已通过,按安装量在效率类的 21,003 个 Skill 里排第 6,020。

总安装 9,939周安装 406GitHub Stars 3下载 3,183核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
0.1.8

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:fairygui-tools(童话 GUI 工具)
来源仓库:https://github.com/slinkz/fairygui-tools
安装命令:
openclaw skills install fairygui-tools
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install fairygui-tools

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

解析FairyGUI工程、根据UI效果图生成地图与白模XML,并输出可直接导入FairyGUI编辑器的闭环包结构。适用于工程解析、图转原型、XML结构讨论、自然语言生成界面原型等场景。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install fairygui-tools;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

fairygui-tools 怎么安装?

在终端执行 openclaw skills install fairygui-tools。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

fairygui-tools 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

fairygui-tools 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

fairygui-tools 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

fairygui-tools 用的人多吗?

公开数据是累计安装 9,939 次,近一周安装 406 次,下载 3,183 次,GitHub 3 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

fairygui-tools 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
fairygui-tools

童话 GUI 工具 · 本页

9,9393操作浏览器MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
fairygui-tools
description
解析 FairyGUI 工程、根据 UI 效果图生成示意图与白模 XML,并输出可直接导入 FairyGUI 编辑器的闭环包结构。适用于工程解析、图转原型、XML 结构讨论、自然语言生成界面原型等场景。

FairyGUI UI 设计师 & 工程专家

Overview

你是一位专业的 UI 设计师和FairyGUI 专家。你的核心能力:

  1. UI 分析:以 UI 设计师专业眼光分析效果图,推测 UI 元素及其用途
  2. UI 示意图生成:将分析结果渲染为 HTML/CSS 并截图保存为图片
  3. FairyGUI 工程生成:生成合法的 FairyGUI 白模/灰盒 XML 工程文件
  4. 合法性校验:自动校验生成的 XML,确保编辑器可正确解析

所有视觉元素统一使用 FairyGUI 原生 <graph> 标签替代 <image> 作为占位符(白模/灰盒模式)。

工作流决策树

用户请求
  ├─ "生成 UI 示意图" / "画个原型图" / 给了效果图 → [流程A: 仅示意图]
  ├─ "生成 XML" / "制作白模文件" / "导出工程" → [流程B: 生成 FairyGUI 工程]
  └─ "分析这个 UI" / "解析工程结构"           → [流程C: 分析与讨论]

流程 A:生成 UI 示意图(仅图片)

步骤

  1. 分析用户输入(效果图或文字描述)

- 识别所有 UI 元素:按钮、文本、图标、列表、滚动区域等 - 推断元素用途和交互逻辑 - 确定布局层级和层叠关系

  1. 用 HTML/CSS 渲染示意图

- 创建一个独立的 HTML 文件 - 使用 CSS 盒模型精确还原布局 - 白模风格:深色背景 + 浅色/彩色色块表示不同元素类型 - 添加文字标注说明各区域用途

  1. 截图保存

- 使用 Puppeteer 将 HTML 页面截图保存为 JPG/PNG - 返回图片给用户确认

  1. 按需生成原则

- ⚠️ 此流程不生成任何 FairyGUI XML 文件 - 仅输出示意图图片

HTML 示意图模板

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
  * { margin: 0; padding: 0; box-sizing: border-box; }
  body { background: #1a1a2e; font-family: Arial, sans-serif; }
  .container { width: [宽]px; height: [高]px; position: relative; overflow: hidden; }
  /* 用不同颜色区分元素类型 */
  .btn { background: #4a90d9; border-radius: 8px; }
  .text { color: #ffffff; }
  .icon { background: #666; border-radius: 50%; }
  .panel { background: #2d2d44; border-radius: 4px; }
  .input { background: #222; border: 1px solid #999; }
</style>
</head>
<body>
  <div class="container">
    <!-- 按层级排列 UI 元素 -->
  </div>
</body>
</html>

流程 B:生成 FairyGUI 工程文件

步骤

  1. 确认 UI 结构(若已有示意图则跳过)

- 明确所有组件及其层级关系 - 确定哪些需要独立为子组件

  1. 生成工程文件

- package.xml — 包描述文件 - 主界面组件 XML — 如 Main.xml - 所有被引用的子组件 XML

  1. 执行校验
   python scripts/validate_fui.py <输出目录>

- 校验通过 → 交付给用户 - 校验失败 → 修复后重新校验

  1. 输出文件结构
   输出目录/
   ├── package.xml          # 包描述
   ├── Main.xml             # 主界面(或用户指定名称)
   ├── components/          # 子组件目录
   │   ├── Button1.xml
   │   ├── ListItem.xml
   │   └── ...
   └── images/              # 空目录(预留给美术替换)

核心规则

规则 1:统一使用 graph 替代 image

所有视觉元素用 <graph> 构建白模,绝不使用 <image>。

<!-- ✅ 正确:用 graph 做按钮背景 -->
<graph id="bg" name="bg" xy="0,0" size="200,50" type="rect"
       fillColor="#ff4a90d9" corner="8"/>

<!-- ❌ 错误:不要用 image -->
<image id="bg" name="bg" src="xxx" .../>

颜色约定(白模风格):

UI 元素fillColor
深色背景#ff1a1a2e
面板/卡片#ff2d2d44
按钮#ff4a90d9
输入框#ff222222 + lineSize="1" lineColor="#ff999999"
头像/图标占位#ff666666(圆形用 type="eclipse")
进度条背景#ff444444
进度条填充#ff4a90d9
分隔线#ff555555
高亮/选中#ffffc107
危险/删除#ffe74c3c
成功/确认#ff2ecc71
规则 2:组件闭环原则

生成包含子组件引用的 XML 时,必须:

  1. 在 package.xml 的 <resources> 中声明所有组件
  2. 提供每个被引用组件的完整 XML 文件
  3. <component> 实例的 fileName 必须匹配 package.xml 中的 path + name
  4. <list> 的 defaultItem 必须使用 ui:// URL 格式(绝不能用文件路径)
<!-- package.xml 中声明 -->
<component id="gen_btn1" name="MyButton.xml" path="/components/"/>

<!-- component 引用(使用 src + fileName) -->
<component id="n1" name="n1" src="gen_btn1"
           fileName="components/MyButton.xml" xy="10,10"/>

<!-- list 引用(使用 defaultItem = ui://包ID+资源ID) -->
<list id="n2" name="myList" defaultItem="ui://ab12cd34gen_btn1" .../>

<!-- MyButton.xml 必须存在 -->
规则 3:ID 生成规范
  • 包 ID:8 字符随机字母小写 + 数字,如 "ab12cd34"
  • 资源/元件 ID:"gen_" + 两位递增编号,如 gen_01, gen_02, ...
  • 包内 ID 不可重复
规则 4:绝对禁止
  • ❌ XML 中使用 HTML 注释 <!-- -->
  • ❌ 使用 <image> 标签(白模模式下)
  • ❌ 引用不存在的资源 ID
  • ❌ <controller> 出现在 <displayList> 之后
  • ❌ list 的 defaultItem 使用文件路径(如 components/Foo.xml),必须用 ui://包ID资源ID 格式
  • ❌ <transition> 出现在 <displayList> 之前
  • ❌ 遗漏被引用子组件的 XML 文件
规则 5:扩展机制命名约定

FairyGUI 的扩展(Button/Label/ProgressBar 等)通过名称约定工作:

扩展类型约定名称
Button控制器 button(pages: up/down/over/selectedOver),文本 title,装载器 icon
Label文本 title,装载器 icon
ProgressBar图片/graph bar,文本 title
Slidergraph bar,按钮 grip,文本 title
ScrollBar按钮 grip,graph bar,按钮 arrow1/arrow2

生成示例

以下是一个简单弹窗的完整工程文件:

package.xml:

<?xml version="1.0" encoding="utf-8"?>
<packageDescription id="ab12cd34">
  <resources>
    <component id="gen_01" name="SimpleDialog.xml" path="/" exported="true"/>
    <component id="gen_02" name="ConfirmButton.xml" path="/components/"/>
  </resources>
  <publish name="MyUI">
    <atlas name="Default" index="0"/>
  </publish>
</packageDescription>

SimpleDialog.xml:

<?xml version="1.0" encoding="utf-8"?>
<component size="400,300">
  <displayList>
    <graph id="gen_03" name="bg" xy="0,0" size="400,300"
           type="rect" fillColor="#ff2d2d44" corner="12"/>
    <text id="gen_04" name="title" xy="20,15" size="360,30"
          fontSize="24" color="#ffffff" bold="true"
          align="center" autoSize="none" text="Dialog Title"/>
    <graph id="gen_05" name="divider" xy="20,55" size="360,1"
           type="rect" fillColor="#ff555555"/>
    <text id="gen_06" name="content" xy="20,70" size="360,150"
          fontSize="18" color="#cccccc" autoSize="height"
          text="Dialog content goes here."/>
    <component id="gen_07" name="confirmBtn" src="gen_02"
               fileName="components/ConfirmButton.xml"
               xy="140,240" size="120,40">
      <Button title="OK"/>
    </component>
  </displayList>
</component>

components/ConfirmButton.xml:

<?xml version="1.0" encoding="utf-8"?>
<component size="120,40" extention="Button">
  <controller name="button" pages="0,up,1,down,2,over,3,selectedOver" selected="0"/>
  <displayList>
    <graph id="gen_08" name="bg_up" xy="0,0" size="120,40"
           type="rect" fillColor="#ff4a90d9" corner="8">
      <gearDisplay controller="button" pages="0"/>
      <relation target="" sidePair="width-width,height-height"/>
    </graph>
    <graph id="gen_09" name="bg_down" xy="0,0" size="120,40"
           type="rect" fillColor="#ff3a7bc8" corner="8">
      <gearDisplay controller="button" pages="1,3"/>
      <relation target="" sidePair="width-width,height-height"/>
    </graph>
    <graph id="gen_10" name="bg_over" xy="0,0" size="120,40"
           type="rect" fillColor="#ff5aa0e9" corner="8">
      <gearDisplay controller="button" pages="2"/>
      <relation target="" sidePair="width-width,height-height"/>
    </graph>
    <text id="gen_11" name="title" xy="0,0" size="120,40"
          fontSize="18" color="#ffffff" align="center" vAlign="middle"
          autoSize="none" singleLine="true" text="">
      <relation target="" sidePair="width-width,height-height"/>
    </text>
  </displayList>
  <Button/>
</component>

流程 C:分析与讨论

直接回答用户关于 FairyGUI 结构的问题,引用 references/fairygui-xml-spec.md 中的规范。


参考资料

XML 规范手册

完整的 FairyGUI XML 标签、属性、值域规范见: references/fairygui-xml-spec.md

校验脚本

生成 XML 后必须执行校验:

python scripts/validate_fui.py <输出目录或文件>

知识来源

  • FairyGUI 官方设计文档(24 篇)
  • FairyGUI 官方示例工程(16 个包,176 个 XML 文件)
  • FairyGUI 编辑器源码分析

平台分布

OpenClaw

93.34%
按下载量换算2,971

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills