SuperAPI AI 工具集

a2ui

前端与建站

查看项目

更新于 10-22 21:09

技能介绍

a2ui 是 iii-hq/workers 提供的一项技能,用于把原本更适合以界面呈现的结果生成为安全的交互式 A2UI 界面。当 Harness 的回复以仪表盘、表单、摘要、对比或决策界面的形式比纯文字更清晰时,可以使用它。\n\n用途\na2ui 面向需要让人快速浏览或直接操作的结果。使用时描述期望的界面体验并提供底层数据,该技能会通过 llm-router 委托组装,校验 A2UI v0.9.1 规范,并返回一份精简回执,由 Console 渲染界面。生成的界面归属于当前 Harness 会话:Harness 的预触发钩子会权威地标注该身份,Console 中的操作会以结构化用户交互的形式回到同一对话。\n\n主要能力\n- 呈现仪表盘、状态总览、对比、表单、审批或决策类界面。\n- 在后续函数调用更新组件或数据模型时,让结果保持实时。\n- 让人通过按钮或绑定输入进行响应,无需自行编写 JSON。\n- 用自然语言补丁修订已有界面,同时保留未指定的内容。\n- 将完成的界面导出为可移植的 A2UI JSON,以便在当前对话之外复用。\n- 复用、撤销、固定、复制、导入或导出界面,形式可以是可运行的 React 应用或提供数据的 iii worker 模板。\n- 当用户希望在 Shell 中查看和编辑文件时,把 React 应用生成到所选工作区,再通过 Browser 预览。\n- 当界面需要保持实时时,将界面数据绑定到 worker 拥有的触发类型(可选配合其提供方的只读查询)、精确状态或 Shell 变更事件。\n\n使用方式\n通过描述界面意图和提供数据来生成完整界面(a2ui::generate);对单个界面校验并原子地应用 A2UI v0.9.1 消息(a2ui::surface::apply);读取界面及其组件图与数据模型(a2ui::surface::get);列出当前会话的界面摘要(a2ui::surface::list);删除界面(a2ui::surface::delete);根据自然语言变更请求替换界面,并可选择修订保护(a2ui::surface::patch);导出无会话依赖、可重放的 A2UI JSON 包(a2ui::surface::export)。还提供历史、撤销、复制、固定等界面库与修订管理功能,以及导入和导出代码,用于在会话之间移动界面或转为源码。实时数据绑定的示例配置:{ "id": "clicks-count", "trigger_type": "demo::counter-changed", "config": { "counter": "clicks" }, "target_path": "/count", "query": { "function_id": "demo::counter::get", "payload": { "counter": "clicks" }, "result_path": "/value" } }。此外还有模板的保存、列出、读取、应用和删除功能。\n\n适用场景\n需要仪表盘、状态总览、对比、表单、审批或决策界面时;需要在后续调用中保持结果实时更新时;需要让人通过按钮或绑定输入直接响应时;需要用自然语言补丁修改已有界面时;需要导出界面 JSON 在别处复用时;需要把界面转成 React 应用或数据服务 worker 模板时。\n\n限制\n纯文字短消息更清晰时不应使用 A2UI。生成的界面只能使用固定的 Console 组件目录,不能执行 HTML、JavaScript、CSS 或任意组件。图表和自由绘图应使用 canvas;不需要可视界面时直接使用领域 worker。a2ui::action、a2ui::binding::apply、a2ui::binding::refresh、a2ui::stamp-session 和 a2ui::on-config-change 是 Console/Harness 内部生命周期函数,不是智能体工具。实时绑定不得绑定 browser::、harness::、engine::*、hook、http、cron 或 queue 触发类型;绑定查询必须是触发类型所属 worker 注册、且带有 {"read_only": true} 元数据的函数。不要再创建新的 stream 绑定:stream 已弃用(iii-stream),将在后续版本移除,现有绑定在 iii-stream 运行期间仍可用,应改为绑定生产数据 worker 自身的触发类型。