初始上下文

产品/团队
Gumloop / AI Agent 平台
功能
Team Level Secrets — 团队级变量与凭据的集中存储和共享
描述
团队管理员在团队层面存储 API 密钥、密码、配置变量等敏感信息。团队成员无需各自重复输入——系统自动从团队存储中注入共享凭据。一次设置,全员可用;一次轮换,全员生效
动机
凭据分散在多个个人账户中导致安全审计困难、新成员入职需逐个收集共享密钥(耗时 2-4 小时)、凭据轮换时需通知所有成员手动更新(遗漏风险高)
目标用户与痛点
(1) 团队管理员——统一管理外部服务共享凭据 (2) 新团队成员——入职后即刻可用共享凭据 (3) 安全审计员——追踪凭据创建、使用、轮换 (4) Agent 协作团队——消除凭据分散带来的协作摩擦
平台范围
Web 端(Team Settings → Secrets)
关键成功指标
团队凭据创建量、凭据轮换事件数、新成员入职到首次使用团队凭据的时间、凭据注入成功率

1. 概览

背景 — 凭据体系三次演进

Gumloop 的凭据体系经历了三个阶段的演进:Phase 1 仅支持 Personal Apps(每个用户独立配置 OAuth/API Key);Phase 2 (v7.2.0) 引入 Team Apps(共享 OAuth 连接,如 marketing@company.com 的 Gmail 账户),但仅限预定义的服务连接;Phase 3 (v9.10.0) Team Level Secrets 填补最后一块空白——团队管理员现在可存储任意变量和密钥(不限于预定义 OAuth 服务),且这些凭据自动对团队所有成员可用。

核心痛点

场景Team Secrets 之前Team Secrets 之后
共享 API Key每个成员在 Personal Apps 中重复配置同一个 Key管理员配置一次,全团队自动可用
新人入职需要半天时间逐个收集所有共享凭据加入团队即可使用,零配置
Key 轮换通知所有成员手动更新,无法强制,有人遗漏一个位置更新,全员立即生效
安全审计无法追踪谁用哪个凭据做了什么使用事件可审计追踪
凭据泄露一个成员泄露密钥,所有副本都需回收单点撤销,影响范围可控

目标

  1. 集中化共享:团队凭据存储在一个位置,管理员一次配置,全团队自动可用
  1. 自动分发:团队成员无需手动配置即可在 Agent 和 Workflow 中使用团队凭据
  1. 单点轮换:凭据更新一次,所有引用该凭据的 Agent/Workflow 立即生效
  1. 最小权限:管理员控制哪些成员/角色可以查看和使用团队凭据
  1. 审计可见性:记录凭据的创建、修改、使用和轮换事件

2. 核心机制详解

2.1 团队作用域绑定

Team Level Secrets 的核心设计是作用域绑定 (Scope Binding)——凭据与特定团队绑定,仅在团队范围内可用:

凭据存储层级:
┌──────────────────────────────────────────────────┐
│ Organization (组织)                                │
│  ├── Team A                                        │
│  │   ├── Secret: OPENAI_API_KEY   仅 Team A 可访问  │
│  │   ├── Secret: GITHUB_TOKEN     仅 Team A 可访问  │
│  │   └── Variable: DEFAULT_MODEL  仅 Team A 可访问  │
│  ├── Team B                                        │
│  │   ├── Secret: AWS_ACCESS_KEY   仅 Team B 可访问  │
│  │   └── Secret: DATABASE_URL     仅 Team B 可访问  │
│  └── Personal                                      │
│      ├── Secret: MY_OPENAI_KEY (User 1) 仅 U1 可访问│
│      └── Secret: MY_OPENAI_KEY (User 2) 仅 U2 可访问│
└──────────────────────────────────────────────────┘

2.2 凭据注入机制

团队凭据在 Agent 运行时和 Workflow 执行时被安全注入:

┌──────────────┐     ┌──────────────────┐     ┌─────────────────┐
│ Team Secrets │────>│ 凭据解析器         │────>│ Agent / Workflow │
│ Store        │     │ (Credential       │     │ Runtime          │
│              │     │  Resolver)        │     │                  │
│ OPENAI_KEY   │     │                   │     │ $TEAM_OPENAI_KEY │
│ GITHUB_TOKEN │     │ 作用域检查 →      │     │ 在代码节点中可用  │
└──────────────┘     │ 解密 → 注入       │     └─────────────────┘
                     └──────────────────┘

推断的注入方式:(1) 代码节点变量注入——通过模板语法引用(如 ${{team.secrets.OPENAI_API_KEY}})或环境变量;(2) Agent 凭据选择器——团队凭据作为第三选项出现在下拉菜单中(继 Personal Default、Team App 之后);(3) Workflow 节点注入——在需要凭据的节点下拉菜单中出现。

2.3 权限模型

操作AdminManagerTeam AdminTeam MemberSecurity
创建团队凭据
查看凭据列表(名称/元数据)
查看凭据值
编辑/更新凭据值
使用团队凭据(在 Agent/Workflow 中)
查看凭据使用审计日志

关键设计决策:(1) 查看凭据值与使用凭据权限分离——Team Member 可使用但不看到原始值 (2) 凭据值在注入时解密,Agent 日志中自动遮蔽 (3) Security 角色有只读审计权但不能修改。

2.4 与现有体系的集成点

集成点现有体系Team Level Secrets 扩展
凭据体系Personal Apps + Team Apps新增 Team Secrets(任意键值对)
角色体系Composable Roles (v8.7.0)Manager 的 credentials:* 覆盖 Team Secrets
分享权限Owner/Editor/Viewer/Use OnlyTeam Secrets 继承团队分享层级
应用策略App Policies (v8.6.0)推断:可限制哪些 Agent 可访问特定 Secret
审计日志Audit Logs (v9.2.0)新增:凭据创建/修改/使用/删除事件
Incognito Mode对话不留存 (v9.6.0)推断:Incognito 会话中凭据注入可能受限
Subagents子 Agent 凭据继承 (v9.0.0)推断:子 Agent 自动继承父 Agent 的 Team Secret

3. 功能需求

模块一:凭据创建与存储

ID需求优先级
TS-01团队管理员可在 Team Settings 中创建新的 Team Secret/VariableP0
TS-02创建凭据时需指定:名称(唯一)、值、类型(Secret/Variable)、描述(可选)P0
TS-03Secret 类型凭据的值在创建后不可再次查看(仅可覆盖更新)P0
TS-04Variable 类型凭据的值可在编辑时查看P1
TS-05支持创建时的可见性控制:所有成员 / 仅管理员 / 指定角色P1
TS-06凭据名称在团队内唯一,不允许重名P1

模块二:团队绑定

ID需求优先级
TS-10团队凭据创建后自动绑定到当前团队P0
TS-11凭据仅在所属团队的 Agent/Workflow 中可用P0
TS-12支持多团队场景——同一名称的凭据可在不同团队有不同值P1
TS-13团队删除/解散时,团队凭据自动失效并标记待清理P1

模块三:成员访问

ID需求优先级
TS-20团队成员在 Agent/Workflow 的凭据选择器中看到团队凭据P0
TS-21成员使用团队凭据时,凭据值自动注入到运行时(自动解密)P0
TS-22成员使用凭据时无需看到凭据原始值P0
TS-23凭据值在 Agent 日志和对话记录中自动遮蔽P0
TS-24成员更换团队时,对原团队凭据的访问自动撤销P1

模块四:管理员轮换

ID需求优先级
TS-30管理员可更新团队凭据的值(覆盖写入)P0
TS-31凭据值更新后,所有引用该凭据的 Agent/Workflow 立即使用新值P0
TS-32凭据更新时提供备注(可选),记录轮换原因P1
TS-33管理员可删除团队凭据P0
TS-34删除团队凭据时,提示受影响的 Agent/Workflow 数量P1

模块五:审计可见性

ID需求优先级
TS-40凭据的创建、更新、删除事件记录在审计日志中P1
TS-41凭据的使用事件可追踪(Agent/Workflow、成员、时间)P1
TS-42凭据使用量统计(调用频次、失败率)可在 Analytics 中查看P2

模块六:代码节点集成

ID需求优先级
TS-50自定义代码节点可通过特定语法引用团队凭据P1
TS-51代码节点中引用的凭据在执行时安全注入,不暴露在代码文本中P0
TS-52代码节点日志中自动检测并遮蔽凭据值(防止误打印泄漏)P1

4. 用户场景与故事

场景 1 — 新成员入职:零配置开始工作

用户画像: 张伟,28 岁,刚加入一家 SaaS 创业公司的后端开发团队。团队使用 Gumloop Agent 进行代码审查、部署监控和数据分析。

作为新团队成员,我希望加入团队后能自动获得所有共享凭据(OpenAI API Key、GitHub Token、AWS Access Key)的访问权限,无需逐个向老成员索要并手动配置。

Before(Team Secrets 之前):

  • 张伟收到团队 Wiki 文档(可能已过时),列出需要配置的 API Key
  • 张伟逐一在 Settings → Credentials 中创建 Personal App,粘贴每个 Key
  • 中间某个 Key 过期或值错误,Agent 运行失败
  • 在 Slack 中询问正确 Key,等待回复 — 整个过程耗时 2-4 小时

After(Team Secrets 之后):

  • 管理员已配置好所有共享凭据
  • 张伟加入团队后,Agent 凭据选择器中自动出现团队凭据选项
  • 选择"团队凭据",Agent 立即可以调用 OpenAI、GitHub、AWS
  • 从入职到产出时间缩短至 15 分钟

验收标准:

  • 新成员加入团队后 1 分钟内发现团队凭据可用
  • 使用团队凭据的 Agent 调用与使用个人凭据的调用成功率相同
  • 新成员无需知道凭据的原始值即可完成工作

场景 2 — 管理员轮换 API Key:一次更新,全员生效

用户画像: 李婷,34 岁,工程团队 Tech Lead 兼 Team Admin。团队使用一个共享的 OpenAI API Key。按安全策略需每月轮换。

作为团队管理员,当我需要轮换共享 API Key 时,希望在一个地方更新凭据值后,所有团队成员的 Agent 和 Workflow 自动使用新 Key,无需通知任何人手动操作。

Before(Team Secrets 之前):

  • 李婷在 OpenAI Console 生成新 Key,在自己的 Personal App 中更新
  • 在 Slack 中通知所有 12 名成员更新 Key
  • 成员 A 忘记更新 — 3 天后 Agent 调用失败
  • 成员 B 在出差没看 Slack — 不确定是否更新
  • 李婷无法确认谁更新了谁没更新,只能群里再催一次
  • 部分遗留旧 Key 仍在某成员配置中,安全风险持续

After(Team Secrets 之后):

  • 李婷在 OpenAI Console 生成新 Key
  • 打开 Team Settings → Secrets → OPENAI_API_KEY → 更新值 → 备注「月度安全轮换」
  • 提交后,所有 12 名成员的 Agent 自动使用新 Key,零等待
  • 审计日志记录本次轮换:时间、操作人、影响范围
  • 旧 Key 在 OpenAI Console 中撤销,安全闭环完成

场景 3 — 安全审计:追踪凭据使用

用户画像: 王浩,41 岁,公司信息安全负责人。正在季度 SOC 2 审计,需确认所有外部 API 凭据的使用情况。

作为安全负责人,我希望能够查看每个团队凭据的使用记录:哪些 Agent 使用了它、哪些成员在什么时候发起了调用。

验收标准:

  • 凭据使用记录包含:成员、Agent/Workflow 名称、时间戳、操作类型
  • 支持按凭据名称、团队成员、时间范围筛选
  • 异常使用模式(如短时间高频调用)可被标记

5. 竞品分析

竞品产品类型作用域注入方式AI Agent 原生Gumloop 差异
GitHub Actions SecretsCI/CD 平台Repo/Org 级Workflow 环境变量Agent 运行时动态注入,非构建时静态注入
Vercel Env Vars部署平台Project/Env 级构建/运行时 env与 Agent 权限模型联动,非简单环境分离开关
1Password Teams密码管理器Vault 级客户端/CLI 拉取凭据在 Agent 决策回路中,非手动拉取
AWS Secrets Manager云密钥管理账户级SDK/API 拉取支持自动轮换(Lambda),Gumloop 暂不支持

核心差异:AI Agent 原生

  1. 凭据消费者是 Agent 而非 CI Runner:凭据在 Agent 执行上下文中注入,使用是动态的、由 Agent 决策驱动的,而非静态流水线脚本
  1. 与 Agent 权限模型深度集成:团队凭据的可用性与 Agent 的分享权限、App Policies、Composable Roles 联动
  1. 凭据遮蔽在 Agent 日志中:Agent 对话记录和工具调用日志需自动检测并遮蔽凭据值——传统 Secret Manager 不需要面对此问题(Agent 可能将凭据写入对话上下文,而对话上下文可能被子 Agent 共享)
  1. 零摩擦 UX:非技术用户在凭据选择器中选择"团队凭据"即可,无需理解凭据管理

6. 遥测

漏斗阶段事件名称触发条件指标/KPI优先级
采用team_secret_created管理员创建团队凭据创建数/日、创建团队数/周P0
采用team_secret_first_use团队中首次有成员使用团队凭据首次使用时间 (TTFV)P0
使用team_secret_accessed成员在 Agent/Workflow 中使用使用次数/日、使用成员数/周P0
使用team_secret_injected凭据值在运行时被解密注入注入次数/日、按凭据名分布P1
管理team_secret_rotated管理员更新凭据值轮换次数/月、平均轮换间隔P1
管理team_secret_deleted管理员删除团队凭据删除次数/月P1
质量team_secret_injection_failure凭据注入失败失败率、按错误类型分布P0
留存team_secret_repeat_team团队 30 天内持续使用30 天留存率P1
扩展team_secret_count_per_team每团队凭据数量统计分布直方图P2

7. 路线图与未来演进方向

阶段时间线里程碑状态
Phase 1 — 基础能力v9.10.0团队凭据创建、共享、轮换已发布
Phase 2 — 审计与控制v10.x凭据使用审计日志、凭据级权限控制(Agent 级别)规划中
Phase 3 — 自动化v10.x凭据轮换提醒、条件访问控制(IP/时间/Agent 类型)规划中
Phase 4 — 外部集成v11.x外部 Vault 集成(HashiCorp Vault、AWS Secrets Manager)、凭据健康扫描探索中

关键演进判断

  1. 轮换提醒是下一步的关键能力:当前版本解决了"一次更新,全员生效",但轮换触发依赖管理员记忆。基于轮换周期的自动通知将凭据管理从"被动响应"升级为"主动防护"。
  1. 审计日志是 SOC 2 合规的硬性要求:企业安全评估中,"谁在什么时候用凭据做了什么"是必问问题,凭据使用审计日志是回答这一问题的关键基础设施。
  1. 条件访问控制是差异化机会:Agent 场景下,基于条件的访问控制(如 IP 段限制、工作时间限制)比传统二态开关(开/关)更具价值——Agent 可能在任何时间被触发。
  1. 外部 Vault 集成减少企业采购阻力:大型企业已有 Vault/Secrets Manager 投入。Gumloop 作为消费端(而非替代者)将减少"又一个 Secret Store"的采购阻力。
  1. 凭据健康检查建立信任:检测弱密钥、重复凭据、过期凭据——这类主动安全能力在 Agent 平台中尚未普及,可作为 Gumloop 差异化点。

由 Claude spec-generate 系统生成 · 来源:Gumloop Credentials 帮助文档 + Gumloop Changelog v9.10.0 · 部分机制基于现有文档的合理推断