Skip to content

Huberyky/Amplipost

 
 

Repository files navigation

AmpliPost Banner


License Python Go Claude Code MCP Playwright PRs Welcome


AmpliPost 是基于 Claude Code Multi-Agent 架构构建的智能营销中台。三个协作 Agent(content-coordinator、content-reviewer、publish-guard)分工明确,配合 Hooks 系统与长期记忆,将「一句话指令」转化为跨平台内容的全自动生产与分发。小红书发布层由 xiaohongshu-mcp(Go + go-rod + CDP)驱动,无 WebDriver 特征,反风控能力经一年生产验证——无需人工确认,无需手动操作,全程自主决策。


快速开始 · Multi-Agent 架构 · 发布流水线 · 平台矩阵 · Hooks 系统 · 长期记忆


为什么是 Multi-Agent + MCP

传统自动化脚本的瓶颈不在执行,而在判断与风控。内容质量好不好?这次发布会不会触发风控?这两个问题如果由同一个 Agent 自问自答,天然存在偏差。与此同时,Playwright 走 WebDriver 协议,navigator.webdriver=true 特征会被小红书等平台识别,导致持续封号。

AmpliPost 的解法是双重分离:职责分离(content-coordinator 生成、content-reviewer 评审、publish-guard 风控,三者通过结构化 JSON 通信互不干涉)+ 技术分离(小红书发布层独立为 xiaohongshu-mcp MCP Server,Go + go-rod 直连 CDP,无 WebDriver 特征,行为拟人化,Cookie 持久化,原作者自用一年无封号)。


🤖 Multi-Agent 架构

Architecture

三 Agent + MCP Server 职责边界

组件 职责 不做什么
content-coordinator
主 Agent
解析用户输入、生成各平台内容、调度 subagent、执行发布、汇报结果、更新记忆 不自评内容质量、不做风控判断
content-reviewer
质量评审
从钩子强度、信息密度、真实感、平台适配、多样性五个维度独立评分,给出具体修改建议 不生成内容、不做发布决策
publish-guard
风控守卫
评估发布频率、间隔规律性、内容多样性、账号行为特征,输出 allow / delay / block 三态决策 不评价内容质量、不修改内容
xiaohongshu-mcp
MCP Server · Go
小红书发布底层执行层,监听 localhost:18060,通过 go-rod + CDP 直连 Chromium,提供 13 个工具 不生成内容、不做任何判断

自主决策边界

Agent 在以下情况自主处理,不询问用户:未指定平台时根据内容类型推断目标平台;抖音无图时自动调用 generate_images.py 生成信息图;内容含违禁词时自动替换;内容质量不达标时交 reviewer 评审并按建议重写(最多 2 次);风控评估为 delay 时等待随机延迟后发布;xiaohongshu-mcp 服务未运行时自动后台唤起(含自动安装);发布失败可修复时自动重试(最多 3 次)。

只有两种情况会停下来询问用户:登录态失效(需手动扫码,物理限制);指令完全歧义(主题空白,无法推断)。


🚀 快速开始

安装依赖

# Playwright 浏览器自动化(闲鱼 / B站 / 抖音)
npm install -g agent-browser
agent-browser install

# Scrapling 反爬增强
pip install "scrapling[all]>=0.4.3"
scrapling install --force

一键安装 xiaohongshu-mcp(小红书发布层)

# 自动 clone、编译、写入环境变量(需要 Go 1.21+)
bash scripts/setup-xhs-mcp.sh

# 首次登录小红书(扫码,只需一次)
bash scripts/start-xhs-mcp.sh --login

之后无需手动管理服务。content-coordinator 发布小红书时会自动检测并唤起 MCP Server。

配置 API Key

cp keys.example.txt keys.txt
# 编辑 keys.txt,填入各平台所需的 API Key

一句话触发全链路

# 内容类型自动推断平台(干货 → 小红书 + 抖音 + B站)
"帮我发:2025年最值得入手的5款AI工具"

# 指定平台
"发小红书和抖音:职场效率提升的3个反直觉技巧"

# 闲鱼商品(自动识别为商品类 → 闲鱼 + 小红书)
"帮我发闲鱼:iPhone 15 Pro Max 256G,5999元,95新"

# 深度技术文章(→ B站 + 小红书)
"写一篇关于 Scrapling 反爬原理的深度文章"

登录态说明

# 各平台首次使用需手动扫码(90秒窗口期),之后 Cookie 自动复用
# 闲鱼:  ~/.openclaw/browser_profiles/xianyu_default/
# 小红书: $XHS_MCP_DIR/cookies.json  (由 xiaohongshu-mcp 管理)
# B站:   ~/.catpaw/bilibili_browser_profile/
# 抖音:  ~/.catpaw/douyin_browser_profile/

🔄 发布流水线

Pipeline

完整流水线共 8 个阶段,全程自动执行:

Phase 0 读取 memory.md,提取历史有效内容方向、用户偏好、内容指纹和风控日志,为后续生成提供参考。

Phase 1–2 解析用户输入,推断目标平台,查找各平台 Skill 脚本路径(小红书检查 MCP Server 是否运行,未运行则自动后台唤起),处理图片决策树(抖音无图自动生成,小红书无图使用文字配图模式)。

Phase 3 为每个目标平台独立生成内容,严格遵循各平台字数、结构、风格规格,禁止平台间内容互相复制。

Phase 3.5 调用 content-reviewer subagent 进行独立质量评审,总分低于 70 分则按具体建议重写,最多重写 2 次。

Phase 4.5 调用 publish-guard subagent 进行风控评估,delay 决策时等待随机延迟,block 决策时跳过并在报告中说明原因。

Phase 5–8 依次执行发布(小红书通过 HTTP POST 调用 xiaohongshu-mcp,其他平台调用 Python Skill 脚本,平台间间隔 15 秒),验证成功标志,输出表格报告,将本次发布记录和内容指纹写入 memory.md


🎯 平台矩阵

🐟 闲鱼 📕 小红书 📺 B站专栏 🎵 抖音图文

标题 10–30 字
【新旧程度】商品名 规格
违禁词自动替换
AI 配图可选
Python · Playwright

标题 ≤20 字
正文 200–300 字
四段结构:痛点→干货→收尾→互动
xiaohongshu-mcp · Go+CDP
无 WebDriver · 反风控验证 ✅

标题 ≤40 字
正文 800–1500 字
五段结构:引言→分析→干货→误区→互动
3–5 个话题标签
Python · Playwright

标题 ≤30 字
正文 150–500 字
必须有图(无图自动生成信息图)
3–5 个 # 话题标签
Python · Playwright

平台智能推断规则

内容类型 自动发布到
二手商品出售 闲鱼 + 小红书
干货 / 经验分享 小红书 + 抖音 + B站
产品推广 / 营销 小红书 + 抖音
深度技术文章 B站 + 小红书

⚡ Hooks 系统

AmpliPost 通过 Claude Code 的 Hooks 机制在发布行为的前后各设一道拦截:

PreToolUse Hook 在每次调用发布脚本前触发(闲鱼 / B站 / 抖音),检查闲鱼违禁词(高仿/A货/假货/仿品/全网最低/代购)、B站和抖音的 emoji、以及极限词(全网最好/史上最/绝对最)。违禁词和 emoji 检测到则 exit 2 阻止执行,极限词仅输出警告不阻止。小红书通过 MCP HTTP 调用,合规检查在内容生成阶段完成,不经过此 Hook。

PostToolUse Hook 在发布脚本执行完成后异步触发,按平台检测成功标志,并将结果写入 ~/.amplipost/logs/publish_YYYYMMDD.log

{
  "hooks": {
    "PreToolUse":  [{ "matcher": "Bash", "command": "python3 .claude/hooks/pre-publish-check.py" }],
    "PostToolUse": [{ "matcher": "Bash", "command": "python3 .claude/hooks/post-publish-verify.py", "async": true }]
  }
}

💾 长期记忆

memory.md 是 AmpliPost 的持久化记忆层,由 content-coordinator 在每次任务结束后自动维护,content-reviewer 和 publish-guard 在评审时主动读取。

记忆层包含六个区块:发帖方向演进(有效方向与待规避方向)、平台经验积累(各平台有效开头/标题模式)、发布记录(每次发布的时间、平台、主题、状态)、Agent 自主迭代笔记(Agent 发现的规律和改进思路)、用户偏好记录(用户明确表达的风格要求)、风控日志(每次风控评估的决策和风险分)。

随着使用次数增加,Agent 会逐渐积累对用户偏好和平台规律的理解,内容质量和风控安全性会持续提升。


📁 项目结构

Amplipost/
├── CLAUDE.md                          # Claude Code 项目指令(速查表)
├── AGENTS.md                          # Multi-Agent 架构说明
├── SPEC.md                            # 完整系统规格
├── memory.md                          # 长期记忆(自动维护)
├── keys.example.txt                   # API Key 配置模板
│
├── scripts/
│   ├── setup-xhs-mcp.sh              # 一键安装 xiaohongshu-mcp(clone+编译+环境变量)
│   └── start-xhs-mcp.sh              # 启动/自动唤起 MCP Server
│
├── publishers/                        # Skill 脚本(只读,仅执行发布)
│   ├── xianyu-publisher/
│   │   └── scripts/
│   │       ├── xianyu_publish.py
│   │       └── xianyu_publish_scrapling.py
│   ├── xhs-publisher/
│   │   └── SKILL.md                  # 小红书发布规范(MCP 调用方式)
│   ├── bilibili-publisher/
│   └── douyin-publisher/
│       └── scripts/
│           └── generate_images.py    # 抖音 AI 信息图生成
│
└── .claude/
    ├── settings.json                  # Hooks 注册 + 权限配置
    ├── agents/
    │   ├── content-coordinator.md    # 主 Agent
    │   ├── content-reviewer.md       # 质量评审 subagent
    │   └── publish-guard.md          # 风控守卫 subagent
    └── hooks/
        ├── pre-publish-check.py      # PreToolUse Hook
        └── post-publish-verify.py    # PostToolUse Hook

🔧 故障排查

小红书 MCP 服务未启动

content-coordinator 会自动调用 scripts/start-xhs-mcp.sh --bg 后台唤起服务。若自动唤起失败(通常是首次未登录),会提示:bash scripts/start-xhs-mcp.sh --login

换新电脑部署

bash scripts/setup-xhs-mcp.sh        # 自动 clone + 编译 + 写环境变量
bash scripts/start-xhs-mcp.sh --login  # 首次扫码登录

内容评审连续不通过

content-reviewer 连续 2 次评审不通过时,该平台会被跳过,最终报告中会注明「内容评审未通过」及具体原因。可以调整输入描述后重新触发。

发布被风控拦截

publish-guard 输出 block 决策时,报告中会说明拦截原因(通常是当日发布频率过高或内容重复度过高)。建议等待 24–48 小时后重试,或调整内容主题。

配图中文乱码(macOS)

brew install font-morisawa
cp $(find /usr/fonts -name "*.ttc" | head -1) ~/Library/Fonts/

🤝 贡献

git checkout -b feature/your-feature
git commit -m 'feat: add your feature'
git push origin feature/your-feature
# 提交 Pull Request

注意: publishers/*/scripts/*.pypublishers/*/SKILL.md 为只读文件,.claude/settings.json 已通过 deny 规则保护,PR 中请勿修改这些路径。


📄 许可证

MIT License · © 2025 Alan Song & Roxy Li


🙏 致谢

本项目的小红书发布能力基于 xiaohongshu-mcp 实现,感谢开源!


Claude Code xiaohongshu-mcp Playwright

One sentence in · Four platforms out · Zero human intervention

About

基于 Openclaw & Claude Code Multi-Agent 架构的多平台智能内容营销中台,告诉他一个主题,闲鱼/小红书/B站/抖音多平台内容自动智能生成与发布。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 94.7%
  • Shell 5.3%