做小红书运营的人都知道,小红书的反作弊机制是国内各大平台里最严的之一。
市面上绝大多数所谓的「小红书自动发帖工具」,走的都是Cookie 注入的路线——把登录后的 Cookie 抠出来,直接拿去调接口发帖。听起来可行,但现实是这条路基本走不通。
小红书的Cookie 体系极其复杂。真实登录之后,除了基础的身份 Cookie,还有大量动态生成的签名参数、设备指纹、行为 token,这些东西绑定了具体的设备环境和浏览器上下文。你把 Cookie 抠出来拿到别的地方用,小红书后端立刻就能识别出来——设备特征对不上,行为链路断了,轻则接口返回错误,重则直接触发风控封号。
网上流传的那些Cookie 导入教程,基本上现在都已经失效了。小红书在这块一直在升级,失效周期越来越短。
RedBookC是把整个浏览器环境原封不动地保留下来,完全模拟真人用浏览器操作。
![]()
这个项目做了什么
RedBookC 是一个小红书 AI 全自动运营 Agent,开源免费,核心逻辑:
-
每 10 分钟自动从 AI 科技媒体、GitHub Trending、Hacker News 抓取最新资讯
-
调用 Claude AI 生成符合小红书风格的短文案(正文不超过 20 字 + 话题标签)
-
用 Playwright 控制真实 Chrome 浏览器,打开小红书创作者后台,完整走一遍人工发帖的流程
-
全程无人值守,自动入队、自动发布、自动记录结果
开源地址:https://github.com/brettinhere/redbookc
怎么规避小红书的检测
这是这个项目最核心的部分,RedBookC用了7 种方法模拟真人行为。
第一,用真实浏览器,不碰任何接口
所有操作都在Chrome 浏览器里完成,走的是正常的 HTTPS 网页请求,和你自己坐在电脑前操作没有任何区别,小红书看到的是一个真实的浏览器在访问创作者后台。
第二,每个账号独立的Chrome Profile
每个小红书账号对应一个独立的Chrome Profile 目录,里面保存的是真实登录后的 Cookie、浏览器历史、本地存储等完整数据。对小红书来说,这就是同一个人一直在用同一台电脑登录,行为连续且正常。
第三,随机化发帖间隔,不走固定节奏
很多自动化工具被封的原因之一,是发帖间隔过于规律。比如每3 小时整点发一次,这种机械节奏一旦被统计模型识别,就会触发风控。
RedBookC 对每个账号设置最小间隔和最大间隔(默认 3~8 小时),每次发完帖之后随机取这个范围内的一个值作为下次发帖的时间。没有规律,和真人的不固定作息一致。
第四,严格控制发帖时间段
真人不会在凌晨3 点发小红书。RedBookC 只在 8:00 到 22:00 之间安排发帖,凌晨时段自动跳过。这个时间窗口可以在代码里自定义。
第五,每次操作之间加入随机延迟
从点击「上传图文」,到上传图片,到填写正文,到点击发布,每一步之间都有2~6 秒的随机等待时间。不会出现「0.1 秒内完成所有操作」这种机器行为。
第六,注入反自动化检测脚本
Playwright 默认会在 `navigator.webdriver` 属性上留下痕迹,很多网站用这个判断是否是自动化工具。我们在浏览器启动时注入了以下脚本:
```javascript
Object.defineProperty(navigator, 'webdriver', { get: () => undefined });
Object.defineProperty(navigator, 'plugins', { get: () => [1,2,3,4,5] });
window.chrome = { runtime: {} };
```
这样浏览器的特征和普通用户使用Chrome 是一致的。
第七,内容安全过滤,不发敏感内容
账号被封还有一个常见原因是内容本身触发了平台审查。RedBookC 在发布前会对 AI 生成的内容做关键词过滤,屏蔽投诉、骗局、维权、加密货币等高风险词汇,只发出经过安全检查的内容。
整体技术结构
项目分两个核心服务:
主服务(Codong + Go):处理用户登录、账号管理、发帖队列、信号引擎调度,监听 8084 端口。
发布服务(Node.js + Playwright):专门负责控制浏览器完成实际发帖,监听 8085 端口。主服务把发帖任务通过 HTTP 发给它,它拿到内容和图片路径,打开 Chrome,走完整个发帖流程,返回结果。
数据库用SQLite,轻量,不需要额外部署数据库服务。
前端是一个纯HTML+JS 的 Web Dashboard,手机和电脑都能用,包含控制台、账号管理、发帖队列、手动发帖、信号引擎配置等功能。
代码用Codong 语言写成。Codong 是一门 AI 原生编程语言,语法简洁,比传统python等其他语言节省60%以上的Token成本,编译为Go 运行,非常适合 AI 直接读懂和修改代码做二次开发。
怎么部署,服务器要求
- Linux 系统(Ubuntu 20.04 / CentOS 8+ 均可)
- 内存 2GB 以上(Chrome 比较吃内存)
- Node.js v16+
- Go 1.21+
- Codong(执行 `npm install -g codong` 安装)
- Claude API Key(在 console.anthropic.com 申请,用 claude-haiku 成本很低)
第一步:克隆项目
```bash
git clone https://github.com/brettinhere/redbookc
cd redbookc
```
第二步:配置环境变量
```bash
cp .env.example .env
```
编辑`.env`,填入以下内容:
```
DASHBOARD_PORT=8084
CLAUDE_API_KEY=sk-ant-api03-你的key
WEBHOOK_SECRET=随便填一个字符串
```
第三步:安装依赖
```bash
npm install
npx playwright install chromium
```
第四步:用VNC 在服务器上登录小红书
这是整个部署里最关键的一步,也是我们方案和其他工具最不一样的地方。
不能把Cookie 抠出来导入,必须直接在服务器上用真实浏览器登录。**
原因前面说了:小红书的登录态绑定了整个浏览器环境,Cookie 离开原始环境就失效。所以我们要做的是:在服务器上开一个带图形界面的 Chrome,用 VNC 远程连进去,亲手扫码登录,让 Profile 从一开始就生活在服务器本地,之后 Playwright 直接用这个 Profile 跑,环境从未改变。
安装VNC 和图形环境:
```bash
# Ubuntu
apt install -y xfce4 xfce4-goodies tightvncserver
# 启动 VNC(第一次会让你设置密码)
vncserver :1 -geometry 1280x800 -depth 24
```
**用 VNC 客户端连接服务器**(推荐 RealVNC Viewer 或 TigerVNC):
```
地址:你的服务器IP:5901
密码:你刚才设置的VNC密码
```
连进去之后,在图形界面里打开终端,启动Chrome:
```bash
mkdir -p /你的路径/redbookc/profiles/account1
google-chrome --user-data-dir=/你的路径/redbookc/profiles/account1 \
--no-sandbox \
https://creator.xiaohongshu.com
```
在VNC 窗口里完成小红书扫码登录,确认进入创作者后台之后,直接关掉 Chrome,退出 VNC。
登录信息、Cookie、设备指纹全部已经保存在 `profiles/account1/` 目录里了。
在Web 界面里添加账号(登录 Dashboard 后在「账号管理」里添加,填入 Profile 路径即可)。
第五步:编译启动
```bash
# 用 Codong 编译
systemctl stop redbookc 2>/dev/null
cd src
timeout 28 /usr/local/bin/codong run main.cod &
sleep 25 && kill %1
TMPDIR=$(ls -td /tmp/codong-run-* * head -1)
go build -o ../redbookc_src $TMPDIR/
cd ..
```
第六步:用systemd 管理两个服务
主服务`/etc/systemd/system/redbookc.service`:
```ini
[Unit]
Description=RedBookC Main Service
After=network.target
[Service]
Type=simple
WorkingDirectory=/你的路径/redbookc/src
ExecStart=/你的路径/redbookc/redbookc_src
Restart=always
EnvironmentFile=/你的路径/redbookc/src/.env
[Install]
WantedBy=multi-user.target
```
发布服务`/etc/systemd/system/redbookc-poster.service`:
```ini
[Unit]
Description=RedBookC Poster Service
After=network.target
[Service]
Type=simple
WorkingDirectory=/你的路径/redbookc
ExecStart=/usr/bin/node poster-server.js
Restart=always
[Install]
WantedBy=multi-user.target
```
```bash
systemctl daemon-reload
systemctl enable redbookc redbookc-poster
systemctl start redbookc redbookc-poster
```
跑起来之后怎么用
打开浏览器访问`http://你的服务器IP:8084`,注册账号登录进去。
第一步:进「账号管理」,确认你的小红书账号已经绑定,状态显示「已激活」。
第二步:进「信号引擎」,设置好每日发帖上限(建议2~3 篇)和发帖间隔(建议最小 3 小时,最大 8 小时),点击「启动」。
第三步:等1 分钟,引擎会生成第一条内容并加入队列,之后每 10 分钟生成一条,按设定的随机时间间隔自动发布。
第四步:在「发帖队列」里可以看到所有待发和已发的帖子,支持修改内容、更换图片、调整时间、手动删除。
第一条帖子发出去之后,去小红书创作者后台确认一下发布状态,整个链路就跑通了。
一些注意事项
- 每个账号每天发 2~5 篇是比较安全的范围,不要贪多
- Cookie 有有效期,大概 1~3 个月需要重新登录一次
- AI 生成的内容需要符合小红书社区规范,不要发违规内容
- 这个工具用于提高运营效率,不是用来批量刷数据的,请合理使用
开源,免费,欢迎共建
项目完全免费开源,MIT 协议,可以自由使用、修改、二次开发。
目前项目还有很多可以改进的地方,如果你有兴趣参与:
- 更多平台支持(抖音、微博)
- 更智能的内容生成(支持自定义主题)
- 账号登录态自动检测和提醒
- 更完善的数据统计看板
欢迎提Issue 和 PR。
GitHub:https://github.com/brettinhere/redbookc
如果觉得有用,点个Star,让更多人看到