自动抓取 F1 新闻 → AI 生成小红书内容 → 智能审核 → 自动发布
| 功能 | 说明 |
|---|---|
| 📰 多源新闻抓取 | Formula1.com、The Race、RacingNews365、Verstappen.nl 等 |
| 🤖 AI 内容生成 | 阿里百炼 LLM 生成小红书风格内容,自动去除 AI 痕迹 |
| 🔍 智能审核 | 连贯性检查、冲突检测、负能量检测 |
| 🚀 自动发布 | Docker 一键部署,定时调度,自动发布到小红书 |
F1 新闻源 → 智能去重 → AI 内容生成 → 智能审核 → 自动发布
↓
┌─────────────────┐
│ ├─ 连贯性检查 │
│ ├─ 冲突检测 │
│ └─ 负能量检测 │
└─────────────────┘
# 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/ # 数据目录
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 最新sudo service docker startrm data/cookies.json
cd skills/xhsmander/scripts && uv run python3 xhs.py login --web减少 --max-posts 参数(默认 2),增加发布间隔时间
MIT