如何在BrightBean Studio搭建社媒内容审批工作流:4级审批、魔法链接客户门户与审计日志
【免费下载链接】brightbean-studioOpen-source, self-hostable social media management platform. Schedule, publish, and manage content across 10+ platforms from a single dashboard. Free alternative to Buffer, Sendible, and SocialPilot.项目地址: https://gitcode.com/gh_mirrors/br/brightbean-studio
BrightBean Studio 是一款开源、可自托管的社媒内容管理平台,让你在同一个后台调度、发布并管理 10 多个社交平台的内容,被视为 Buffer、Sendible、SocialPilot 的免费替代方案。本文带你用 3 步搭建一套完整的社媒内容审批工作流:在设置页选择 4 级审批模式、让团队与客户逐级签核、用魔法链接(Magic Link)把客户请进专属门户,并全程留下可追溯的审计日志,确保每一条对外发布的内容都有人负责、有据可查。

为什么社媒团队需要内容审批工作流
内容一旦发到 Instagram、LinkedIn、YouTube 这些公开平台,就收不回来了。审批工作流回答的其实只有两个问题:谁有权发?发之前谁来把关?
BrightBean Studio 的审批模块(位于 apps/approvals/)围绕这两点做了三件事:
- 🗂️状态机把关:每条帖子在
草稿 → 待审 → 已批准 → 已排期 → 已发布之间流转,非法跳转会被直接拦截(状态定义见 apps/composer/status.py); - 🔐最小权限:只有拥有「Approve posts」权限的成员才能点下批准按钮;
- 📜全程留痕:每一次提交、批准、打回、拒绝都会写进审计日志。
下面开始搭建。
一键开启:4 级审批模式怎么选
进入「工作区设置 → Approvals」页面(模板见 templates/workspaces/approvals_settings.html),只需单选一个模式即可。4 个档位按严格程度递增,对应 apps/workspaces/models.py 中的ApprovalWorkflowMode:
| 模式 | 谁可以发布 | 适合谁 |
|---|---|---|
| 1. 无审批(None) | 有发布权限的人可直接排期/发布 | 小团队、内部账号 |
| 2. 可选审批(Optional) | 创作者可主动提交审核,也可跳过 | 想保留灵活性的团队 |
| 3. 强制内部审批(Required Internal) | 必须由持有审核权限的成员批准后才可发布 | 品牌方、MCN |
| 4. 内部审批 + 客户签核(Internal + Client) | 内部批准后,还要等客户在客户门户里最终确认 | 代运营公司、乙方服务客户 |
💡新手建议:代运营团队直接从模式 4 开始;如果只有内部使用,模式 3 就足够。

跑通一轮审批:提交、批准与打回
模式选好后,日常操作只有 4 个动作,全部在 apps/approvals/services.py 中实现:
- 提交审核(Submit):创作者在编辑器中把帖子从「草稿」提交,状态变为
pending_review,系统会自动通知所有持有approve_posts权限的成员(见 submit_for_review()); - 批准(Approve):审核人一键批准。在模式 4 下,帖子会先跳到
approved再进入pending_client,等待客户签核; - 请求修改 / 拒绝(Request Changes / Reject):这两种操作必须填写理由,作者会收到站内通知,改完可以重新提交(
resubmit_post(),见 apps/approvals/services.py); - 批量操作(Bulk Action):审核积压时,可以勾选多帖批量批准或批量拒绝(见 bulk_action 视图)。
别让审批卡住:自动催办与升级
帖子在pending_review停留超过24 小时、或在pending_client停留超过48 小时,后台任务会自动向审核人/客户发提醒;提醒满2 次仍未处理,则会「升级」通知工作区的 Owner 和 Manager。整个机制在 apps/approvals/tasks.py 中以三个常量配置,并按小时定时运行。
魔法链接客户门户:客户不用注册账号也能签核
模式 4 的核心是客户门户(apps/client_portal/)。客户不需要学习你的系统,只需收到一封邮件:
- 管理员在后台触发后,系统生成一次性令牌并发送邮件,邮件模板见 templates/client_portal/email/;
- 客户点击链接 → 落地确认页 → 门户会话建立,有效期 30 天(见 create_portal_session());
- 门户里只有三块内容:待审核队列、已发布列表、我的操作记录(见 apps/client_portal/views.py),客户可以批准、请求修改、或要求暂停发布(Hold)。
几个值得称道的安全细节(都在 apps/client_portal/services.py):
- 🔑令牌一次性消费:消费采用数据库层的原子更新,同一链接第二次点击无效;
- 🔍防链接扫描器烧令牌:GET 请求只做「窥视」不消耗令牌,只有用户真正确认(POST)才消费,避免邮箱预览提前失效;
- 📮发送失败不锁死客户:只有新邮件确认发出后,旧链接才被撤销——邮件服务故障时客户仍可用旧链接进入;
- ⏸️Hold 不是死胡同:客户按下暂停后帖子进入
on_hold,彻底脱离发布路径,团队随时可以恢复为approved(见 resume_hold())。
审计日志:每一次操作都有据可查
审批模块的「审计日志」由两类记录构成(模型定义见 apps/approvals/models.py):
- ApprovalAction(操作流水):记录 6 种动作——
submitted / approved / changes_requested / rejected / resubmitted / held,每条都绑定操作人、操作时间,还能精确到具体某个平台账号,方便复盘「是谁在什么时候批的」; - PostComment(评论线程):支持楼中楼回复、附件,并区分内部可见 / 外部可见——内部评论不会出现在客户门户里,内部讨论和客户沟通互不干扰。
配合版本对比页(version_diff 视图),审核人还能在批准前逐词对比两次版本的文案差异。出问题时,审计日志就是你的「行车记录仪」。
搭建清单:5 分钟上手总结
| 步骤 | 操作位置 | 关键动作 |
|---|---|---|
| ① 建工作区与成员 | Members 页 | 邀请团队,分配「Approve posts」权限 |
| ② 选择审批模式 | 工作区设置 → Approvals | 新手选「Internal + Client」 |
| ③ 提交第一帖 | 编辑器 | 草稿 → Submit,观察通知是否送达审核人 |
| ④ 发送魔法链接 | 客户门户管理 | 客户点击链接进入,完成一次批准 |
| ⑤ 复盘审计日志 | 帖子详情 | 核对 ApprovalAction 与评论留痕 |
从「谁都能发」到「每帖双人把关 + 客户签核 + 全程留痕」,BrightBean Studio 的审批工作流不需要写一行代码。如果你的团队正在为 Buffer 这类 SaaS 的按席位收费烦恼,这套开源自托管方案值得花 10 分钟亲自搭一遍。
【免费下载链接】brightbean-studioOpen-source, self-hostable social media management platform. Schedule, publish, and manage content across 10+ platforms from a single dashboard. Free alternative to Buffer, Sendible, and SocialPilot.项目地址: https://gitcode.com/gh_mirrors/br/brightbean-studio
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考