初始上下文

产品/团队
Gumloop / AI Agent 平台
功能
Live Artifacts Connect to More MCP Servers — Live(交互式)Artifact 可调用用户已连接的全部 MCP 服务器;底层是 Live Artifact 这一"AI 生成的活应用"运行时范式
版本起源
v10.3.0 "Twillingate" (2026-06-24) 完成全 MCP 扩展;Live/Interactive Artifacts 能力本身源自 v9.7.0 "Port Hope"(MCP Artifacts)
描述
Live Artifact(官方称 Interactive Artifact)由 HTML 文件 + Python 数据脚本组成,每次打开用观看者自己的凭据实时从已连接集成拉数据渲染。不是静态快照,而是"AI 生成的、随开随活、按观看者个性化"的小型应用。v10.3.0 把可调用的 MCP 范围从受限子集扩展到用户已连接的全部 MCP(含 Custom/Hosted/Proxied MCP)
解决的问题
此前 Live Artifact 只能调用部分 MCP 服务器,Agent 生成的仪表板/报表无法访问用户已连接的大部分账号数据——"仪表板好看但数据是死的/不全的";v10.3.0 让 Live Artifact 能像 Agent 本体一样访问全部已连接 MCP
战略动机
Live Artifact 代表独特产品形态——AI 不仅生成静态内容,还生成"可执行的小型应用",且按每个观看者身份和凭据呈现个性化数据。这是 Agent 从"内容生成器"向"应用生成器"的跃迁。v10.3.0 全 MCP 扩展让这种"生成式应用"触达用户整个数字工作区——Agent 生成的仪表板等价于 Agent 替你写了一个连接所有工具的 mini SaaS
目标用户与痛点
(1) 需要实时监控仪表板的团队 lead——聚合多工具的"我的工作台",每人个性化 (2) 需要自助工具的运营——能发消息/建 issue 的表单工具 (3) 需要面向客户实时报告的团队——每人 scope 内的数据
平台范围
Web 端 Artifact viewer。运行时由 Gumloop 后端代理(data script sandbox + 凭据代理)
关键成功指标
Live Artifact 创建量、打开率(按观看者)、每次打开的 data script 执行数、连接的 MCP 多样性、共享 Live Artifact 的观看者数
重点关注领域
生成式应用范式、观看者凭据安全模型、consent 体验、credit 归属、MCP 全域访问
🔶 关于评分
v10.3.0 的全 MCP 扩展经评分得 8/13(战略2 护城河2 用户2 复杂度1 创新1),达到 7 分 SPEC 阈值。其底层的 Live Artifact 运行时范式("AI 生成的、按观看者个性化、用观看者凭据实时拉数据的活应用")是 Agent 产品中较新且独特的产品形态——Agent 从"内容生成"到"应用生成"的跃迁,主流对话式 AI(Claude/ChatGPT)都没做好。全 MCP 扩展让这种"生成式应用"能触达用户的整个数字工作区,成为能操作任何业务系统的通用应用容器。

1. 概览

背景

大多数 AI 产品的输出是静态内容——一段文字、一张图、一个文件。Gumloop 的 Live Artifacts(官方文档称 Interactive Artifacts)走了一条不同的路:AI 生成的不是内容,而是一个会运行的小型应用

这是 Agent 递给你一张 Slack 频道截图,还是给你一个永远显示最新数据的活仪表板的区别。

一个 Live Artifact 由两部分组成:(1) 一个 HTML 文件(布局/样式/UI 逻辑)+ (2) 一个或多个 Python 数据脚本(观看时刻从集成拉数据)。打开时 HTML 调用 fetch('/gumloop/data/...'),Gumloop 拦截请求、在安全沙箱运行对应 Python 脚本、把结果作为 JSON 返回、HTML 再渲染。每次打开/刷新都重新执行——数据永远是"现在的"。

v10.3.0 的变化:此前 Live Artifact 只能调用部分 MCP 服务器;现在扩展到用户已连接的全部 MCP 服务器,含 Custom MCP、Hosted/Proxied MCP。Agent 生成的活应用能触达用户整个数字工作区。

┌──────────────────────────────────────────────────────────────────────┐
│            静态内容 vs Live Artifact(生成式应用)                       │
├─────────────────────────────────┬────────────────────────────────────┤
│  静态 Artifact(v8.2.0)         │  Live Artifact(v9.7.0 / v10.3.0) │
├─────────────────────────────────┼────────────────────────────────────┤
│  Agent 生成时刻的快照            │  每次打开实时拉取                   │
│  所有人看到同一份内容            │  每个观看者看到自己的数据           │
│  数据是"生成时"的                │  数据是"此刻"的                    │
│  无副作用                        │  可执行写操作(发消息/建 issue)    │
│  创建者承担成本                  │  观看者承担成本(各自付各自的)     │
│  PDF / CSV / 图片 / 静态 HTML    │  HTML + Python 数据脚本             │
└─────────────────────────────────┴────────────────────────────────────┘

目标

  1. 生成式应用:让 Agent 不仅生成内容,还生成可执行、随开随活的小型应用
  2. 按观看者个性化:同一 Live Artifact,不同人打开看到各自 scope 数据(一人一视图)
  3. 全域 MCP 访问:v10.3.0 让 Live Artifact 能调用全部已连接 MCP,触达完整数字工作区
  4. 凭据安全:永远用观看者自己凭据,创建者看不到观看者数据,反之亦然

2. 核心机制

2.1 Live Artifact 运行时架构 [文档已验证]

┌──────────────────────────────────────────────────────────────────────┐
│                    Live Artifact 打开时的执行流程                       │
├──────────────────────────────────────────────────────────────────────┤
│  观看者打开 Live Artifact URL                                         │
│          │                                                           │
│          ▼                                                           │
│  ┌──────────────────┐                                                │
│  │ Consent Overlay  │  列出该文件要访问的集成 + 动作                  │
│  │ (首次/per-      │  观看者必须明确批准才能运行任何脚本              │
│  │  session)       │                                                │
│  └────────┬─────────┘                                                │
│           │ 批准                                                      │
│           ▼                                                          │
│  ┌──────────────────┐    fetch('/gumloop/data/...')    ┌──────────┐ │
│  │  HTML 文件       │ ───────────────────────────────▶ │ Gumloop  │ │
│  │  (UI/布局/渲染)  │                                  │  后端代理│ │
│  └──────────────────┘                                  └────┬─────┘ │
│           ▲                                                 │ 运行  │
│           │ JSON 结果                                       ▼       │
│           │                                    ┌──────────────────┐│
│           └────────────────────────────────────│ Python 数据脚本  ││
│                                            在安全沙箱运行         ││
│                                            用【观看者】凭据       ││
│                                            (短时 scoped token,  ││
│                                             5 分钟过期)          ││
│                                            调用 MCP 服务器 ──────┼▶ Linear / Slack /
│                                            └──────────────────┘  Gmail / GitHub /
│                                                                  任意 MCP 服务器
│                                                                  (v10.3.0 全域)│
└──────────────────────────────────────────────────────────────────────┘

2.2 观看者凭据模型(核心设计选择)[文档已验证]

这是 Live Artifact 最关键、也最反直觉的设计:运行用观看者的凭据,不是创建者的

如果同事创建了"团队 Slack 仪表板"并分享给你:打开看到的 Slack 数据;打开看到的 Slack 数据;创建者永远看不到你的,你也看不到他的。每次脚本运行时铸造短时 scoped token(仅文件声明的集成/工具,5 分钟过期,脚本结束失效),凭据从不暴露给 HTML 本身。

┌──────────────────────────────────────────────────────────────────────┐
│              "一个 Artifact,每人一视图" 的团队价值                      │
├──────────────────────────────────────────────────────────────────────┤
│   团队 lead 创建"My Open Tasks" Live Artifact,分享全团队                │
│                                                                      │
│   ┌─────────┐  ┌─────────┐  ┌─────────┐  ┌─────────┐                │
│   │ 成员 A  │  │ 成员 B  │  │ 成员 C  │  │ 成员 D  │                │
│   │ 打开    │  │ 打开    │  │ 打开    │  │ 打开    │                │
│   └────┬────┘  └────┬────┘  └────┬────┘  └────┬────┘                │
│        │自己凭据     │自己凭据     │自己凭据     │自己凭据              │
│        ▼            ▼            ▼            ▼                      │
│   A 的任务      B 的任务      C 的任务      D 的任务                  │
│   A 的日历      B 的日历      C 的日历      D 的日历                  │
│   A 的邮件      B 的邮件      C 的邮件      D 的邮件                  │
│                                                                      │
│   同一链接,每人看到自己的工作台 —— 一份 Artifact,全员个性化           │
└──────────────────────────────────────────────────────────────────────┘

2.3 v10.3.0 的全 MCP 扩展 [部分推断]

MCP 服务器类型v10.3.0 前状态v10.3.0 后状态
内置集成(Slack/Gmail/Linear/GitHub 等)✅ 可调用✅ 可调用
Custom MCP Servers(用户自建)⚠️ 受限/部分✅ 全部可调用
Hosted MCP(Gumstack 托管)⚠️ 受限/部分✅ 全部可调用
Proxied MCP(Gumstack 代理)⚠️ 受限/部分✅ 全部可调用

为什么是质变:扩展前 Live 仪表板只能读主流内置集成;扩展后能读用户自建私有 MCP(内部 API/定制工具)、企业托管/代理 MCP。一个"我的工作台"现在可聚合用户整个数字工作区,而不只是 Gumloop 预置的那几十个。

2.4 Consent 与安全沙箱 [文档已验证]

第一层 Consent Overlay(观看者授权):首次打开及每次 session 刷新后显示,列出该文件要访问的每个集成及具体动作;观看者必须明确批准;per-session 设计(刷新再次出现);他人分享的文件由观看者决定是否授予访问自己账号的权限。

第二层 HTML 安全沙箱:运行在严格沙箱——阻止访问 Gumloop session/cookie/localStorage、阻止直接网络请求(fetch/XHR/WebSocket)、阻止弹窗、自动剥离经代理请求的敏感 header。安全请求(GET/HEAD)自动代理;不安全请求(POST/PUT/DELETE)需观看者确认对话框。

2.5 Credit 归属与刷新 [文档已验证]

每次 data script 运行,观看者为沙箱执行时间付 credit,创建者不被收费。分享给 10 人,每人各自为自己数据加载付费;credit 不足脚本不执行报错。data script 每次打开/刷新重新运行,每次创建全新沙箱(刷新间不携带状态),5 分钟超时。

3. 功能需求

模块 A — Live Artifact 生成

ID触发场景系统行为优先级
A1用户让 Agent"做一个用我集成的数据的仪表板/工具/报表"Agent 生成 HTML 文件 + 对应 Python data scriptP0
A2Agent 生成的 Live Artifact 需访问某集成在文件中声明所需集成 + 动作(用于 consent 展示)P0
A3用户打开自己生成的 Live Artifact走 consent → 脚本执行 → 渲染P0

模块 B — 全 MCP 访问(v10.3.0 核心)

ID触发场景系统行为优先级
B1数据源是用户已连接的任意 MCP 服务器data script 可调用该 MCP 工具(含 Custom/Hosted/Proxied MCP)P0
B2声明了某 MCP 但观看者未连接显示 setup 提示,要求连接后才能加载;脚本不执行P0
B3观看者已连接但 consent 未批准不运行任何脚本,停在 consent 浮层P0
B4MCP 调用产生写操作(POST/PUT/DELETE)需观看者额外确认对话框(与安全模型一致)P1

模块 C — 观看者凭据与个性化

ID触发场景系统行为优先级
C1不同观看者打开同一 Live Artifact各自用自己的凭据拉数据,各自看到自己 scope 数据P0
C2脚本运行时铸造短时 scoped token(仅文件声明集成/工具,5 分钟过期,脚本结束失效)P0
C3token 过期或被撤销脚本失败,走错误处理P1

模块 D — Consent 与安全

ID触发场景系统行为优先级
D1首次打开 / session 刷新后打开显示 consent 浮层,列出所有要访问的集成 + 动作P0
D2观看者批准 consent脚本可运行;token 按需铸造P0
D3观看者拒绝 consent不运行任何脚本,文件不加载P0
D4HTML 尝试直接网络请求或访问 session沙箱阻止;仅能通过 Gumloop 安全代理P0

模块 E — 共享与团队

ID触发场景系统行为优先级
E1创建者把 Live Artifact 分享给团队/组织通过 Share Permissions(Restricted/Org/Anyone)P0
E2多人打开共享的 Live Artifact每人各自 consent + 各自凭据 + 各自付费 + 各自个性化视图P0
E3客户/外部打开"Anyone"共享的 Live Artifact需登录 Gumloop 连接自己集成才能加载数据P1

4. 用户场景

场景 1 — 团队 lead 创建"我的今日工作台"全员个性化仪表板

用户画像:孙玮,38 岁,工程团队 lead。想要聚合 Linear 待办、今日 Calendar、未读 Gmail、GitHub PR 的"每日工作台",且团队成员每人看到自己的。

作为团队 lead,我希望 Agent 生成一个工作台仪表板,分享后每个人打开都看到自己的任务/会议/邮件/PR——一份 Artifact,全员个性化。

验收标准:Agent 生成 HTML + 4 个 data script → 孙玮打开 consent 批准看到自己工作台 → 分享组织 → 成员 A/B 各自 consent + 各自凭据看到各自数据 → 各自付 credit。

场景 2 — 运营创建"发 Slack 公告"自助表单工具(含写操作)

用户画像:周婷,29 岁,运营。想做一个表单工具,团队成员填好内容选好频道就能发格式化 Slack 公告。

作为运营,我希望 Agent 生成一个"发公告"表单,任何人填好提交就能往指定频道发格式化消息——把重复操作变成自助小工具。

验收标准:Agent 生成 HTML 表单 + Slack 发消息 data script(写操作)→ 打开 consent → 填写 → 点发送触发 POST → 确认对话框 → 确认 → 消息发出。分享后任何人用自己凭据发公告。

场景 3 — 销售面向客户的实时 CRM 报告(每人 scope 内)

用户画像:马俊,33 岁,销售经理。想给客户实时报告链接,客户打开看到自己作为该客户的 deal 进展、续约时间线、工单状态。

作为销售,我希望 Agent 生成从 CRM 拉实时数据的客户报告,分享给客户每人只看自己 scope——而不是我每周手动截图发邮件。

验收标准:Agent 生成 HTML + HubSpot data script → 分享客户(需客户 Gumloop 账号 + 连接自己 HubSpot)→ 客户打开 consent → 自己凭据 → 自己 scope deal/工单 → 数据实时。

场景 4 — v10.3.0 全 MCP:聚合自建私有集成的仪表板

用户画像:刘洋,31 岁,数据工程师。团队用 Custom MCP Server 连了内部私有 API。想聚合内部 + 外部数据的工作台。

作为数据工程师,我希望 Agent 的仪表板能同时读我的 Custom MCP(内部 API)和 GitHub——v10.3.0 之前 Live Artifact 读不到我的 Custom MCP,现在可以了。

验收标准:Agent 生成聚合内部监控 API(Custom MCP)+ GitHub PR 的工作台。v10.3.0 前 data script 无法调用 Custom MCP → 加载失败/不全;v10.3.0 后可调用全部 MCP → 内部 + 外部都加载成功。

5. 竞争分析

竞品功能/行为优势劣势洞察/机会
Claude Artifacts生成 HTML/React 交互式 Artifact生成交互式 UI 体验好Artifact 是静态的——不含"用观看者凭据拉实时数据"的运行时;无 consent/凭据代理模型Gumloop 的"观看者凭据 + 实时数据"是 Claude 没有的运行时范式
ChatGPT Canvas/Apps生成可交互应用GPT 生成应用能力强同样缺"按观看者凭据个性化 + 实时集成数据"运行时"生成式应用 + 集成生态"是差异化
Retool / 内部工具构建器拖拽构建连数据源的内部工具工具成熟、数据源丰富需人工拖拽;非 AI 生成;不按观看者凭据自动个性化Gumloop 是"用自然语言生成 Retool 式工具",且天然个性化
Notion / Airtable 视图数据库 + 多视图 + 按用户筛选数据结构化、协作成熟视图是数据表筛选,非"运行时拉外部集成实时数据"的生成式应用Live Artifact 是"生成式 + 实时 + 集成"的交叉

关键洞察

6. 遥测

漏斗阶段事件名称触发条件指标/KPI优先级
采用live_artifact_createdAgent 生成 Live Artifact(含 data script)Live Artifact 创建量 / 总 Artifact 占比P0
使用live_artifact_opened观看者打开 Live Artifact打开数(按观看者计)P0
使用live_artifact_consent_approved观看者批准 consentconsent 批准率P0
运行data_script_executeddata script 在沙箱执行每次打开的脚本执行数P0
v10.3.0 价值live_artifact_custom_mcp_calledLive Artifact 调用 Custom/Hosted/Proxied MCP全 MCP 扩展使用率P1
价值live_artifact_shared_multi_viewer同一 Live Artifact 被 >1 观看者打开团队共享率P0
摩擦live_artifact_integration_not_connected观看者未连接所需集成setup 摩擦点P1

7. 未来演进方向

阶段时间线里程碑状态
Phase 1 — Live Artifact 运行时v9.7.0HTML + data script + 观看者凭据 + consent + 安全沙箱✅ 已发布
Phase 2 — 全 MCP 访问v10.3.0data script 可调用全部 MCP(含 Custom/Hosted/Proxied)✅ 已发布
Phase 3 — Live Artifact 模板库v10.x预置高质量模板(工作台/CRM 报告/监控页),一键克隆改集成⬜ 探索中
Phase 4 — 持久化与协作v11.x状态持久化(刷新间携带)、多人协作编辑、版本管理⬜ 探索中
Phase 5 — Live Artifact 市场远期团队/社区分享高质量 Live Artifact,形成生成式应用生态⬜ 探索中
Phase 6 — 自主更新的活应用远期Live Artifact 由 Agent 定期自主维护/优化(发现数据源变化主动改脚本)⬜ 探索中

关键演进判断

📚 源文档参考

spec_resource/gumloop-docs_agent-artifacts.md — Agent Artifacts 官方文档(Interactive Artifacts / Live Data 章节)

v10.3.0 Twillingate 版本详情 — 含本功能原始 changelog 描述

关联规格:Agent Artifacts(静态产出) · MCP Artifacts(文件生成/发布) · Share Artifact with Agents(资产化)