SuperAPI AI 工具集

visualize

设计与创作

查看项目

更新于 10-24 04:54

技能介绍

visualize 是一个对话内可交互可视化技能,隶属于 OpenSquilla(来源 tokenrhythm/opensquilla)。

用途:当图形化呈现有助于解释、比较或演示时,在对话中直接创建可交互的示意图、模拟、图表和小工具。根据用户的问题选择可视化形式,例如用关系图表达架构,用步骤表达流程,用对齐视图做比较,用联动的输入与结果做模拟。

主要能力:资料列出七类通用能力模块:示意图(架构、流程、序列、关系与层级)、图表(比较、趋势、分布、比例与相关性)、数据视图(仪表盘、表格、热力图、自定义数据图形和基于内嵌数据的地图)、交互式解释(模拟、计算器及能明显改变结果的控制项)、界面原型(带本地演示交互的产品界面与原型)、信息收集(为明确请求的后续任务收集若干相关选择或约束)、插图(说明性绘图与艺术)。技能强调每个控件都应实际改变图示、选择、结果或解释,不要用长篇统计报告替代关系图,也不要添加无作用的装饰性控件。

使用方式:默认生成一个自带样式与脚本的紧凑 HTML 片段,调用 show_widget(title="short_title", widget_code="...") 将其放入对话;片段不需要 html、head、body 或额外的页面外壳,宿主提供隔离框架及其控件。当用户需要可编辑源文件、可下载网页、多文件包或工作台页面时,才使用 open_workspace_preview(path="relative/path.html", presentation="inline")。工具会返回内部不可变的 Visualize Artifact 标记(如 visualize:doc_example:rev_example),只能使用工具返回的标记,不得自行编造 ID。局部更新可调用 edit_widget,以精确的 old_string → new_string 替换最新控件代码中的内容;大范围重写或控件尚不存在时,再以同一标题调用 show_widget。宿主 Canvas 菜单负责 Download HTML、Download PNG 等导出,不需要仅为可下载而创建工作区 HTML 文件。

设计与适配要求:使用流体宽度、可换行控件、适合触摸的目标、可读标签和键盘访问;利用可用容器宽度,并在缩放或展开时重排;需检查在 360 像素宽度下是否可用(这是窄屏验收宽度,不是固定画布宽度,也不是要求做手机原型);只有用户明确要求手机屏幕原型时才使用手机尺寸设备框。主文本与控件保持宿主常规尺寸,至少 14 px;输入文本用 16 px,12 px 仅用于次要说明。完整文档需包含 viewport meta 标签。除非有意义的区域需要对比,否则保持透明背景。使用宿主提供的完整 token 表与原生控件样式,不另造调色板或过大的主按钮。优先一个清晰的视觉元素加就近控件,次级细节在选择后展示。

状态恢复:宿主在脚本执行前提供 window.opensquillaVisualize。应在首次渲染或调用 setState() 之前 await visual.ready 并读取 visual.getState(),校验保存值后再初始化;启动时恢复重要输入、选择、标签页与模拟进度,并从该状态推导输出。渲染与缩放函数不得写入状态;在恢复完成后,由经过校验的变更或重置处理器调用 visual.setState(currentState)。对暂停的模拟,除暂停标志外还要保留可见的时间、角度或进度。应在离散的用户变更或暂停时保存,而非每帧保存;零是有效值,并要兼容缺少字段的旧快照。序列化状态需小于 16,384 个 JavaScript 字符串代码单元,且仅属于当前浏览器会话、账号、对话和稳定的控件身份,不跨设备同步,也不是持久共享存储。

后续模型任务条件(可选):仅当请求的工作流受益于按用户所选条件进行模型处理时使用。宿主提供统一的动作来在对话中使用已准备条件,不要在生成的 HTML 内重建该动作。通过 visual.setContext({ summary, data, suggestedPrompt }) 设置;summary 为必填非空文本(最多 400 字符),data 为纯 JSON(有限数字、嵌套深度至多八层、最多 2048 个 JSON 节点),suggestedPrompt 为可选、任务特定的可编辑文本(最多 2000 字符),整体上下文需在 8 KiB JSON 内,不得包含其他字段、函数、循环或机密。setContext 只表示已准备条件,不会调用模型、发送消息、修改聊天草稿或使状态自动对模型可见;用户需自行选择宿主动作添加可移除的条件块和可编辑草稿,再从聊天输入框发送。

限制:画布是运行在桌面、远程 WebUI 和移动浏览器上的隔离浏览器文档,须将全部 CSS、JavaScript、SVG 和数据内嵌在 HTML 中;不得使用网络请求、CDN、本地文件路径、外部框架、cookie 或 localStorage;图表与示意图使用 SVG/Canvas/原生 DOM;文件需小于 1 MiB。计算、筛选、选择、高亮、播放和普通原型操作均在本地完成,不要添加通用的“继续讨论”或提交到聊天按钮;新视觉元素不得调用旧版 sendPrompt。inline-ready 仅表示字节已注册,renderStatus: not-observed 并不代表视觉检查成功;发布前应检查关键计算与所有控件处理器,有浏览器工具时应在实际宿主的桌面与窄屏宽度检查已发布版本、操作控件并检查状态恢复与后续行为,并区分已测试与未能观察的内容。若发布返回可修正的 HTML 输入错误,应修复该具体问题后再发布,不要盲目重复相同字节;用户提供画布错误时,可依据其修订号和诊断修复源并发布新版本,但重试本身不验证新版本行为。