初始上下文

产品/团队
Gumloop / AI Agent 平台
功能
Agent Artifacts — Agent 在对话中生成文件的自动导出、预览、版本管理与分享系统
版本起源
v8.2.0 "Canmore" (2026-04-02) 发布核心 Artifacts;v8.3.0 "Gravenhurst" 增加 Gallery 增强
描述
Agent 在沙箱中执行代码、处理数据或生成文件后,系统自动将文件导出至 Google Cloud Storage(GCS)、生成缩略图预览、创建版本记录,并在聊天窗口中以富交互卡片呈现。用户无需任何手动配置——文件一旦被 Agent 创建,整个管线自动触发
目标用户
(1) 使用 Agent 生成报告/代码/图表的分析师和开发者;(2) 需要将 Agent 产出分享给团队或外部协作者的用户;(3) 需要通过交互式 HTML Artifacts 获取实时数据仪表盘的团队
平台范围
Web 端
关键成功指标
Artifact 创建量、分享链接生成量、交互式 Artifact 打开量、Files Page 活跃用户数

1. 概览

背景

AI Agent 生成的内容——无论是数据分析报告、Python 脚本、HTML 仪表盘还是幻灯片——如果不能方便地保存、预览和分享,其价值就会在对话结束后消失。

Gumloop 的 Agent Artifacts 系统解决了这个问题:Agent 在其 Linux 沙箱中生成的文件,不再只是短暂存在于沙箱内,而是被自动捕获、持久化到云端、生成预览、建立版本历史,并在三个入口(聊天卡片、专用查看页面、Files 侧栏)提供一致的访问体验。

该能力对标但差异化于 Claude Artifacts(Anthropic)和 ChatGPT 文件生成(OpenAI),核心差异在于:(1) 支持更多文件类型;(2) 自动版本管理;(3) 交互式 HTML Artifacts 可拉取查看者自己的集成数据;(4) 三级分享权限模型。

目标

  1. 零配置文件持久化:Agent 产出的任何文件自动保存,用户无需思考"要不要下载"
  2. 丰富的预览体验:覆盖 HTML、PDF、图片、电子表格、幻灯片、代码等主流格式
  3. 自动版本管理:同文件名自动迭代版本,不覆盖历史
  4. 灵活的分级分享:Restricted、Organization、Anyone 三级权限,适配从私密到公开的多种场景
  5. 交互式实时数据:HTML Artifacts 可携带实时数据拉取能力,用查看者凭据获取最新数据

2. 核心机制 [文档已验证]

2.1 自动导出管线

┌─────────────┐    ┌──────────────┐    ┌─────────────────┐    ┌──────────────────┐
│   Agent     │    │   Export     │    │    Preview      │    │    Chat Card     │
│   沙箱生成   │───▶│   Pipeline   │───▶│   Generator     │───▶│   Display        │
│   文件       │    │              │    │                 │    │                  │
└─────────────┘    └──────┬───────┘    └────────┬────────┘    └──────────────────┘
                         │                     │
                         ▼                     ▼
                  ┌──────────────┐    ┌─────────────────┐
                  │  GCS Cloud   │    │  Artifact Record │
                  │  Storage     │    │  (versioned,     │
                  │  (persist)   │    │   type-tagged)   │
                  └──────────────┘    └─────────────────┘

管线四步:

  1. 存储:文件写入 Google Cloud Storage(GCS),获得持久化 URL
  2. 建记录:创建 Artifact 数据库记录(关联会话、文件类型、版本号、时间戳)
  3. 生成预览:根据文件类型(参见 2.3 矩阵)生成对应的缩略图和预览视图
  4. 展示卡片:在对话流中以富交互卡片呈现(文件名、类型图标、缩略图、文件大小)

整个管线对用户透明——Agent 生成文件后,卡片在对话中自动出现。

2.2 版本管理

同一对话中 Agent 多次输出同名文件时,系统不覆盖已有文件,而是自动创建新版本。

report.csv  (v1)  →  Agent 重新生成  →  report.csv  (v2)
sales.html  (v1)  →  Agent 重新生成  →  sales.html  (v2)  →  sales.html  (v3)

每个版本均独立存储(GCS 中独立对象),显示版本号、创建时间戳和文件大小。用户可通过历史面板在版本之间切换查看。此设计确保数据永不丢失——即便是意外覆盖也不会删除历史产出。

2.3 预览类型矩阵

文件类型扩展名预览方式说明
HTML.html沙箱化交互预览支持全屏模式,JavaScript 在安全沙箱中执行
图片.png .jpg .gif .webp .svg原生图片查看器支持缩放和全屏
PDF.pdfPDF 查看器支持翻页、缩放、文本搜索
电子表格.csv .xlsx .xls电子表格查看器行/列视图、排序、筛选
演示文稿.pptx .ppt幻灯片查看器逐页预览或 PDF 渲染
文本/代码.txt .md .py .js .json语法高亮查看器自动识别语言并应用对应高亮方案
大文件任意,>50MB仅下载显示文件大小,不提供内联预览

不支持的格式同样提供下载入口,只是不生成预览缩略图。

2.4 分享模型

Artifacts 支持三级通用访问(General Access)控制:

级别范围典型场景
Restricted仅文件所有者 + 被明确添加的用户个人私密数据报告
Organization组织内所有成员可访问团队周报、项目仪表盘
Anyone拥有链接的任何人均可访问公开分享、外部协作

默认分享级别可在 Agent 设置中配置(Agent Settings → Chat Preferences):

  • 团队 Agent 默认:Organization
  • 个人 Agent 默认:Restricted
  • 可手动覆盖为 Organization 或 Anyone

每个 Artifact 拥有唯一的可分享 URL,指向专用查看页面(全宽预览 + 元数据展示)。

2.5 交互式 HTML Artifacts

这是 Agent Artifacts 最具差异化的能力。Agent 生成的 HTML 文件可以包含 JavaScript 逻辑,在每次打开时从查看者自己的已连接集成拉取实时数据。

工作原理:

┌──────────────────────────────────────────────────────────┐
│                    首次打开交互式 Artifact                  │
│                                                          │
│  ┌──────────────────────────────────────────────────┐    │
│  │            Consent Overlay(同意覆盖层)             │    │
│  │                                                    │    │
│  │  此 Artifact 将访问以下集成:                         │    │
│  │  • Salesforce — 读取报表数据                         │    │
│  │  • Snowflake — 执行 SQL 查询                         │    │
│  │  • Gmail — 读取最近邮件                              │    │
│  │                                                    │    │
│  │  [ 拒绝 ]                    [ 允许并执行 ]          │    │
│  └──────────────────────────────────────────────────┘    │
│                          │                               │
│                          ▼ (用户同意)                     │
│  ┌──────────────────────────────────────────────────┐    │
│  │  Python 数据脚本执行                                │    │
│  │  • 使用查看者凭据(非创建者凭据)                      │    │
│  │  • 5 分钟短生命周期 token                           │    │
│  │  • 沙箱执行,完成后 token 立即失效                    │    │
│  └──────────────────────────────────────────────────┘    │
│                          │                               │
│                          ▼                               │
│  ┌──────────────────────────────────────────────────┐    │
│  │  HTML 页面渲染(展示实时数据)                        │    │
│  └──────────────────────────────────────────────────┘    │
└──────────────────────────────────────────────────────────┘

关键安全设计:

  • 查看者凭据:数据拉取使用查看者自己的集成凭据,而非创建者的——这意味着创建者无法通过分享 Artifact 间接访问他人数据
  • 短生命周期 Token:脚本被授予一个 5 分钟过期的 scoped token,脚本执行完毕后立即失效
  • 费用归属:沙箱执行消耗的 credits 由查看者承担(创建者不付费)
  • Creator 零负担:创建者只需编写 HTML(UI + 样式 + JS)和 Python 数据脚本;查看者打开时才执行

2.6 安全沙箱

所有 HTML Artifacts 在安全沙箱中运行,强制执行以下限制:

  • 阻止会话访问:HTML 无法读取会话 cookie、localStorage、sessionStorage
  • 阻止直接网络请求fetch()XMLHttpRequestWebSocket 被拦截;安全 HTTP 方法(GET、HEAD)通过代理放行;不安全方法(POST、PUT、DELETE)需用户确认
  • 阻止弹窗window.open() 和所有弹窗机制被禁用
  • 敏感头部剥离:代理转发时移除 AuthorizationCookie 等敏感头部

3. 功能需求

模块 A:文件导出与预览 [文档已验证]

ID需求优先级
A1Agent 沙箱中生成的任何文件,自动触发导出管线(存储→建记录→预览→卡片)P0
A2根据文件类型(扩展名 + MIME)自动选择预览方式(参见 2.3 矩阵)P0
A3聊天卡片包含:文件名、类型图标、缩略图、文件大小、时间戳P0
A4点击卡片打开侧边面板预览(slide-out panel),不中断对话流P0
A5HTML 文件支持全屏模式(隐藏工具栏,沉浸式查看)P1
A6每个 Artifact 拥有唯一分享 URL 和专用查看页面(全宽 + 元数据)P0
A7Files 侧栏:当前对话的文件列表,按时间排序P0
A8>50MB 文件仅显示下载卡片,不生成预览P0

模块 B:版本管理 [文档已验证]

ID需求优先级
B1同一对话中同名文件自动创建新版本(v1 → v2 → v3),不覆盖P0
B2每个版本独立存储(GCS),独立 Artifact 记录P0
B3版本历史面板:可查看所有版本、在各版本间切换P0
B4每个版本显示:版本号、创建时间戳、文件大小P1

模块 C:分享与权限 [文档已验证]

ID需求优先级
C1三级 General Access:Restricted / Organization / AnyoneP0
C2Restricted 仅所有者 + 被明确添加的用户可访问P0
C3Organization 组织内所有成员可访问P0
C4Anyone 拥有链接的任意人均可访问(无需登录)P1
C5默认分享级别可在 Agent Settings → Chat Preferences 中配置P1
C6团队 Agent 默认 Organization;个人 Agent 默认 RestrictedP0
C7每个 Artifact 有唯一可分享 URLP0

模块 D:交互式 HTML Artifacts [文档已验证]

ID需求优先级
D1Agent 可创建包含 JavaScript 的 HTML 文件 + 配套 Python 数据脚本P0
D2打开时显示同意覆盖层(consent overlay),列出将被访问的集成和操作P0
D3用户同意后才执行数据拉取脚本;拒绝则仅显示静态 HTMLP0
D4数据拉取使用查看者自己的集成凭据(非创建者凭据)P0
D5脚本执行使用 5 分钟短生命周期 token,完成后立即失效P0
D6沙箱执行费用由查看者承担(credits)P1
D7安全沙箱限制:阻止会话访问、直接网络请求、弹窗、敏感头部P0
D8安全 HTTP 方法(GET/HEAD)通过代理自动放行;不安全方法需用户确认P1

模块 E:Files Page(集中文件管理)[文档已验证]

ID需求优先级
E1集中页面 gumloop.com/personal/files 展示所有 ArtifactsP0
E2三个标签页:Mine(我的文件)、Shared with me(共享给我的)、Organization(组织)P0
E3支持搜索(文件名)、按类型筛选、按日期排序P1
E4列表中显示缩略图预览P1
E5Workspace 文件同样遵循此版本/预览/分享机制,且在 Files Page 可见P1

4. 用户场景

场景 1 — 数据分析师:生成报告并分享给团队 [文档已验证]

用户画像

张敏,32 岁,电商数据分析师。每周一早上让 Agent 生成上一周的销售分析报告。

作为数据分析师,我希望 Agent 生成 Excel 报告后自动保存、预览,并通过链接分享给我的团队成员,以便他们无需登录 Gumloop 也能查看。

交互流程:

  1. 张敏在对话中输入:「帮我生成上周各品类销售额的汇总报告,包含同比对比」
  2. Agent 执行 Python 脚本,处理数据库中的数据,生成 weekly_sales_report.xlsx
  3. 导出管线自动触发:文件保存至 GCS → 生成电子表格预览 → 聊天窗口中出现报告卡片
  4. 张敏点击卡片上的分享按钮,将默认权限从 Restricted 改为 Organization
  5. 张敏复制分享链接发送到团队 Slack 频道
  6. 团队成员(同组织内)点击链接即可在专用查看页面查看和下载报告

场景 2 — 运营团队:带实时数据的团队仪表盘

用户画像

陈立,28 岁,运营经理。需要每天查看从多个系统汇聚的运营指标。

作为运营经理,我希望 Agent 创建一个 HTML 仪表盘,每次打开时自动从 Salesforce 和数据库拉取最新数据,以便我始终看到最新的运营概览而不需要手动刷新数据源。

交互流程:

  1. 陈立让 Agent 创建一个包含销售额、客户获取数、工单关闭率的实时仪表盘
  2. Agent 生成 ops_dashboard.html(UI + 图表 JS)和配套的 Python 数据脚本(从 Salesforce 和 Snowflake 拉取数据)
  3. Artifact 以交互式 HTML 形式出现在聊天中
  4. 陈立点击打开,弹出同意覆盖层列出:「此仪表盘将访问 Salesforce(读取机会数据)、Snowflake(查询运营数据库)」
  5. 陈立点击「允许并执行」——Python 脚本在沙箱中运行,用陈立的凭据获取数据,消耗少量 credits
  6. 仪表盘渲染完成,显示带交互式 Chart.js 图表的实时数据
  7. 陈立将分享级别设为 Organization,团队成员打开时系统使用他们各自的凭据执行脚本

5. 竞争分析

竞品功能/行为优势劣势Gumloop 差异化
Claude Artifacts 对话中生成 HTML/SVG/Mermaid 等可渲染内容并以侧面板展示 集成度高、渲染流畅、原生支持 React 组件 不支持二进制文件格式(PDF/XLSX/PPTX)、无版本管理、无法拉取外部实时数据 更广的文件类型覆盖 + 交互式实时数据 + 三级分享权限
ChatGPT 文件生成 GPT-4o 可生成 CSV、PDF、图片等文件并提供下载链接 品牌认知强、用户基数大 预览能力有限、无版本历史、分享不灵活、文件管理分散 统一的 Files Page + 自动版本历史 + 结构化分享模型
Google Colab 在 Notebook 中生成文件,可保存至 Google Drive 与 Google 生态深度集成 面向开发者、无分享权限分级、需要手动管理文件 对话驱动(非 Notebook 驱动)、自动导出、面向非技术用户
Notion AI 在 Notion 页面中生成内容块 与知识库紧密集成 不支持通用文件格式、无版本管理、输出绑定到 Notion 页面 独立文件系统、支持任意格式、跨对话持久化

关键洞察

  1. 交互式 Artifacts 是护城河:Claude 和 ChatGPT 都无法做到「用查看者凭据拉取实时数据」。这是 Gumloop 集成生态的独特优势——Artifacts 不只是静态快照,而是活的数据门户
  2. Workspace 文件系统增加粘性:用户和团队在 Workspace 中积累的文件越多,迁移到其他平台的机会成本越高
  3. 分享模型服务 B2B 场景:Organization 级别的分享权限直接服务于团队和组织场景,而非仅限个人使用

6. 未来演进方向

阶段时间线里程碑状态
Phase 1 — 核心 Artifactsv8.2.0自动导出管线、预览、版本管理、基础分享已发布
Phase 2 — Gallery 增强v8.3.0Files Page 集中管理、搜索/筛选/排序已发布
Phase 3 — 交互式 Artifactsv8.x实时数据拉取、consent overlay、查看者凭据已发布
Phase 4 — MCP Artifactsv9.7.0MCP 协议与 Artifacts 打通(独立规格)已发布
Phase 5 — 协作增强v10.x团队模板 Artifacts、批量导出、定时自动生成报告规划中
Phase 6 — 智能版本v11.xAI 生成版本变更摘要、Delta 对比视图、分支管理探索中

关键演进判断

  1. 从「文件存储」到「知识资产管理」:当前 Artifacts 本质是文件系统;未来可以演变为知识资产管理——为每个 Artifact 自动打标签、建立关联图谱、支持语义搜索
  2. Workspace 的深层价值/home/user/.workspace/ 的跨对话持久化已经实现。下一步可以让 Agent 在 Workspace 中维护一个「项目上下文文件」,使 Agent 能记住多轮对话之间的状态和数据
  3. 交互式 Artifacts 的扩展:当前仅 HTML 支持交互式实时数据。未来可考虑将相同机制扩展到 PPTX(嵌入实时图表)和 PDF(动态内容区域)

7. Workspace 文件系统 [文档已验证](简要)

Workspace(/home/user/.workspace/)是 Agent 沙箱中一个特殊的持久化目录。写入该目录的文件跨越对话边界持续存在:

  • 项目成员:共享同一个 Workspace,所有成员可见和操作文件
  • 非成员:获得隔离的私有 Workspace
  • Artifacts 能力复用:Workspace 文件同样享有版本管理、预览生成、分享权限等完整 Artifacts 能力
  • 管理入口:Workspace 文件出现在 Files Page 中,与其他 Artifacts 并列

详细的 Workspace 规格在独立文档中展开;本规格聚焦于 Artifacts 文件输出系统本身。

源文档参考


由 Claude spec-generate 系统生成 · 来源:Gumloop Agent Artifacts 文档