🍒 小红书 AI 爆文生产工坊 V2.5
全自动小红书内容创作 & 智能运营工具
灵感 → 文案 → 绘图 → 排期 → 发布 → 运营 → 学习,全闭环 AI 驱动
功能特性 •
快速开始 •
使用指南 •
配置说明 •
人设系统 •
FAQ •
贡献
---
## ✨ 功能特性
### 📝 内容创作(Tab 1)
- **AI 文案生成** — 输入主题即可生成小红书爆款标题、正文、话题标签
- **AI 绘图** — 集成 Stable Diffusion WebUI,支持 3 款模型智能适配
- **人设视觉优化** — 9 种人设专属视觉方案,自动注入风格提示词
- **ReActor 换脸** — 上传头像一键换脸,保持角色一致性
- **质量模式** — 快速/标准/精细三档,灵活平衡速度与画质
- **反 AI 检测** — 8 层文案人格化 + 7 步图片后处理,绕过 AI 内容检测
- **一键导出** — 文案 + 图片打包导出到本地文件夹
### 🔥 热点探测(Tab 2)
- **关键词搜索** — 搜索小红书热门笔记,支持多维度排序
- **AI 趋势分析** — 分析热门标题套路、内容结构,给出模仿建议
- **一键借鉴创作** — 参考热门笔记风格生成原创内容
### 💬 评论管家(Tab 3)
- **主动评论引流** — 浏览笔记 → AI 智能生成评论 → 一键发送
- **自动回复粉丝** — 加载笔记评论 → AI 生成回复 → 发送
### 🔐 账号管理(Tab 4)
- **扫码登录** — 小红书二维码登录,自动获取 Token
- **多 LLM 提供商** — 支持 DeepSeek、OpenAI、通义千问等所有兼容接口
### 📊 数据看板(Tab 5)
- **账号概览** — 粉丝数、获赞数等核心指标可视化
- **笔记排行** — 点赞排行图表分析
- **笔记详情** — 全部笔记数据明细表
### 🧠 智能学习(Tab 6)
- **数据采集** — 自动采集已发布笔记的互动数据(点赞、评论、收藏)
- **多维权重** — 主题权重、风格权重、标签权重、标题模式权重
- **AI 深度分析** — LLM 分析笔记表现规律,生成内容策略建议
- **定时学习** — 后台自动采集 + 分析(1-48 小时可配置)
- **加权发布** — 自动发布时根据笔记表现权重智能选择高互动主题
### 🤖 自动运营(Tab 7,无人值守)
- **一键评论** — 自动搜索高赞笔记 + AI 生成评论 + 发送
- **一键点赞** — 批量随机点赞,提升账号活跃度
- **一键回复** — 自动扫描我的笔记 + AI 回复粉丝评论
- **一键发布** — 自动生成文案 + SD 生图 + 发布到小红书
- **随机定时** — 评论/点赞/回复/发布全自动定时执行,随机间隔模拟真人
- **每日限额** — 评论/点赞/收藏/发布/回复独立限额,防封号
- **错误冷却** — 连续错误自动暂停,避免异常操作
### 📅 内容排期(Tab 8)
- **批量生成** — 一键批量生成多篇内容(文案 + 图片)加入队列
- **队列管理** — 草稿 → 审核 → 排期 → 发布,全流程状态管理
- **定时发布** — SQLite 队列 + 后台 Publisher 线程自动定时发布
- **队列处理器** — 启动/停止后台自动发布引擎
---
## 📸 截图预览
> 启动后在浏览器中打开 `http://127.0.0.1:7860`
---
## 🚀 快速开始
### 环境要求
| 依赖 | 要求 | 说明 |
|------|------|------|
| **Python** | >= 3.10 | 推荐 3.11+ |
| **xiaohongshu-mcp** | 运行中 | 小红书 MCP 服务(默认端口 18060) |
| **Stable Diffusion WebUI** | 可选 | 本地 AI 绘图(默认端口 7860) |
| **LLM API** | 必须 | 任意 OpenAI 兼容接口 |
### 安装步骤
```bash
# 1. 克隆项目
git clone https://github.com//xhs-autobot.git
cd xhs-autobot
# 2. 创建虚拟环境(推荐)
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
# 3. 安装依赖
pip install -r requirements.txt
# 4. 复制配置文件并填写你的 API Key
cp config/config.example.json config/config.json
# 编辑 config/config.json,填写 api_key、base_url 等
# 5. 启动!
python main.py
```
启动后会自动打开浏览器,访问 `http://127.0.0.1:7860`。
### 🐳 Docker 部署(推荐)
使用 Docker Compose 一键启动所有服务,无需手动安装 Python 环境:
```bash
# 1. 克隆项目
git clone https://github.com//xhs-autobot.git
cd xhs-autobot
# 2. 准备配置文件
cp config/config.example.json config/config.json
# 编辑 config/config.json,填写 api_key、base_url 等
# ⚠️ mcp_url 改为容器网络地址:
# "mcp_url": "http://xhs-mcp:18060/mcp"
# 3. 一键启动
docker compose up -d
# 4. 查看日志
docker compose logs -f xhs-autobot
```
启动后访问 `http://localhost:7860`。
#### Docker 服务说明
| 服务 | 容器名 | 端口 | 说明 |
|------|--------|------|------|
| `xhs-autobot` | xhs-autobot | 7860 | 主应用(Gradio UI) |
| `xhs-mcp` | xhs-mcp | 18060 | 小红书 MCP 服务 |
| `sd-webui` | sd-webui | 7861 | SD WebUI(可选,需 GPU) |
#### 常用命令
```bash
# 停止所有服务
docker compose down
# 重新构建(代码更新后)
docker compose up -d --build
# 查看运行状态
docker compose ps
# 进入主容器调试
docker compose exec xhs-autobot bash
```
#### 启用 Stable Diffusion(需要 NVIDIA GPU)
编辑 `docker-compose.yml`,取消 `sd-webui` 部分的注释,并将 `config/config.json` 中的 `sd_url` 改为:
```json
"sd_url": "http://sd-webui:7860"
```
---
### 前置服务
#### xiaohongshu-mcp(必须)
本项目通过 [xiaohongshu-mcp](https://github.com/punkpeye/xiaohongshu-mcp) 与小红书交互(搜索、发布、评论等),请先启动 MCP 服务:
```bash
# 按照 xiaohongshu-mcp 文档启动,默认端口 18060
npx xiaohongshu-mcp
```
#### Stable Diffusion WebUI(可选,用于 AI 绘图)
推荐使用 [AUTOMATIC1111/stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui),启动时开启 API:
```bash
python launch.py --api
```
推荐模型:
| 模型 | 架构 | 风格 | 推荐场景 |
|------|------|------|---------|
| [JuggernautXL](https://civitai.com/models/133005) | SDXL | 电影大片风 | 通用首选,高质量写真 |
| [majicmixRealistic](https://civitai.com/models/43331) | SD 1.5 | 东亚网红风 | 亚洲博主、日韩风 |
| [Realistic Vision](https://civitai.com/models/4201) | SD 1.5 | 纪实摄影风 | 生活场景、街拍 |
---
## 📖 使用指南
### 首次使用流程
1. **配置 LLM** — 切换到「⚙️ 配置」 Tab,添加 LLM 提供商(API Key + Base URL),点击「连接 LLM」
2. **连接 SD**(可选)— 在「⚙️ 配置」 Tab 填写 SD WebUI URL,点击「连接 SD」
3. **检查 MCP** — 点击「检查 MCP」确认小红书服务正常
4. **登录小红书** — 切换到「🔐 账号登录」 Tab,扫码登录
5. **选择人设** — 在「⚙️ 配置」 Tab 的人设下拉框选择博主人设(影响文案风格 + 图片视觉)
6. **开始创作** — 切换到「✨ 内容创作」Tab,输入主题,一键生成
### 自动化运营
切换到「🤖 自动运营」Tab:
- **一键操作** — 手动触发单次评论/点赞/回复/发布
- **定时调度** — 勾选需要的功能,设置间隔时间,点击「▶️ 启动定时」
- **查看日志** — 点击「🔄 刷新日志」查看实时执行记录
- **每日统计** — 自动跟踪今日操作量,超限自动暂停
### 内容排期
切换到「📅 内容排期」Tab:
1. **批量生成** — 点击「📋 批量生成 → 加入队列」,自动生成多篇内容存入队列
2. **审核内容** — 在队列列表中预览、编辑或驳回草稿
3. **设定时间** — 为已审核内容设置发布时间
4. **启动发布** — 点击「▶ 启动队列处理」,后台自动在预定时间发布
### 智能学习
切换到「🧠 智能学习」Tab:
1. **采集数据** — 点击「📊 立即采集」收集笔记互动数据
2. **分析权重** — 系统自动计算主题/风格/标签权重
3. **启用加权** — 开启后自动发布时优先选择高互动主题
4. **定时学习** — 设置自动采集间隔,持续优化内容策略
---
## ⚙️ 配置说明
配置文件 `config/config.json` 会在运行时自动创建和保存。首次使用请从 `config/config.example.json` 复制:
```json
{
"api_key": "你的LLM API Key",
"base_url": "https://api.deepseek.com/v1",
"sd_url": "http://127.0.0.1:7860",
"mcp_url": "http://localhost:18060/mcp",
"model": "deepseek-chat",
"persona": "赛博AI虚拟博主,住在2077年的数码女孩...",
"my_user_id": "你的小红书userId(24位)"
}
```
| 字段 | 说明 | 必填 |
|------|------|------|
| `api_key` | LLM API 密钥 | ✅ |
| `base_url` | LLM API 地址(OpenAI 兼容) | ✅ |
| `sd_url` | Stable Diffusion WebUI 地址 | 绘图需要 |
| `mcp_url` | xiaohongshu-mcp 服务地址 | ✅ |
| `model` | 默认使用的 LLM 模型名 | ✅ |
| `persona` | 博主人设(影响文案风格 + SD 视觉风格) | 可选 |
| `my_user_id` | 你的小红书 userId(24 位十六进制) | 数据看板/自动回复需要 |
| `llm_providers` | 多 LLM 提供商配置数组 | 通过 UI 管理 |
### 获取 userId
1. 浏览器打开你的小红书主页
2. 网址格式为 `xiaohongshu.com/user/profile/xxxxxxxx`
3. `profile/` 后面的就是 userId
---
## 📁 项目结构
```
xhs-autobot/
├── main.py # 主程序入口 (Gradio UI + 事件绑定)
├── config/ # 配置文件目录
│ ├── config.json # 运行时配置 (gitignore)
│ └── config.example.json # 配置模板
├── logs/ # 运行日志 (gitignore)
│ └── autobot.log
├── docs/ # 参考文档
│ └── mcp.md # xiaohongshu-mcp 参考文档
├── scripts/ # 运行时生成的启动脚本 (gitignore)
│ ├── _autostart.bat
│ └── _autostart.vbs
├── requirements.txt # Python 依赖
├── requirements-dev.txt # 开发工具依赖 (ruff 等)
├── Dockerfile # Docker 镜像构建
├── docker-compose.yml # Docker Compose 编排
├── services/ # 业务逻辑层
│ ├── config_manager.py # 配置管理模块 (单例、自动保存)
│ ├── llm_service.py # LLM 服务封装 (文案生成、热点分析等)
│ ├── sd_service.py # Stable Diffusion 服务封装 (3 模型适配、9 人设视觉方案)
│ ├── mcp_client.py # 小红书 MCP 客户端 (搜索、发布、评论、点赞)
│ ├── analytics_service.py # 笔记数据分析 & 权重学习服务
│ ├── publish_queue.py # 内容排期队列 (SQLite + 后台 Publisher)
│ ├── scheduler.py # 自动化运营调度器
│ ├── content.py # 文案生成、图片生成、导出、发布
│ ├── hotspot.py # 热点探测、热点生成、笔记缓存
│ ├── engagement.py # 评论管家:手动评论、回复、互动
│ ├── profile.py # 小红书账号 Profile 解析与可视化
│ ├── persona.py # 人设管理:常量、关键词池、主题池
│ ├── connection.py # LLM/SD/MCP/XHS 连接管理
│ ├── queue_ops.py # 发布队列操作
│ ├── rate_limiter.py # 频率控制、每日限额、冷却管理
│ └── autostart.py # Windows 开机自启管理
├── ui/ # Gradio UI 层
│ ├── app.py # 主界面构建函数(全部 Tab UI + 事件绑定)
│ └── tab_create.py # Tab 1「✨ 内容创作」组件定义
├── assets/
│ └── faces/ # 头像文件目录 (gitignore)
└── xhs_workspace/ # 导出的文案和图片 (gitignore)
├── publish_queue.db # 排期队列数据库
├── analytics_data.json # 笔记表现数据
└── content_weights.json # 内容权重数据
```
---
## 🎭 人设系统
项目内置 **28 种博主人设**,每种人设拥有:
- **专属主题池** — 匹配人设的内容方向(如健身博主自动抽健身主题)
- **评论关键词** — 搜索和评论时使用与人设相关的关键词
- **SD 视觉方案** — 9 种人设拥有专属视觉优化(prompt_boost + 风格词 + 负面词)
- **LLM 指导词** — LLM 生成 SD Prompt 时收到人设专属的视觉风格引导
### 内置人设视觉方案
| 人设 | 视觉风格 |
|------|----------|
| 赛博AI虚拟博主 | 科幻/赛博朋克,发光特效,极致完美面容 |
| 性感福利主播 | 暖金色调,闺房/泳池,魅力摄影 |
| 身材管理健身美女 | 健身房/运动场,活力运动风 |
| 温柔知性时尚博主 | 法式优雅,时装杂志质感 |
| 文艺青年摄影师 | 胶片颗粒,Kodak Portra 怀旧色调 |
| 二次元coser | 动漫灵感,Cosplay,鲜艳色彩 |
| 汉服爱好者 | 水墨画风,丝绸流动,古典意境 |
| 独居女孩 | 温馨烛光,Hygge 风格 |
| 资深美妆博主 | 环形灯棚拍,完美妆容特写 |
选择「🎲 随机人设」可每次自动切换,增加账号内容多样性。
---
## ❓ 常见问题
Q: LLM API 报错 400 json_object
某些 API 在使用 `response_format: json_object` 时要求消息中包含 "json" 一词。本项目已自动处理,如仍遇到请升级到最新版本。
Q: 评论发送成功但 App 上看不到
小红书有内容审核机制,评论可能需要 1-5 分钟显示。部分评论可能被风控(仅自己可见)。查看自动化日志中的 MCP 响应可排查。
Q: SD WebUI 连接失败
确保启动 SD WebUI 时加了 `--api` 参数,且端口匹配。本项目默认连接 `http://127.0.0.1:7860`。
Q: xiaohongshu-mcp 是什么?怎么启动?
这是一个开源的小红书 MCP 服务端,提供搜索、发布、评论等 API。详见 [xiaohongshu-mcp 项目](https://github.com/punkpeye/xiaohongshu-mcp)。
Q: 支持哪些 LLM?
支持所有 OpenAI 兼容接口,包括但不限于:DeepSeek、GPT-4o、通义千问、Gemini(通过中转)、Claude(通过中转)等。
Q: 反 AI 检测是怎么实现的?
**文案层面**(8 层人格化):口语化改写、插入不完美表达、随机错别字、方言词汇、不规律标点、emoji 混入、段落长度随机化、句式打乱。
**图片层面**(7 步后处理):微旋转裁剪、轻微色偏、随机噪点、JPEG 二次压缩(质量 82-92)、EXIF 清除、局部模糊/锐化、微位移。
Q: 如何添加自定义人设?
在人设下拉框中直接输入自定义人设描述即可(支持自由输入)。如需配套主题池和关键词,需在 `services/persona.py` 的 `PERSONA_POOL_MAP` 中添加对应条目。如需配套 SD 视觉方案,需在 `services/sd_service.py` 的 `PERSONA_SD_PROFILES` 中添加。
Q: 支持哪些 SD 模型?
内置适配 3 款模型:majicmixRealistic(SD 1.5)、Realistic Vision(SD 1.5)、Juggernaut XL(SDXL)。系统会自动检测当前模型并匹配最佳参数。未知模型自动回退到 SDXL 默认档案。
---
## 🤝 贡献指南
欢迎贡献代码!请查看 [CONTRIBUTING.md](CONTRIBUTING.md) 了解详情。
简要流程:
1. Fork 本项目
2. 创建特性分支 (`git checkout -b feature/amazing-feature`)
3. 提交更改 (`git commit -m 'feat: add amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 发起 Pull Request
---
## 📋 更新日志
详见 [CHANGELOG.md](CHANGELOG.md)。
---
## ⚠️ 免责声明
- 本项目仅供学习和研究目的,请遵守小红书平台的使用规范和服务条款
- 过度使用自动化功能可能导致账号被限制,请合理设置操作间隔
- 用户需为自己发布的内容和使用行为承担全部责任
- 本项目不保存、不传输任何用户的账号密码信息
---
## 📄 许可证
本项目使用 [MIT License](LICENSE) 开源。
---
## 🌟 Star History
如果这个项目对你有帮助,请点亮 ⭐ Star!