返回市场
小红书

小红书

作者:YYH21125 星标更新:2025-11-20

项目介绍

小红书内容自动生成与发布系统

中文 英文

一个基于人工智能的智能小红书内容生成和自动发布的Web应用程序,通过MCP(模型上下文协议)集成多个工具服务,实现从主题输入到内容发布的全自动流程。

简单来说,输入一个主题,所有的人工智能都会帮助你解决它,然后直接发布到你的小红书账号。

系统主界面: alt text alt text alt text alt text

✨ 特性

  • 🎨 现代Web界面 -简洁美观的左右列布局,响应式设计
  • ⚙️ 配置管理 -所有配置均通过Web界面输入并自动保存至配置文件
  • 🔌 MCP服务集成 -集成三大MCP服务:Jina搜索、Tavily搜索和小红书发布
  • 🤖 智能内容生成 -根据用户主题自动检索信息、分析整理并撰写文章
  • 📝 自动排版 -自动适应小红书的发布格式(标题、正文、标签、图片)
  • 🚀 一键发布 -生成完成后自动发布至小红书平台
  • 📊 实时进度 -显示执行进度和状态信息
  • 结果展示 -显示最终发布的标题、内容、标签、插图等信息
  • 🔥 推荐热门话题 -自动检索今日热点新闻并智能提取话题供选择
  • 🎯 批量生成与发布 -支持多主题批量选择,一键批量生成与发布
  • 🌐 URL内容提取 -支持输入网页链接,自动爬取并提取主题内容
  • 🏷️ 快速筛选领域 -提供AI、融资、论文、机器人等领域快速筛选按钮

制作广告

这是我的个人账号,所有由本项目撰写的文章

alt text

个人主页欢迎浏览,点击关注获取一手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 URLAPI基础地址https://api.openai.com/v1https://usw.sealos.io/v1
默认模型使用的LLM模型claude-sonnet-4-20250514(推荐)
小红书MCP服务地址MCP服务的URLhttp://localhost:18060/mcp

可选配置(必须选择一项)

配置项描述获取方法
Jina API KeyJina搜索服务密钥Jina官方网站
Tavily API KeyTavily搜索服务密钥Tavily官方网站

建议使用Tavily作为搜索工具,每月可免费生成1000次搜索请求

💡 提示点击配置项旁边的“获取密钥”或“查看文档”链接可以直接跳转到相应的服务网站。

4. 生成内容

系统采用全新的沉浸式双视图设计:

方法1:创意中心(首页)

这是系统的默认视图,专注于单个主题的深入创作。

  1. 输入主题在屏幕中央“今天你要创造什么?”输入框下方,输入你想创建的主题。
  2. 开始生成点击右侧的“✨ 生成”按钮。
  3. 实时状态
    • “当前任务状态卡片”会自动出现在输入框下方。
    • 你可以看到AI当前正在采取的步骤(检索信息 -> 撰写文章 -> 格式适配 -> 自动发布)。
    • 进度条会实时更新,显示当前执行百分比。

主题示例:

  • 生成AI优先悖论分析 alt text

方法2:趋势视图

点击左侧边栏的“🔥 热点”图标进入此视图,适合寻找灵感和批量生产。

1. 按领域获取热门话题

在页面顶部,点击具有玻璃质感样式的领域标签,快速获取该领域的热门话题:

  • 🤖 AI -人工智能前沿和大型模型
  • 💰 融资 -风险投资行业的最新融资新闻
  • 📄 论文 -学术界的最新研究成果
  • 🦾 机器人 -具身智能和自动化技术
2. 从网页链接提取

如果你有特定的文章链接:

  1. 在“或者粘贴网页链接以提取主题...”输入框中粘贴URL。
  2. 点击“提取”按钮,系统将智能分析网页内容并提取核心主题。
3. 批量生成与发布

获得主题卡片后:

  1. 选择主题点击感兴趣的课题卡片(卡片会被高亮标记并带有✓)。
  2. 全选功能点击列表上方的“✓ 全选”按钮,一次点击即可选择所有当前主题。
  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服务器配置(基于appFHIR 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"
    }
  }
}

🎯 内容生成过程

系统采用四步流程自动生成并发布内容:

第一步:信息检索

  • 使用Jina或Tavily搜索工具
  • 检索最近7-30天的相关信息
  • 收集5-8份高质量材料
  • 获得3-4张相关图片

第二步:撰写文章

  • 根据收集的数据撰写专业文章
  • 标题控制在20字以内
  • 正文800-1200字
  • 使用年轻活泼的语言风格
  • 适当添加表情符号增加趣味性

第三步:格式适配

  • 调整为小红书特定格式
  • 移除#标签并切换为自然语言
  • 提取5个精准的话题标签
  • 验证图片链接的有效性
  • 生成标准JSON格式

第四步:自动发布

  • 调用小红书的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 (模型上下文协议) -工具服务集成
  • OpenAI SDK -LLM API调用
  • aimtp -异步HTTP客户端

前端

  • 原生HTML/CSS/JavaScript -轻量级,无需构建
  • Element UI样式 -简洁美观的UI设计
  • 响应式布局 -支持桌面和移动设备

MCP工具服务

  • Jina MCP Tools -网络搜索和内容抓取
  • Tavily Remote -深度网络搜索
  • XHS MCP -小红书内容发布

📝 许可

本项目仅用于学习和研究目的。使用本项目时,请遵循以下规定:

  • OpenAI API使用条款
  • 小红书平台规则
  • 各MCP服务提供商的使用协议

🔗 相关链接

📧 支持与反馈

如有任何问题或建议,请随时:

  • 提交Issue
  • 发起Pull Request
  • 联系项目维护者

⚠️ 总结

本项目可以作为一个代理的学习案例,但不建议直接在生产环境中使用。

整个项目的逻辑是抽象出一个更通用的代理架构:

  • 可配置的MCP
  • 可选择不同的工具完成复杂任务
  • 代理的上下文检索与压缩
  • 多轮对话与记忆
  • ...

**欢迎点赞快乐创作!🎉**