营销团队本来就协作。现在 STRATUM 也做到了。
我在 alpha 阶段、用户不到 50 人时就上线了团队协作功能,因为我的客户早就在团队里协作了——只是用截图和复制粘贴这些低效替代方案,每年要多花 80+ 小时。
“你还在 alpha 阶段,为什么就开始做团队功能?”
这是个很合理的问题。我的用户还不到 50。大多数 SaaS 创始人会先把重心放在冲到 100 用户,再去考虑团队协作。
但我观察 alpha 用户时发现:他们根本不是单兵作战。营销总监会把截图发给 CEO。代理公司老板会把 AI 输出复制到 WhatsApp 发给朋友。创始人会把邮件转发给妻子。
我在广告行业干了 18 年,这本不该让我意外。营销工作从来不是一个人完成的。我亲眼见过整个代理公司楼层靠 Slack 线程、邮件转发和“你能帮我截个图吗?”这种请求来推进协作。团队现实就是这样运作的,而且非常痛苦。所以当我在 alpha 里看到同样模式时,我知道我不能忽视它。
于是我在 alpha 阶段就做了团队协作功能。那些“更聪明”的创始人可能会等,但我没有。 :P
下面是我上线了什么、为什么这样做,以及一路上的经验:
1. 让每个人拿到正确权限 — 15 个角色,按 SME 和代理公司团队真实工作方式设计,并为代理公司提供客户级隔离
2. 少来回,直接协作 — 审批、评论、任务、通知,替代“你看到我消息了吗?”这类 Slack 拉扯
3. 新人 30 秒进入工作状态 — 邀请 → 分配角色 → 开始工作。30 秒,不是 3 天。
以下是这次交付的内容、它对团队为何重要,以及让它真正可用的关键决策。
---
“直接共享登录” 的真实成本
在这些功能上线前,团队是这样使用 STRATUM 的:
方案 A:共享账号密码(安全灾难)
- 所有人用同一个登录
- 完全不知道谁做了什么
- 一个人改密码,所有人都被锁在外面
方案 B:各自独立账号(昂贵且割裂)
- 每个人单独付费
- AI 输出分散在不同账号
- “你能把那份策略导出发我吗?”
方案 C:截图和粘贴(现实情况)
- 一个人运行 AI agents
- 再截图或复制粘贴给队友
- 上下文丢失、格式损坏、没人能在原有结果上继续推进
这些都不是真正的协作,只是权宜之计。
业务成本呢? 我看到一位代理公司老板每天要花 20 分钟,只为了在不同工具之间搬运 AI 输出——转发邮件、在 Google Docs 里重新排版、给看不到原始对话的队友重新解释上下文。
一年就是 80+ 小时。一个人。一个团队。
---
功能 1:让每个人拿到正确权限,而不是把 IT 复杂度丢给你
在代理公司做了 18 年后,我非常清楚营销团队如何运作:不同的人,对不同内容,需要不同权限。
高级策略师负责 Client A 和 Client B。初级分析师在小账户上练手。自由职业创意只接触被分配的客户。最重要的是,任何人都不该看到不属于自己的客户数据。
这不只是成本控制问题(虽然也重要),而是团队真实工作的方式。
两套权限模型:SME vs Agency
我很早就意识到,3 人创业团队和 15 人代理公司的工作流完全不同。硬塞进一个权限模型会非常糟糕——我见过很多企业工具这么做,结果总是小团队被复杂度淹没,大团队又拿不到足够控制权。所以我做了两套独立模型。
SME 角色(5 个)
面向层级更简单的中小企业营销团队:
| 角色 | Agent 访问 | Campaign 访问 | 团队管理 |
|------|-------------|-----------------|-----------------|
| Owner | 全部 8 个 agents | 完整权限(创建、编辑、运行、归档) | 邀请、管理、移除 |
| Marketing Director | Strategy、Persona、Content、Quick Wins(4) | 创建、编辑、运行 campaign | 仅查看团队 |
| Marketing Manager | Execution、Content、Quick Wins(3) | 创建、编辑、运行 campaign | 无 |
| Analyst | Performance Intelligence(1) | 仅查看 | 无 |
| Viewer | 无(只读) | 仅查看 | 无 |
为什么是这 5 个? 因为这就是我在 SME 营销团队里看到的真实分工:什么都要管的 Owner;制定策略的 Director;负责执行的 Manager;负责衡量的 Analyst;以及只需要查看进展的 VA 或财务人员。
Agency 角色(10 个)
面向管理多个客户、团队结构更复杂的代理公司:
| 角色 | Agent 访问 | 客户范围 | 关键权限 |
|------|-------------|--------------|-----------------|
| Owner | 全部 9 个 agents | 全部客户 | 全控制,含计费 |
| Admin | 全部 9 个 agents | 全部客户 | 团队管理,不含计费 |
| Strategist | 8 个 agents(不含 Client Success) | 全部客户 | 策略与 campaign |
| Account Manager | 全部 9 个 agents | 仅已分配客户* | 负责客户的完整权限 |
| Campaign Manager | Quick Start、Content、Campaign(3) | 全部客户 | 专注执行 |
| Analyst | Performance Intelligence(1) | 全部客户 | 分析与导出 |
| Creative | Content(1) | 全部客户 | 仅内容创作 |
| Client Viewer | 无 | 仅已分配客户* | 客户只读 |
| Freelancer | Content(1) | 仅已分配客户* | 限定范围、临时权限 |
| Viewer | 无 | 全部客户 | 全局只读 |
客户范围角色(Client-scoped roles)
这是代理公司的关键能力。当你把 Account Manager 分配到 Client A 时,他从系统层面就看不到 Client B 的数据。不是“UI 隐藏一下”,而是数据库级别强制执行。
客户分配管理
对于代理公司团队,Team Management 页面现在有 Client Access 列,你可以一眼看到每个成员可访问哪些客户。点击任意成员的操作菜单即可:
- 授予 “All Clients” 访问权: 新客户会自动对其可见
- 分配特定客户: 精确选择他该看到哪些客户
- 随时更新分配: 客户名单变化时即时调整
这意味着你负责 Client A 的 Account Manager,真的看不到 Client B 的看板、campaign 或 AI 输出——即便他尝试访问。过滤在数据库层完成,而不是只在 UI 做样子。
新人入职时: 邀请流程里可以一次性设置角色和客户范围。没有额外步骤,也不会忘记做访问限制。
权限感知 UI(Permission-Aware UI)
这件事能真正落地的原因是:界面会根据你的角色自动调整。
如果你没有邀请成员权限,就看不到 Team 设置。没有客户权限,客户不会出现在你的看板里。不能运行某个 agent,就会显示锁定和明确提示。
不会再出现“先点了才报错”。也不会再困惑“我看得见这个,为什么什么都做不了?”
给 Agency Directors: 创意团队看到的是干净、聚焦的界面,只保留他们需要的工具。培训更少,失误更少。
给 Founders: 你给 VA 的 viewer 角色会看到简化看板。他们能快速找到并复制需要的信息,不会被复杂界面淹没。
37 个细粒度权限(你不用手动配置)
这些角色背后有 37 个独立权限,但你不需要手动逐项设置。每个角色都已按营销团队的真实工作模式预配置:
| 类别 | 为什么重要 |
|----------|----------------|
| AI Agents(9) | 你的 Creative 不会误跑 Strategy agent 到错误客户上 |
| Campaigns(6) | Analyst 可以查看 campaign 做分析,但不会误归档 |
| Clients(5) | 只有 Owner 和 Admin 可以新增客户,防止数据无序扩散 |
| Analytics(3) | 每个人都能看基础数据;只有分析角色可导出原始数据 |
| Documents(3) | 保护敏感上传内容,VA 可看但不能删 |
| Organization(4) | 计费权限只给 Owner,避免“谁改了套餐?” |
| Team(3) | 管理者不能绕过 Owner 随便拉人进来 |
| Workspace(2) | 保持工作区有序,避免人人随意新建 |
| Admin(2) | 系统级操作只留给真正懂的人 |
每个角色只拿完成工作所需的权限,不多不少。你只需选一次角色,权限会自动跟随。
---
功能 2:别再追截图和 Slack 线程
这是我个人投入最深的一块。权限解决的是谁能做什么,协作解决的是如何一起做事。按我的经验,真正吞噬你一天的,是来回沟通成本。我在代理公司这边活过这个问题二十年了。 :D
共享 Campaign 与 AI 输出
旧模式: 你的 campaign、你的 AI 输出、你的信息孤岛。
新模式: 组织级协作。
当策略师运行 Persona Agent 后,这个 persona 归组织所有,不归个人账号。现在你的文案人员可以:
- 无需截图,直接查看 persona
- 运行 Content Agent 时直接引用
- 在已有成果上继续推进,而不是从零开始
当分析师生成竞品分析时,Marketing Director 可以直接在原上下文里评审,而不是看一份被转发出来的 PDF。
审批工作流
内容不是“生成完就结束”,而是上线前要经过评审和审批。
| 工作流 | 发起人 | 审批人 | 适用场景 |
|----------|-----------|-------------|----------|
| SME Campaign Launch | Manager | Director → Owner | campaign 双层审批 |
| SME Content Publish | Manager | Director | 内容单层审批 |
| Agency Campaign Launch | Campaign Manager | Strategist → Owner | 客户项目双层审批 |
| Agency Content (Client) | Creative | Account Manager | 客户范围内内容审批 |
| Freelancer Work | Freelancer | Account Manager | 外部协作者成果审核 |
流程是这样的:
1. 创意完成内容后点击 “Request Approval”
2. Account Manager 收到通知并在上下文中查看
3. 选择批准、驳回或要求修改,并附上说明
4. 创意收到处理结果通知
5. 若要求修改 → 改完再次提交(支持轮次追踪)
不再需要在 Slack 里追问:“你看到我发的 Client A 文案邮件了吗?”
评论与 @提及
把讨论放在 AI 产出本身,而不是散落在会丢失的 Slack 线程里。
- 线程化评论:可挂在任意 campaign、output 或 persona 上
- @提及:精准通知相关成员
- 已解决追踪:知道哪些问题已处理
- 客户范围限制:对代理公司而言,自由职业者只看得到其被分配客户下的评论
任务分配
对 SME 营销总监: 别再用表格追踪谁在做什么。可直接从输出页面分配内容创作、评审和 campaign 任务;团队看到自己的待办,你看到整体状态。
对代理公司 Account Manager: 让客户交付持续可控。可在自己负责的客户范围内分配任务、设置优先级与截止日期,并第一时间知道哪里被卡住。
工作方式:
- 任务类型: 内容创作、评审、分析、campaign 设置
- 优先级: 低、普通、高、紧急
- 截止日期: 临近超期前自动提醒
- 关联资源: 任务直连具体 campaign 或 output,不再“我们到底在说哪份文档?”
- 状态追踪: 待办 → 进行中 → 待审核 → 已完成
角色层级确保边界清晰:Account Manager 只在自己客户范围内分配,Director 给自己的团队分配,Owner 可给所有人分配。
实时通知:不会错过任何需要你处理的事
给忙碌的 Marketing Director 和 Agency Owner: 不必每 5 分钟刷一次 Slack 猜有没有人找你。STRATUM 会在你该介入时直接告诉你:
- 有人请求你的审批 → 立即可见
- 你的审批请求已处理 → 不用再猜“对方看到了吗?”
- 评论里 @你了 → 相关讨论直接触达
- 有任务分配给你 → 自动进入你的工作队列
- 截止时间将近 → 延误前收到提醒
通知会在应用内实时出现;如果你错过了,也会汇总进邮件摘要。
---
功能 3:新人 30 秒上手,不是 3 天
之前: 新成员加入流程是这样的:
1. 他们先自己注册
2. 你发邮件给我,让我手动把他们加进组织
3. 我在数据库里分配角色
4. 他们登录,然后……也许能用?
现在:
1. Settings → Team → Invite
2. 输入邮箱,选择角色
3. 对方点击链接,设置密码
4. 立即加入,且权限正确
为什么 30 秒很重要
对要给新分析师做入职的营销总监来说:他们可以 Day 1 就开始产出,不是 Day 3。
对临时加创意自由职业者的代理公司老板来说:不需要 IT 工单,不需要等待,不需要“我明天再处理”。
对要拉 VA 进来的创始人来说:你发一条 Slack 的时间,就能给出只读权限。
支撑这一点的技术选择
很多平台会走邮箱确认链路:邀请 → 确认邮件 → 点链接 → 设置密码 → 再确认 → 最后登录。
我去掉了这一步里冗余的二次确认。你能收到邀请邮件,已经证明你拥有这个邮箱。没必要让你验证两次。
邀请链接是安全的,详情保存在服务器端(不是放在 URL 参数里让人可篡改),并且 7 天过期。你接受邀请时,系统一步完成:
1. 创建账号
2. 加入正确组织
3. 分配角色权限
任何一步失败,全部回滚。不会留下半成品账号,不会出现权限缺失,也不会再有“我邀请了他但他什么都看不到”的支持工单。
---
分层防御:我如何做数据隔离
我知道这部分可能比大多数读者需要的更技术一些,但我认为有必要公开透明地讲清楚我对安全的思路——尤其是代理公司用户把客户数据交给我时。STRATUM 仍在 private alpha,但这不代表我会在架构上走捷径。数据隔离从 Day 1 就是核心设计,而不是后补。下面是分层方案:
第 1 层:数据库级强制(Row Level Security)
权限不是只在应用代码里判断,而是由数据库本身通过 Postgres Row Level Security (RLS) 强制执行。每个查询都会自动按 organization 过滤。你的分析师看不到其他组织数据,因为数据库根本不会返回,即使应用层发出了请求。
针对 client-scoped 角色,还会有第二层 RLS 按已分配客户过滤。负责 Client A 的 Account Manager,就算自己构造 API 请求,也拿不到 Client B 的数据。
第 2 层:应用层权限检查
UI 也遵循同一套权限规则。不能访问的客户不会出现在看板;不能运行的 agent 按钮会禁用。导航、按钮、页面都查同一个权限源,不会出现“UI 显示可用,API 却拒绝”的不一致。
第 3 层:原子事务
像“接受邀请”这样的关键操作,会作为单个数据库事务执行。创建账号、加入组织、分配角色、设置客户访问范围,要么全部成功,要么全部失败。没有半成品状态,也没有孤儿记录。
第 4 层:服务端密钥信息
邀请详情(组织、角色、客户分配)存放在服务器端,通过安全 token 引用。邀请 URL 只包含 token。篡改 URL 不会得到不同权限,因为真实权限在数据库里。
---
Alpha 透明说明: 我们有意识地构建了这些层,但我们仍是小团队,STRAŦUM 也在持续演进。完整说明请查看 Privacy Policy 和 Terms,了解 alpha 期间我们能保证和不能保证的边界。
---
为什么在 Alpha 阶段就做这些?
坦白讲:因为后补团队能力会非常痛苦。
我见过公司上线后再补 multi-tenancy。那是灾难。每张表都要加新字段。每条查询都要加新过滤。每个权限点都要重写。数据迁移过程极其惊险。
我在 Day 2 就把 STRATUM 做成 organization-scoped 数据架构(这会是另一篇文章)。底层已为团队准备好,剩下的是把功能真正做出来。
在 50 用户阶段做团队功能,意味着:
- 迭代快: 我能上线、拿反馈、几天内修复,而不是几个月
- 用法真实: 我看到的是团队真实协作方式,不是我想象出来的方式
- 无迁移风险: 没有既有团队流程会被突然打断
反过来,等到 1,000 用户再说“现在开始请把你们整个流程改成团队模式”,我觉得更糟。
现在就能试
团队功能已对所有 STRATUM 用户开放。
如果你是现有用户:
1. 打开 Settings → Team
2. 点击 “Invite Team Member”
3. 让他们 30 秒完成入组
如果你是新用户:
去 stratum.chandlernguyen.com 申请 alpha。申请时提到 “team collaboration”——我现在仍处在“和每位用户沟通”的阶段,很乐意带你走一遍这些功能如何适配你的团队。
---
这个不按常规出牌的下注
在 alpha 阶段做团队功能并不“主流”。大多数建议都说:先拿用户,再做协作。
但营销工作的现实就是团队协作。Marketing Director 不是独自做完策略。Agency Owner 也不是一个人跑完客户业务。协作不是“锦上添花”,而是工作本身。
从一开始就为团队构建,意味着 STRATUM 会和你一起成长。你可以先单人使用,准备好时邀请第一位同事,再扩展到完整代理公司团队,而无需换平台。
这个下注也许会错。但看着我的 alpha 用户因为无法共享而不断截图、复制粘贴来绕路……我并不这么认为。
归根结底,做产品是在为真实的人解决真实问题,而不是机械遵循“等到 1,000 用户再说”的增长剧本。相比追增长图表上的一个数字,我更愿意先把现在这 50 位用户真正需要的东西做好。
如果你正在带营销团队(或经营代理公司),我真的很想知道你今天是怎么协作的。你属于“截图+粘贴”派?“共享一个登录”派?还是有更好的方案?欢迎告诉我——我还在持续学习,每一次对话都在帮我把这个产品做得更好。
致敬,
Chandler
我也在做 DIALØGUE——如果你想看看我把同样“尽早为团队构建”的思路放到 AI 播客生成会发生什么,欢迎试试。


















