将结构化数据转换为可共享的仪表盘、报告、图表和日历,并将其 A2UI JSON 包发布至 guiro.io,返回短期的分享链接。
Guiro – 共享视觉快照.是一项面向实际任务的技能,主要用于Guiro(https://guiro.io)是电子演示层,作为服务;您给它一个结构化的 JSON 捆绑,描述视觉组件的布局,以及。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Guiro(https://guiro.io)是一种临时性的“呈现层即服务”(Presentation Layer as a Service)。您向其提供一个结构化的 JSON 数据包,用以描述一组可视化组件的布局,它将返回一个短期有效、公开可访问的分享链接(例如:https://guiro.io/s/{slug})。渲染出的页面是一个经过精心设计、只读的可视化界面——可以是仪表盘、报表、图表、日历或状态页。查看该页面无需登录或注册账号。
每当您生成结构化结果时(如指标数据、表格、时间线、财务信息、活动日程、进度追踪等),并希望将其转换为用户可在浏览器中打开、发送给同事或导出为 PDF 的可共享可视化成果时,请使用本技能。
| 类型 | 适用场景 |
|---|---|
| Dashboard | KPI 指标、数据表格、时间线、进度条、徽章(Badge)、图标(Icon) |
| Calendar | 仅读取的月视图,支持高亮特定日期并展示事件详情 |
| Chart | 支持多序列对比的柱状图(Bar Chart) |
| Donut | 环形进度图(Progress Ring)、储蓄目标达成率、分类占比分析 |
基础 URL:https://api.guiro.io
| 操作 | 方法 | 路径 |
|---|---|---|
| Capabilities | GET | /v1/create/capabilities |
| Validate | POST | /v1/validate |
| Create | POST | /v1/create |
所有请求均需通过 X-API-Key 请求头提供 API 密钥。密钥从环境变量 GUIRO_API_KEY 中读取。若密钥缺失,请提示用户提供。
# 1 – 获取能力清单(结果保存至 .guiro/runtime-capabilities.json)
bash "{baseDir}/scripts/fetch-capabilities.sh"
# 2 – 编写示例载荷(可选类型:dashboard | calendar | chart | donut)
bash "{baseDir}/scripts/write-sample-payload.sh" ./payload.json dashboard
# 3 – 校验并创建 guiro
bash "{baseDir}/scripts/create-guiro.sh" --payload ./payload.json --idempotency-key run-001
示例载荷仅为起点。请将其中占位符内容替换为与用户请求直接相关的真实数据。
一个合法的 A2UI 数据包应具备如下结构:
{
"storage_version": "1",
"a2ui_version": "0.9",
"catalog_id": "guiro.shadcn.detached.v1",
"theme": {
"primary": "#0f766e",
"secondary": "#0f172a"
},
"messages": [
{
"version": "v0.9",
"createSurface": {
"surfaceId": "share-main",
"catalogId": "guiro.shadcn.detached.v1"
}
},
{
"version": "v0.9",
"updateComponents": {
"surfaceId": "share-main",
"components": [ ... ]
}
}
]
}
storage_version、a2ui_version、catalog_id — 应使用 capabilities 接口响应中返回的值。messages 数组必须包含且仅包含一条 createSurface 消息和一条 updateComponents 消息。components 数组是一个扁平化的组件对象列表。每个组件需具有唯一字符串 ID(id)及明确的 component 类型。父级组件通过子组件的 id 引用其子项。整个组件树中必须包含一个 id: "root" 的组件。
| 组件 | 属性(Props) | 说明 |
|---|---|---|
| Card | child(字符串 ID) |
容器卡片;建议作为根级包装器使用 |
| Column | children(字符串 ID 数组)、gap(sm|md|lg) |
垂直堆叠布局 |
| Row | children(字符串 ID 数组)、gap(sm|md|lg) |
水平排列布局 |
| List | children(字符串 ID 数组) |
有序列表 |
| 组件 | 属性(Props) | 说明 |
|---|---|---|
| Text | text、variant(h1|h2|body)、tone(muted) |
标题或段落文本 |
| Badge | label、variant(secondary|outline|success)、size(sm) |
状态徽章或标签 |
| Icon | name 或 icon、size、strokeWidth、color、label |
Lucide 图标,适用于标题、强调区块(callout)及状态提示 |
| ProgressIndicator | value(数字)、max(数字) |
进度条 |
| DataTable | columns({key, header} 数组)、data(对象数组) |
表格数据 |
| Calendar | title、description、month(YYYY-MM-DD)、selected(YYYY-MM-DD)、selectionMode(single)、events({date, label, detail, tone} 数组) |
仅读取的日历,支持高亮指定日期并在下方显示事件详情 |
| Chart | title、description、chartType(bar|donut)、xKey、series({key, label} 数组)、data(对象数组)、valueFormat(currency)、currency(ISO 货币代码) |
柱状图或环形图 |
[
{ "id": "root", "component": "Card", "child": "page" },
{ "id": "page", "component": "Column", "gap": "lg", "children": ["heading", "metrics"] },
{ "id": "heading", "component": "Text", "text": "Monthly Report", "variant": "h1" },
{ "id": "metrics", "component": "Row", "gap": "md", "children": ["badge1", "progress1"] },
{ "id": "badge1", "component": "Badge", "label": "Active: 42", "variant": "outline" },
{ "id": "progress1", "component": "ProgressIndicator", "value": 75, "max": 100 }
]
颜色支持十六进制(#0f766e)或 OKLCH(oklch(0.527 0.154 150.069))格式:
{ "primary": "#0f766e", "secondary": "#0f172a" }
请根据内容特性选择合适的主题色,并确保 primary 与 secondary 具有足够对比度。
storage_version、a2ui_version 和 catalog_id。updateComponents 所含组件中必须存在 id: "root" 的组件。Icon 组件增强章节标题、强调区块(callout)及状态提示效果。成功创建后返回:
{
"slug": "abc123",
"url": "https://guiro.io/s/abc123",
"expires_at": "2025-07-15T12:00:00Z"
}
请将 url 分享给用户。Guiro 为临时性资源:一旦超过 expires_at 时间,该链接将跳转至标准化的“此 Guiro 已过期”页面。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章