用途
E2B Web App 是一项托管技能,适用于用户需要一个网页、落地页、仪表盘、交互式演示,或另一种适合以实时浏览器预览方式体验而非纯文本输出的场景。
当交付物应当是以下内容时使用此技能:
- 一个小型可分享的落地页
- 一个轻量级交互式 UI 演示
- 一个仪表盘或微型网站
- 一个用户应能在浏览器中点击查看的 Web 产物
以下情况不要使用此技能:
- 纯摘要或静态 Markdown 输出
- 更适合通过 Shift Files 返回的文件
- 不需要实时浏览器预览的任务
主要能力
- 在 E2B 中创建或更新一个实时 Web 应用,并返回可分享的预览链接。
- 该技能使用 Shift 本地 Skill Router,不要向用户索取 E2B 凭据。
应用模型
- v1 中每个智能体保留一个活动的实时应用
- 再次调用该工具会更新同一个应用,而不是创建新应用
- 应用应保持简单且自包含
- 优先使用无需构建步骤的静态 HTML/CSS/JS
使用方式
调用方式:向以下地址发送 POST 请求
${SHIFT_LOCAL_GATEWAY}/skill-router/invoke
请求体:
{
"skillProvider": "e2b",
"skill": "web-app",
"action": "publish",
"input": {
"files": [
{
"path": "index.html",
"content": "<!doctype html><html><body><h1>Hello</h1></body></html>"
},
{
"path": "styles.css",
"content": "body { font-family: sans-serif; }"
}
],
"deletePaths": ["old-script.js"]
}
}
输入字段:
- files:必填,要写入实时应用的文件数组
- path:必填,相对路径,例如 index.html、styles.css 或 app.js
- content:必填,文件内容
- deletePaths:可选,要从现有应用中移除的相对路径列表
输出字段,该工具返回:
- previewUrl
- sandboxId
- status
- created
- resumed
- updatedPaths
- deletedPaths
适用场景
当用户需要一个网页、落地页、仪表盘、交互式演示等适合实时浏览器预览的成果时使用。
限制
- 上述“不要使用此技能”的情形不应调用该技能。
- v1 中每个智能体仅有一个活动的实时应用。
- v1 中应避免使用框架或安装依赖包。
- 应用应保持简单自包含。
- 其他未在资料中说明的功能、收费、价格、平台或效果,暂未提供。
智能体行为建议
- 优先采用小型自包含应用,v1 中避免使用框架或安装依赖包。
- 使用 index.html 作为入口点,并保持支持文件尽量精简。
- 当用户要求编辑现有实时应用时,只发送发生变更的文件以及所需的 deletePaths。
- 工具成功执行后,回复实时 URL 并简要说明哪些内容已可供查看。
- 如果任务更适合以文件或纯文本答案呈现,则不要调用此技能。