拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

OpenReply多账号与团队工作区指南:3种角色权限与邀请链接配置详解

OpenReply多账号与团队工作区指南:3种角色权限与邀请链接配置详解

OpenReply多账号与团队工作区指南:3种角色权限与邀请链接配置详解

【免费下载链接】openreplyThe open-source Manychat alternative项目地址: https://gitcode.com/gh_mirrors/op/openreply

OpenReply 是一款开源的 Manychat 替代品,用于 Instagram 评论转私聊的 DM 自动化营销。除了自动回复评论、发送私信之外,它还内置了**团队工作区(Workspace)**功能:一个工作区可以连接多个 Instagram 账号,并邀请团队成员按 Owner、Admin、Member 三种角色分工协作。本指南面向新手,带你快速理解 OpenReply 多账号与团队协作机制,并掌握邀请链接的完整配置流程。

工作区是什么:首次登录自动创建

在 OpenReply 中,工作区是所有数据的归属单位:连接的 Instagram 账号、营销活动、私信记录、追踪链接和用量统计,都挂在当前工作区下。

好消息是:你什么都不用做。用户首次登录时,系统会自动为其创建一个工作区(默认命名为「xxx 的邮箱前缀's workspace」),并把该用户设为 Owner。这套逻辑见 lib/workspace.ts。

👉 简单记忆:一个人 = 一个自己的工作区;一个团队 = 共用一个工作区。

3种角色权限速查表:Owner / Admin / Member

工作区角色定义在数据库枚举WorkspaceRole中(prisma/schema.prisma),权限判断集中在 lib/workspace-access.ts。

| 能力 | Owner(所有者) | Admin(管理员) | Member(成员) | | :-- |||| | 邀请新成员 / 生成邀请链接 | ✅ | ✅ | ❌ | | 修改成员角色 | ✅ | ✅ | ❌ | | 移除成员 / 撤销邀请 | ✅ | ✅ | ❌ | | 连接、断开 Instagram 账号 | ✅ | ✅ | ❌ | | 查看营销活动、收件箱、报表 | ✅ | ✅ | ✅ | | 发起计费类操作 | ✅ | ❌ | ❌ |

几个关键规则:

  • Owner 身份不可更改:角色更新接口会直接拒绝修改 Owner(app/api/workspace/members/route.ts)。
  • Admin 与 Member 之间可随时互换:由 Owner 或 Admin 发起,调用 app/api/workspace/members/route.ts 的 PATCH 接口完成。
  • Owner 和当前登录者本人不能被移除,避免工作区失去控制权。

💡 配置建议:日常运营给 Member,需要管理账号和人员的给 Admin,Owner 只留给项目负责人。

多账号管理:连接多个 Instagram 账号

一个工作区可以连接任意多个 Instagram 专业账号,适合矩阵号运营和代理商(Agency)场景。

  1. 进入Settings(设置)页面,找到「Instagram Connection」区域;
  2. 点击Connect using your own Meta app,完成 Meta OAuth 授权;
  3. 连接成功后,账号列表会显示@用户名、Token 到期时间、Webhook 订阅状态,可随时断开。

创建营销活动时,账号选择器会列出工作区下所有账号,还支持「All accounts(全部账号)」选项,一份活动可下发到多个 Instagram 账号:

  • 账号列表接口:app/api/instagram/accounts/route.ts
  • 选择器组件:components/account-select.tsx

注意:连接、断开账号属于管理权限,只有 Owner/Admin 可操作(lib/workspace-access.ts)。

邀请团队成员:3步生成邀请链接

只有 Owner 和 Admin 能看到并操作设置页底部的「Team」区块(app/(dashboard)/settings/page.tsx/settings/page.tsx#L298-L332))。

第 1 步:填写邮箱。在 Team 区块的输入框中填写对方注册邮箱,例如teammate@agency.com。

第 2 步:选择角色。下拉框只有两个选项:Member(默认)或Admin。出于安全考虑,系统不允许直接把新用户邀请为 Owner。

第 3 步:点击 Invite。邀请成功后,「Pending invites(待处理邀请)」列表会显示:对方邮箱、角色、以及一条可一键复制的邀请链接。

邀请链接的生成规则在 lib/workspace-invitations.ts:

  • 链接格式为/invite/{随机token},token 由 18 字节随机数生成,无法被猜测;
  • 有效期为 14 天(INVITE_TTL_DAYS = 14),过期后需要重新邀请;
  • 对同一邮箱重复邀请时,系统会自动重置 token 和有效期,旧链接随即失效——不用担心旧链接被误用。

邀请链接的生效规则:新手最容易踩的 3 个坑

邀请链接的校验逻辑在 app/api/workspace/invitations/accept/route.ts 和 app/invite/[token]/page.tsx:

坑 1:必须用被邀请的邮箱登录

打开邀请链接时,系统会校验当前登录账号的邮箱是否与邀请邮箱一致,不一致会提示 "This invitation is for a different email"。也就是说:链接不是"谁点开谁加入",而是"指定邮箱才能加入"。

坑 2:已注册用户会"秒生效",不用点链接

如果你邀请的邮箱已经注册过OpenReply,系统会直接把他加进工作区(upsert 成员记录),无需再打开链接(app/api/workspace/members/route.ts)。只有全新用户才需要点链接完成加入。

坑 3:首次登录自动接受未过期的邀请

即使没主动点链接,被邀请用户用该邮箱首次登录时,所有未过期的待处理邀请会自动生效,直接成为工作区成员(lib/workspace.ts)。

此外,Owner/Admin 可以撤销邀请(Revoke),状态置为 REVOKED,链接立即作废;过期的邀请则自动标记为 EXPIRED。

受邀人视角:接受邀请链接的完整流程

  1. 收到链接(形如https://你的域名/invite/xxxxxx),先打开并登录/注册 OpenReply;
  2. 页面显示「Join {工作区名称}」卡片,说明受邀角色与邮箱;
  3. 点击接受后,成员记录与工作区角色一并写入,邀请状态变为 ACCEPTED;
  4. 之后访问系统即默认进入该工作区,可看到团队的全部 Instagram 账号与活动(Member 仅查看运营,Admin/Owner 可管理)。

⚠️ 如果页面显示邀请已过期,请让工作区 Owner 重新发送一条新的邀请链接。

常见问题速答

Q:Member 能看到别的成员吗?A:可以。成员列表对全体工作区成员可见,只是 Member 没有邀请、改角色、移除的权限。

Q:一个人能属于多个工作区吗?A:目前系统按"最早加入"的工作区作为主工作区返回(lib/workspace-access.ts),日常使用一个团队一个工作区即可。

Q:断开 Instagram 账号会影响团队吗?A:会。断开后该账号下的活动停止发送私信,请确保操作者了解这一影响(设置页会二次确认)。

Q:用量有限制吗?A:OpenReply 自托管版本无套餐限制,每月发送私信数在设置页「Usage」区块实时展示。

小结

场景操作入口所需角色
连接多个 Instagram 账号Settings → Instagram ConnectionOwner / Admin
邀请成员并生成链接Settings → TeamOwner / Admin
修改成员角色 / 撤销邀请Settings → TeamOwner / Admin
接受邀请链接/invite/{token} 页面受邀人本人

想深入了解角色与成员的数据模型,可参考 prisma/migrations/20260524151500_agency_workspaces/ 迁移文件和 AGENTS.md;本地部署步骤见 docs/setup.md。

现在你可以打开 Settings 页面,为你的 Instagram 矩阵搭起第一个协作工作区了 🚀

【免费下载链接】openreplyThe open-source Manychat alternative项目地址: https://gitcode.com/gh_mirrors/op/openreply

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表