Skip to content

libaze/xhsF1

Repository files navigation

F1 新闻小红书自动发布系统

Python Docker License

自动抓取 F1 新闻 → AI 生成小红书内容 → 智能审核 → 自动发布

核心特性

功能 说明
📰 多源新闻抓取 Formula1.com、The Race、RacingNews365、Verstappen.nl 等
🤖 AI 内容生成 阿里百炼 LLM 生成小红书风格内容,自动去除 AI 痕迹
🔍 智能审核 连贯性检查、冲突检测、负能量检测
🚀 自动发布 Docker 一键部署,定时调度,自动发布到小红书

系统架构

F1 新闻源 → 智能去重 → AI 内容生成 → 智能审核 → 自动发布
                                        ↓
                              ┌─────────────────┐
                              │ ├─ 连贯性检查   │
                              │ ├─ 冲突检测     │
                              │ └─ 负能量检测   │
                              └─────────────────┘

快速开始

Docker 部署(推荐)

# 1. 创建项目目录
mkdir -p ~/xhsf1 && cd ~/xhsf1
mkdir -p data/images data/posts

# 2. 创建配置文件
cat > .env << 'EOF'
DASHSCOPE_API_KEY=your-dashscope-api-key-here
INTERVAL_HOURS=6
MAX_POSTS=2
EOF

# 3. 创建 docker-compose.yml
cat > docker-compose.yml << 'EOF'
services:
  xhsf1:
    image: crpi-3xievw6h43qudib7.cn-qingdao.personal.cr.aliyuncs.com/supermax3366/xhsf1:latest
    container_name: xhsf1-app
    restart: unless-stopped
    depends_on:
      xhs-mcp:
        condition: service_started
    environment:
      - DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY}
      - XHS_MCP_URL=http://xhs-mcp:18060/mcp
      - INTERVAL_HOURS=${INTERVAL_HOURS:-6}
      - MAX_POSTS=${MAX_POSTS:-2}
    volumes:
      - ./data:/app/data

  xhs-mcp:
    image: crpi-3xievw6h43qudib7.cn-qingdao.personal.cr.aliyuncs.com/supermax3366/xiaohongshu-mcp:latest
    container_name: xhs-mcp
    restart: unless-stopped
    init: true
    tty: true
    volumes:
      - ./data:/app/data
    environment:
      - ROD_BROWSER_BIN=/usr/bin/google-chrome
      - COOKIES_PATH=/app/data/cookies.json
      - IMAGES_PATH=/app/data/images
    ports:
      - "18060:18060"
    command: >
      sh -c "mkdir -p /app/data/images && touch /app/data/cookies.json && chmod 666 /app/data/cookies.json && ./app"
EOF

# 4. 启动服务
sudo docker compose up -d

# 5. 扫码登录小红书
sudo docker logs -f xhsf1-app

# 6. 登录成功后重启
sudo docker compose restart xhsf1

本地开发

# 1. 安装依赖
git clone https://github.com/your-repo/xhsf1.git
cd xhsf1
uv sync

# 2. 启动小红书 MCP 服务
cd skills/xhsmander && docker compose up -d

# 3. 登录小红书
cd skills/xhsmander/scripts
uv run python3 xhs.py login --web

# 4. 运行
export DASHSCOPE_API_KEY=your-api-key
uv run python3 main.py --once           # 运行一次
uv run python3 main.py --interval 6     # 每6小时运行
uv run python3 main.py --once --dry-run # 测试模式(不发布)

命令行参数

参数 说明 默认值
--once 只运行一次 -
--interval 定时执行间隔(小时) 6
--dry-run 只生成不发布 -
--crawl-only 只爬取不发布 -
--no-review 禁用内容审核 -
--max-posts 每次最大发布数 2

环境变量

变量 说明 默认值
DASHSCOPE_API_KEY 阿里百炼 API Key -
XHS_MCP_URL 小红书 MCP 服务地址 http://localhost:18060/mcp
INTERVAL_HOURS 定时执行间隔(小时) 6
MAX_POSTS 每次最大发布数 2

智能审核

文案基于真实新闻生成,真实性有保障。审核专注于:

检查项 说明 阈值
连贯性 标题一致性、逻辑衔接、可读性 ≥ 0.7
冲突检测 事实冲突、观点冲突、信息过时、内容重复 high
负能量 仇恨言论、煽动性内容、人身攻击 high

审核不通过 → 直接丢弃,不发布

项目结构

xhsf1/
├── main.py              # 主入口
├── crawler/             # 爬虫模块
│   ├── sources/         # 各新闻源爬虫
│   └── aggregator.py    # 爬虫聚合器
├── workflow/            # 工作流模块
│   ├── orchestrator.py  # 工作流编排
│   ├── generator.py     # 内容生成器
│   ├── reviewer.py      # 内容审核器
│   └── publisher.py     # 发布器
├── skills/xhsmander/    # 小红书发布技能
└── data/                # 数据目录

小红书 CLI 工具

cd skills/xhsmander/scripts

uv run python3 xhs.py status                    # 服务状态
uv run python3 xhs.py login --web               # 登录
uv run python3 xhs.py logout                    # 退出登录
uv run python3 xhs.py publish "标题" "正文" -i 图片路径 -t 标签1 标签2
uv run python3 xhs.py search "关键词" --sort 最新

常见问题

Docker 服务无法启动

sudo service docker start

小红书登录失败

rm data/cookies.json
cd skills/xhsmander/scripts && uv run python3 xhs.py login --web

发布频率限制

减少 --max-posts 参数(默认 2),增加发布间隔时间

License

MIT

About

自动抓取 F1 新闻、生成小红书内容并发布的自动化系统。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages