iframe 作为通用组合原语。
每个容器服务——终端、显示器、文件、代码编辑器、浏览器、SQLite UI——都是可嵌入 iframe 的 HTTPS URL。仪表盘不是构建在基础设施之上,而是由基础设施本身组装而成。
一个 HTML 文件 + iframe = 自定义基础设施 UI · 无 SDK · 无 postMessage
不要在基础设施之上构建仪表盘,而是从基础设施本身组装它。
传统仪表盘读取数据库、轮询 API、渲染数字和图表。Hoody 仪表盘嵌入服务本身的 iframe——实时终端、运行中的显示器、可编辑的文件树。没有同步延迟,因为根本无需同步。
无轮询层
仪表盘不轮询监控接口,它嵌入被监控的对象本身。
读取与操作
发现指标峰值?点击旁边嵌入的终端输入 `top`,无需切换上下文。
按客户、按项目、按环境
从 URL 组合仪表盘——任意组合即是一个仪表盘。
AI 可组合
LLM 可以生成带 iframe URL 的 HTML。按需生成自定义可观测性 UI。
更新容器,iframe 自动反映。
无 postMessage,无父子协议。iframe 显示服务 URL;服务通过 HTTP API 更新;iframe 下次请求时即获取新状态。iframe 和 API 是同一个容器。
应用嵌入服务 URL
父页面在布局中放入一个指向容器服务 URL 的 iframe。
应用发送控制 HTTP 请求
POST /api/v1/files/upload(或任意其他 API 调用)——针对同一容器进行认证。
iframe 拉取最新状态
自动刷新、SSE 或用户交互触发新请求,新文件即显示在 iframe 中。
无包装协议
你的应用从不向 iframe 发送 postMessage,只需更新容器;iframe 在下次渲染时即见到变化。
iframe 在每个浏览器上渲染,每个浏览器都在每台设备上。
嵌入式 Hoody 仪表盘可在手机、平板、电视浏览器、智能手表、VR 头显浏览器上运行。可嵌入特性贯穿整个设备生态,因为浏览器如此。
组合原语是 iframe + HTTPS,两者都是通用的。这是设备兼容性自动成立的唯一原因。
LLM 可以从容器 URL 组合出仪表盘。
让智能体「为这三个容器构建一个健康检查仪表盘」。它生成带 iframe 标签的 HTML,指向你命名的终端、显示器和 exec URL。结果是一个真实的实时仪表盘,一轮提示即可完成。
智能体接收需求
「我需要监控三个容器:frontend、backend、db。显示每个容器的终端日志。」
智能体生成 HTML
包含三个 iframe 标签的模板,分别指向每个容器正确的 terminal-1 URL。
从任意位置提供服务
粘贴到静态文件、支持 iframe 嵌入的 Notion 页面,或运行 http-3000 的专用 Hoody 容器中。
打开 URL
实时仪表盘。由基础设施组成,而非来自仪表盘产品。
可嵌入性在哪里触及浏览器限制。
iframe 是浏览器原语,浏览器对可嵌入和不可嵌入的内容有自己的规则。这些是通用约束,而非 Hoody 特有——但在组合 UI 时值得注意。
X-Frame-Options / CSP
设置了 `X-Frame-Options: DENY` 或 `frame-ancestors 'none'` 的外部 URL 无法嵌入。Hoody 自身服务不设置此类头;你嵌入的第三方 URL 可能设置。
混合内容
在 HTTPS 页面中嵌入 HTTP URL 会被阻断。Hoody URL 始终是 HTTPS——可在任处嵌入。
第三方 Cookie
浏览器日益阻止第三方 Cookie。嵌入式 iframe 内的认证可能需要使用每次请求的 Token,而非会话 Cookie。
第三方存储
iframe 内的 localStorage 作用域为 iframe 的源。跨 iframe 状态需来自容器,而非浏览器。
从基础设施构建仪表盘,而非叠加在其之上。
一个 HTML 文件,几个 iframe 标签,实时运行的容器。这就是完整的技术栈。
另见——Hoody 内部组合请访问 /platform/os,Workspace 运行时请访问 /kit/workspaces,共享 iframe 会话请访问 /methods/multiplayer。