Xiaohongshu
这是一个基于人工智能的网页应用程序,用于为小红书生成和自动发布内容。它通过模型上下文协议(MCP)集成了多种工具和服务,实现了从主题输入到内容发布的全自动化流程。
Install / Use
/learn @YYH211/XiaohongshuQuality Score
Category
Development & EngineeringSupported Platforms
README
小红书内容自动生成与发布系统
中文 | English
一个基于AI的智能小红书内容生成和自动发布Web应用,通过MCP(Model Context Protocol)集成多种工具服务, 实现从主题输入到内容发布的全自动化流程。
简单来说:输入一个主题所有 AI 帮你搞定,直接发布到你的小红书账号上
系统主界面:

✨ 功能特点
- 🎨 现代化Web界面 - 简洁美观的左右分栏布局,响应式设计
- ⚙️ 配置管理 - 所有配置通过Web界面输入,自动保存到配置文件
- 🔌 MCP服务集成 - 集成Jina搜索、Tavily搜索、小红书发布三大MCP服务
- 🤖 智能内容生成 - 基于用户主题自动检索资料、分析整理、撰写文章
- 📝 自动格式化 - 自动适配小红书发布格式(标题、正文、标签、配图)
- 🚀 一键发布 - 生成完成后自动发布到小红书平台
- 📊 实时进度 - 显示执行进度和状态信息
- ✅ 结果展示 - 展示最终发布的标题、内容、标签、配图等信息
- 🔥 热点主题推荐 - 自动获取今日热点新闻,智能提取主题供选择
- 🎯 批量生成发布 - 支持批量选择多个主题,一键批量生成并发布
- 🌐 URL内容提取 - 支持输入网页链接,自动爬取并提取主题内容
- 🏷️ 领域快速筛选 - 提供AI、融资、论文、机器人等领域快捷筛选按钮
打个广告
这是我自己运营的账号,全部由这个项目写出来的文章

个人主页欢迎查看,点点关注,带你获取一手的 AI 资源
📋 前置要求
1. 启动小红书MCP服务
必须先启动 xiaohongshu-mcp 服务
# 1. 克隆小红书MCP项目
git clone https://github.com/xpzouying/xiaohongshu-mcp.git
cd xiaohongshu-mcp
# 2. 按照项目README的说明启动服务
# 默认服务地址: http://localhost:18060/mcp
⚠️注意:要先登录自己的小红书账号(按照这个 mcp 服务里面的方式来进行登录)
2. 系统环境
- Python 3.8+
- Node.js 16+ (用于MCP工具)
- npm/npx (用于运行MCP工具)
🚀 快速开始
1. 安装依赖
cd xhs_web_app
pip install -r requirements.txt
2. 启动应用
python app.py
应用默认在 http://localhost:8080 启动。
3. 配置系统
访问 http://localhost:8080,在左侧面板配置以下信息:
必填配置
| 配置项 | 说明 | 示例 |
|--------|------|------|
| LLM API Key | OpenAI兼容的API密钥 | sk-xxx... |
| OpenAI Base URL | API基础地址 | https://api.openai.com/v1 或 https://usw.sealos.io/v1 |
| 默认模型 | 使用的LLM模型 | claude-sonnet-4-20250514 (推荐) |
| 小红书MCP服务地址 | MCP服务的URL | http://localhost:18060/mcp |
可选配置(必须选一个)
| 配置项 | 说明 | 获取方式 | |--------|------|----------| | Jina API Key | Jina搜索服务密钥 | Jina官网 | | Tavily API Key | Tavily搜索服务密钥 | Tavily官网 |
推荐使用 Tavily 作为搜索工具,每个月能白嫖 1000 次搜索请求
💡 提示: 点击配置项旁边的"获取密钥"或"查看文档"链接可直接跳转到对应的服务网站。
4. 生成内容
系统采用全新的沉浸式双视图设计:
方式一:创作中心(Home View)
这是系统的默认视图,专注于单一主题的深度创作。
- 输入主题:在屏幕中央的"What will you create today?"下方输入框中,输入你想要创作的主题。
- 开始生成:点击右侧的"✨ 生成"按钮。
- 实时状态:
- 输入框下方会自动弹出"当前任务状态卡片"。
- 你可以看到 AI 正在进行的步骤(检索资料 -> 撰写文章 -> 格式适配 -> 自动发布)。
- 进度条会实时更新,展示当前执行百分比。
主题示例:
- "生成式AI优先级悖论解析"

方式二:热点发现(Trending View)
点击左侧侧边栏的"🔥 热点"图标进入此视图,适合寻找灵感和批量生产。
1. 按领域获取热点
在页面顶部,点击玻璃拟态风格的领域标签,快速获取该领域的热门话题:
- 🤖 AI - 人工智能、大模型前沿动态
- 💰 融资 - 创投圈最新融资消息
- 📄 论文 - 学术界最新研究成果
- 🦾 机器人 - 具身智能与自动化技术
2. 从网页链接提取
如果你有特定的文章链接:
- 在"或粘贴网页链接提取主题..."输入框中粘贴 URL。
- 点击"提取"按钮,系统将智能分析网页内容并提炼核心主题。
3. 批量生成发布
获取到主题卡片后:
- 选择主题:点击感兴趣的主题卡片(卡片会高亮显示并出现✓标记)。
- 全选功能:点击列表上方的"✓ 全选所有"按钮可一键选中当前所有主题。
- 批量执行:
- 底部会自动浮现"批量操作栏",显示已选数量。
- 点击"🚀 批量生成选中主题"按钮。
- 系统将自动创建任务队列,依次处理每个主题的生成与发布。
任务历史与管理
点击左侧侧边栏的"📝 历史"图标打开历史记录模态框:
- 查看详情:点击任意任务的"查看"按钮,可预览生成的完整小红书文案(标题、正文、标签)和配图。
- 状态筛选:使用顶部的分段控制器(全部/成功/失败)快速筛选任务状态。
📂 项目结构
xhs_web_app/
├── app.py # FastAPI主程序
├── requirements.txt # Python依赖
├── README.md # 本文档
│
├── config/ # 配置模块
│ ├── __init__.py
│ ├── config_manager.py # 配置管理器
│ ├── app_config.json # 应用配置(自动生成)
│ ├── servers_config.json # MCP服务配置(自动生成)
│ └── .env # 环境变量(自动生成)
│
├── core/ # 核心功能模块
│ ├── __init__.py
│ ├── content_generator.py # 内容生成器(基于MCP工具执行)
│ └── xhs_llm_client.py # MCP客户端和LLM交互
│
├── cache/ # 缓存模块
│ ├── __init__.py
│ ├── cache_manager.py # 任务历史缓存管理
│ └── task_history.json # 任务历史记录(自动生成)
│
├── static/ # 静态资源
│ ├── css/
│ │ └── style.css # 样式文件
│ └── js/
│ └── app.js # 前端交互逻辑
│
└── templates/ # HTML模板
└── index.html # 主页面
🔧 配置文件说明
1. app_config.json
存储应用的主要配置信息:
{
"llm_api_key": "sk-xxx...",
"openai_base_url": "https://api.openai.com/v1",
"default_model": "claude-sonnet-4-20250514",
"jina_api_key": "jina_xxx...",
"tavily_api_key": "tvly_xxx...",
"xhs_mcp_url": "http://localhost:18060/mcp"
}
2. servers_config.json
MCP服务器配置(根据app_config.json自动生成):
{
"mcpServers": {
"jina-mcp-tools": {
"command": "npx",
"args": ["jina-mcp-tools"],
"env": {
"JINA_API_KEY": "jina_xxx..."
}
},
"tavily-remote": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.tavily.com/mcp/?tavilyApiKey=tvly_xxx..."]
},
"xhs": {
"type": "streamable_http",
"url": "http://localhost:18060/mcp"
}
}
}
🎯 内容生成流程
系统采用4步骤流程自动生成并发布内容:
Step 1: 信息检索
- 使用Jina或Tavily搜索工具
- 检索最新7-30天内的相关信息
- 收集5-8条高质量资料
- 获取3-4张相关图片
Step 2: 撰写文章
- 基于收集的资料撰写专业文章
- 标题控制在20字以内
- 正文800-1200字
- 使用年轻化、活泼的语言风格
- 适当添加emoji增加趣味性
Step 3: 格式适配
- 调整为小红书专用格式
- 移除#标签,改为自然语言
- 提取5个精准话题标签
- 验证图片链接有效性
- 生成标准JSON格式
Step 4: 自动发布
- 调用小红书MCP服务
- 发布内容到小红书平台
- 返回发布结果
- 检测到发布成功后自动停止迭代
🌐 API端点
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | / | 主页面 |
| GET | /api/config | 获取配置(隐藏敏感信息) |
| POST | /api/config | 保存配置 |
| POST | /api/validate-model | 验证LLM模型是否可用 |
| POST | /api/test-login | 测试小红书MCP连接 |
| POST | /api/generate-and-publish | 单个主题生成并发布 |
| POST | /api/fetch-trending-topics | 获取今日热点主题(支持领域筛选) |
| POST | /api/fetch-topics-from-url | 从URL爬取并提取主题 |
| POST | /api/batch-generate-and-publish | 批量生成并发布多个主题 |
| GET | /api/history | 获取任务历史记录 |
| DELETE | /api/history/{task_id} | 删除指定任务记录 |
| GET | /api/history/statistics | 获取任务统计信息 |
🛠️ 技术栈
后端
- FastAPI - 现代化Web框架
- MCP (Model Context Protocol) - 工具服务集成
- OpenAI SDK - LLM API调用
- aiohttp - 异步HTTP客户端
前端
- 原生HTML/CSS/JavaScript - 轻量级,无需构建
- Element UI 风格 - 简洁美观的UI设计
- 响应式布局 - 支持桌面和移动端
MCP工具服务
- Jina MCP Tools - 网络搜索和内容抓取
- Tavily Remote - 深度网络搜索
- XHS MCP - 小红书内容发布
📝 许可证
本项目仅供学习和研究使用。使用本项目时请遵守:
- OpenAI API使用条款
- 小红书平台规则
- 各MCP服务提供商的使用协议
🔗 相关链接
- 小红书MCP服务 - 必须的依赖服务
- Sealos API平台 - 获取LLM API密钥
- Jina AI - 获取Jina API密钥
- Tavily - 获取Tavily API密钥
📧 支持与反馈
如有问题或建议,欢迎:
- 提交 Issue
- 发起 Pull Request
- 联系项目维护者
⚠️ 写在最后
该项目可以作为对 agent 的学习案例,但不建议直接用于生产环境。
整体项目的逻辑正在抽象一个更加通用的 agent 架构:
- 可配置 mcp
- 可选择不同的 tool 来完成复杂任务
- Agent 的上下文检索和压缩
- Agent 的多轮对话和记忆
- .....
** 欢迎 star Happy Creating! 🎉**
Related Skills
node-connect
332.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
81.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
332.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
81.9kCommit, push, and open a PR
