在 AI 智能体(Agent)和生长黑客(Growth Hacking)风靡的今天,多渠道跨平台营销(如在 Reddit、Telegram、Facebook、YouTube、Twitter 等平台发布内容和监测动态)已经成为独立开发者和初创团队的标配。
然而,市面上的营销 SaaS 通常面临三大痛点:
- 隐私与安全风险:你需要将各大社交媒体的敏感 API Key 或 OAuth 授权托付给云端第三方平台。
- 昂贵的 LLM API 账单:云端自动生成内容会持续消耗大量 API Token 费用。
- 封号风险(风控敏感):新注册的账号或权重较低的社交账号,一旦被 AI 批量发送带链接的广告,极易被平台瞬间封杀。
为了彻底解决这些痛点,我开发了一款纯本地运行、基于 Composio 与 Model Context Protocol (MCP) 的开源营销运营系统(composio-marketing-ops)。
该系统与我们之前介绍的 OpenClaw 本地智能体运行环境 和 Antigravity 智能体团队协作框架 一脉相承,旨在为开发者提供安全、私密、可控且低成本的自动化增长方案。
本文将详细解构这个系统的设计需求、技术架构、核心数据流以及它独特的“养号防封”策略引擎。
🧭 一、 核心痛点与三层分工定位
在传统跨平台营销工具的开发中,开发者必须为每个社交平台单独编写 API 适配器和处理授权。这是一个巨大的重复性工作。
在我们的系统中,我们通过 Composio 和 Model Context Protocol (MCP) 的组合,将这一跨平台发帖链路进行了优雅的三层解耦:
+-------------------------------------------------------------+
| Composio Marketing Ops (本项目) |
| 解决:营销策略、Campaign 简报、内容审批管理、任务调度、防封策略 |
+-------------------------------------------------------------+
▲
│ MCP (Model Context Protocol)
▼
+-------------------------------------------------------------+
| Composio MCP 客户端 / 网关 |
| 解决:本地开发环境与 Composio 云端服务接口的连接和动作映射 |
+-------------------------------------------------------------+
▲
│ 安全隧道
▼
+-------------------------------------------------------------+
| Composio Connect (服务端) |
| 解决:全网 200+ 社交和应用网站的 API 连接、OAuth 托管与统一调用 |
+-------------------------------------------------------------+
- Composio 服务端(Connect):解决了网站链接与 OAuth 授权的问题。它负责安全地连接和托管 Reddit、Telegram 等 200 多个平台的 API,我们不需要写一行对接具体平台 API 的适配代码。
- MCP (Model Context Protocol) 层:解决了本地环境与 Composio 服务通信的问题。它将云端连接好的站点转化为本地标准化的工具调用接口(Tools)。
- 我们的营销系统(composio-marketing-ops):解决了各个平台的营销策略、内容生成、审批与发布管理的问题。这正是营销人员和独立开发者的业务逻辑核心。
🏗️ 二、 系统架构与“省钱防泄露”铁律
该系统采用 本地 Web 面板(Next.js) + CLI 命令行工具(基于终端 Agent 会话) 的 A+B 架构,本地数据存储统一采用 better-sqlite3,不部署在任何云端,确保密钥与数据 100% 留在本地。
为了帮独立开发者省去昂贵的 API 调用费用,同时保证架构清洁,我们基于 Next.js App Router 制定了以下架构铁律:
Web UI 面板 (Next.js, :3000) ◄───共享 SQLite───► CLI 命令行工具 (Terminal Agent)
[职责]: 策略管理、同步站点、任务调度、 [职责]: 只读 due tasks → LLM 生成内容
发帖审批、历史审计、实时发布 → 写回 posts (draft)
│ │
└──────────────────► data/promo.db ◄─────────────────┘
(单一事实源,无内存态)
1. Web 面板(Next.js)
- 职责:除生成外的一切事务。同步站点、任务发现、发帖动作执行、历史记录审计、营销策略配置、用户 UI 交互。
- 铁律:Web 端永不主动调用任何外部 LLM API。 这不仅防止了前端阻塞,更在源头上杜绝了 API Token 的持续付费消耗。
2. CLI / 命令行工具(`/promo:gen` 命令)
- 职责:只负责读取到期的内容生成任务(due gen task),调用 LLM 生成符合策略的推广草稿,并写入数据库。
- 铁律:在实际开发中,这一步直接通过我们的**本会话智能体命令行环境(如搭载了 GLM 订阅的终端会话)**触发。生成内容使用会话自带的订阅额度,API Token 消耗为 $0。生成完毕后以
status=draft(草稿状态)写入 SQLite 桥,由人类在 Web UI 面板进行最终审批验收。
3. 桥接层(SQLite)
- 所有 Web 面板和 CLI 进程的通信完全通过本地 SQLite 数据库(
data/promo.db)作为唯一的“共享存储和状态桥”,没有任何内存态开销,备份只需复制单个 DB 文件。
🔁 三、 核心数据流与发帖状态机
系统的数据处理逻辑和发帖流转非常清晰,主要分为三个核心循环:
[ connected_sites (Active) ]
▲
│ sync-sites
│
+-------------------------------------------------------+
| 1. 站点同步 (sync-sites) |
| 通过 Composio MCP 同步已连站点,断连标为 disconnected |
+-------------------------------------------------------+
│
▼
+-------------------------------------------------------+
| 2. 内容生成 (gen task) |
| CLI 读 Task -> 结合 Brief & 平台策略 -> LLM 生成内容 |
+-------------------------------------------------------+
│
▼
[ posts (Draft) ]
│
├─► [ rejected ]
▼
[ posts (Approved) ]
│
▼
+-------------------------------------------------------+
| 3. 调度发布 (publish task) |
| Web Cron 读 Approved posts -> 策略复查 -> MCP 发帖 |
+-------------------------------------------------------+
│
├─► 失败: [ queued + error ] (重试)
▼
[ posts (Posted) ]
│
▼
[ publish_history (Posted) ]
- 站点同步 (
sync-sites): 调度器或管理员触发同步,通过 Composio MCP 列出所有已连接的社交账号并拉取账号元数据(如 Reddit 的 Karma 值、注册时长,YouTube 订阅数等),UPSERT 到本地数据库。如账号在云端被解除连接,本地状态会置为disconnected,但其关联的发布历史和数据审计永不删除。 - 内容生成 (
gen): 命令行工具检测到期内容生成任务,读取关联 Campaign 的推广简报(Brief)、目标平台要求,以及该账号命中的安全策略规则,输入给 LLM 生成文案,并作为草稿(draft)写入数据库。 - 审核与发布 (
publish): 管理员在 Web 面板上审核草稿。通过审批(approved)的帖子将进入发布队列(queued)。Web 端的定时任务/api/cron/run定期扫描队列,在发布前夕再次进行策略复查(Pre-flight check),确保无误后通过 Composio MCP 执行发帖。成功后写入publish_history归档。
🛡️ 四、 特色:智能防封策略引擎
社交平台对自动机器人营销极其敏感,特别是针对新账号或者带有外部导流链接的帖子。
为了在自动化营销和账号安全之间取得完美平衡,本系统内置了一套双重防御的策略引擎(Strategy Engine)。它将账号元数据(Connected Site Meta)与发布规则(Strategy Rules)进行求值运算:
1. 规则结构与账号评估
我们在 SQLite 中定义了多条安全规则(strategy_rules):
- 参数维度:
account_age_days(注册时长),karma(社区积分/活跃度),followers(粉丝数)。 - 限制策略:
link_policy:allow(允许带链接) /deny(全面禁止外链,只允许纯干货内容) /allow_if_relevant(只允许带一条高度相关的链接)。ad_policy:allow(允许软广告语气) /deny(只允许纯干货分享,禁止任何营销词汇)。max_per_day: 每日最高发帖上限,防触发频率风控。
2. 双重策略应用(源头合规 + 临门阻断)
策略在发布流中被应用了两次,构成了极强的风控闭环:
- 源头合规 (Gen Prompt Injection):
当 CLI 工具调用 LLM 生成内容时,系统会自动将该账号当前的 Policy 注入到 System Prompt 中。例如:如果该 Reddit 账号是注册不到 10 天的新号,LLM 接收到的指令将是:
"当前为新账号,禁止包含任何链接或营销倾向,仅以专业角度提供纯干货解答。"从源头上杜绝生成违规垃圾内容。 - 临门阻断 (Pre-flight Verification):
在 Web UI 的 Cron 定时器执行 MCP 发布动作前的最后一毫秒,系统会再次用纯函数策略引擎对即将发送的文本进行静态匹配。如果发现文案里包含了链接(例如 LLM 幻觉生成了链接),但当前账号策略禁止链接,系统会强行阻断发布,将帖子打回
queued并记录安全警报,彻底保障账号安全。
🚀 五、 后续开源与生态规划
这套本地跨平台营销工具解决了**“连接在云端,控制在本地,策略可防封,生成零成本”**的核心诉求。
目前,整个项目的核心底层数据模型设计和测试套件(SQLite 数据层、策略引擎 TDD 等)均已顺利落地,后续我们将围绕以下方向进一步推进并正式开源:
- 评论与主题发现流 (Phase 2):结合我们在 Firecrawl 网页爬取教程 中学到的结构化数据抓取,基于 Composio 自动监听各大社区最新的相关主题帖(如 Reddit 上关于 "Which AI coding tool is best" 的提问),自动起草专业回复草稿并推送到 Web 审批流,实现精准引流。
- 富媒体与视频生成 (Phase 3):集成开源的本地视频渲染工作流,自动根据 Campaign Brief 生成短视频和配音,并通过 Composio 发布到 YouTube Shorts 和 TikTok。
希望这套架构思路能为正在探索 AI 自动化增长的独立开发者们提供一些有价值的参考!欢迎在下方留言探讨您的看法。