HelloXiaohong 是一个基于 Node.js 和 Playwright 的小红书 (Xiaohongshu) 自动化发布系统。它提供了一套 RESTful API 和自动化脚本,帮助用户管理内容、通过调度器定时发布图文笔记,并支持多态发布流程。
- 自动化发布:使用 Playwright 模拟浏览器操作,自动完成图片上传、标题填写、正文输入、标签选择和发布。
- 任务调度:内置调度器,支持立即发布和定时发布。
- 账号管理:支持多账号管理(目前主要支持单活跃账号)。
- 内容管理:通过 API 创建和管理图文内容。
- 本地服务:提供 Express 服务器和 WebSocket 支持,方便监控和交互。
- 容错机制:包含重试逻辑、弹窗处理和简单的错误恢复。
- Runtime: Node.js (>=18.0.0)
- Browser Automation: Playwright (with
playwright-extra&puppeteer-extra-plugin-stealth) - Server: Express.js
- Database: SQLite (via
sql.js/ File-based) - Scheduler: node-cron
确保你的系统安装了 Node.js 18+。
git clone https://github.com/corlin/helloxiaohong.git
cd helloxiaohong
npm install项目使用 .env 文件进行配置(可选):
cp .env.example .env主要配置项在 src/config.js 中定义,包括端口、目录路径和发布限制等。
启动 API 服务器和调度器:
npm run dev服务启动后,API 默认运行在 http://localhost:3000。
项目中包含示例脚本,演示如何创建一个发布任务。
发布示例脚本 (scripts/publish_maori.js):
该脚本演示了完整的流程:
- 下载图片资源。
- API: 创建内容 (Content)。
- API: 创建发布计划 (Schedule)。
- API: 触发立即执行。
运行示例:
# 确保服务已启动 (npm run dev)
node scripts/publish_maori.js
# 确保服务已启动 (npm run dev)
node scripts/publish_maori.js本项目符合 Agentic Skill 标准,支持通过命令行直接调用。
node scripts/check_login_status.jsnode scripts/publish_content.js \
--title "笔记标题" \
--content "笔记正文内容" \
--images "path/to/img1.jpg,path/to/img2.jpg" \
--tags "标签1,标签2"helloxiaohong/
├── scripts/ # 自动化脚本和实用工具
│ ├── publish_maori.js # 示例:发布新西兰毛利岩雕
│ └── quick_publish_v2.js
├── src/
│ ├── api/ # REST API 路由
│ ├── automation/ # Playwright 自动化核心逻辑
│ ├── database/ # 数据库初始化和操作
│ ├── scheduler/ # 任务调度器
│ ├── server.js # Express 服务器入口
│ └── config.js # 项目配置
├── data/ # SQLite 数据库文件 (运行时生成)
├── uploads/ # 图片上传目录
├── logs/ # 运行日志和截图
└── public/ # 静态资源 (前端 Dashboard)
详细的 API 接口文档请参考 API.md。
主要模块包括:
- Accounts: 账号管理与登录
- Contents: 内容增删改查与媒体上传
- Schedules: 发布计划管理、立即执行与重试
- Logs: 系统日志与统计数据
欢迎提交 Issue 和 Pull Request!
ISC