首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >我用 WorkBuddy 把小红书养号全自动化了,踩了 5 个坑之后终于跑通了

我用 WorkBuddy 把小红书养号全自动化了,踩了 5 个坑之后终于跑通了

原创
作者头像
用户12516915
发布2026-05-27 10:12:14
发布2026-05-27 10:12:14
1.8K1
举报

每天手动搜 5 个关键词、看 40 篇笔记、写 7 条评论、点 10 次赞……这种重复劳动,交给 AI 就行了。

背景

我在小红书上运营一个销售知识类的账号——讲谈单技巧、成交方法、销售心态。做过小红书运营的都知道,新号上来就发内容,大概率播放量不过百。

原因很简单:平台不认识你,不知道把你推荐给谁。

所以得先「养号」——让算法认识你:通过持续的搜索、浏览、互动,告诉小红书「这个号是搞销售培训的,别给他推穿搭美妆」。

问题是,手动养号一天至少 30-40 分钟,连续 3-7 天。对于同时跑几条业务线的人来说,这时间太奢侈了。

于是我决定用 WorkBuddy 把它全自动化。


方案架构

整个自动化分三块:

代码语言:javascript
复制
┌──────────────┐       MCP 协议        ┌───────────┐
│  WorkBuddy   │ ◄──────────────────► │ 小红书 MCP  │
│  (每日定时)   │   搜索/浏览/评论/点赞    │  (本地服务) │
└──────┬───────┘                       └───────────┘
       │
       │ HTTP POST
       ▼
┌──────────────┐
│  PushPlus    │  → 微信消息推送
│  (每日通知)   │    开始/异常/完成
└──────────────┘
  • WorkBuddy 负责定时触发 Python 脚本
  • 小红书 MCP 是本地 HTTP 服务(127.0.0.1:18060),暴露搜索、浏览、点赞、评论等工具
  • PushPlus 做微信通知,养号开始和结束都推送到手机上

核心实现

养号三件套

脚本每天执行三个模块:

① 精准关键词浏览 + 互动(核心)

python

复制

代码语言:javascript
复制
CORE_KEYWORDS = [
    ("销售技巧", 8, 2, 2),   # 浏览8篇 评论2条 点赞2次
    ("谈单", 6, 2, 1),
    ("成交方法", 6, 1, 2),
    ("销售心态", 5, 1, 2),
    ("客户沟通", 5, 1, 2),
]

每个关键词:搜 → 过滤掉无关内容 → 浏览 → 点赞收藏 → 评论。评论模板用真人风格,不写「学到了」「感谢分享」这种一眼 AI 的废话:

python

复制

代码语言:javascript
复制
COMMENT_TEMPLATES = [
    "这个思路好,想问下{kw}这块你是怎么练出来的?",
    "太真实了,{kw}确实是这样,踩过一模一样的坑",
    "终于有人说{kw}了,之前看的都是纸上谈兵",
]

② 探索流浏览(拓宽标签)

用宽泛关键词(职场干货 商业思维 赚钱思维)搜,只看不互动,告诉算法「我还对这些领域感兴趣」,拓宽推荐标签。

③ 主动避坑训练

故意搜 跨境 穿搭 美妆,但只看标题不点进去。让算法知道「这些不是我要的,别推」。

进度心跳文件

脚本跑一次 40 分钟,不可能盯着终端看。我用一个 xhs_progress.json 做心跳:

json

复制

代码语言:javascript
复制
{
  "last_heart": "2026-05-27 09:32:05",
  "status": "running",
  "current_kw": "销售技巧",
  "current_step": "搜索中",
  "tasks": {
    "销售技巧": {"done": false, "browse": 8, "comment": 2, "like": 2}
  }
}

Progress 类每次操作后写一次心跳,WorkBuddy 可以随时读取这个文件监控进度。

微信通知

开始/异常/完成都推送到微信——但微信通知这块我踩了坑。


踩坑实录(这才是重点)

坑 1:MCP Session 初始化

第一次跑脚本,MCP 连接始终失败。报错信息很模糊,翻 MCP 协议文档才发现:第一次请求必须不带 session_id,收到响应头里的 Mcp-Session-Id 后存下来,后续请求带上。

python

复制

代码语言:javascript
复制
def init(self):
    result = self._call("initialize", {
        "protocolVersion": "2025-03-26",
        "capabilities": {},
        "clientInfo": {"name": "WorkBuddy", "version": "5.0.0"}
    }, retry=False)
    return bool(self.session_id)

初始化的时候 retry=False,因为第一次一定是新 session。后续请求自动带上 Mcp-Session-Id header。这个小细节卡了我半小时。

坑 2:Windows stdout 严重缓冲

脚本跑起来了,终端一个字都不输出。加了 -u 参数、设了 PYTHONUNBUFFERED=1全都没用

后来干脆放弃实时终端输出,全靠 xhs_progress.json 心跳文件追踪进度。WorkBuddy 读取这个文件就能知道当前执行到哪一步。这个设计意外成了整个系统的基石——没有心跳文件,后续的多天循环根本没法做。

坑 3:每日 done 标志不重置(最傻的 bug)

v5 脚本设计了多天循环,每天自动执行。Day 1 完美跑完,所有任务标记 done: true

Day 2 启动时,脚本全量跳过精准浏览,直接进探索流。

原因很简单:done 只设不重置。前一天完成了,第二天还是 true,is_task_done() 返回 true 就全跳了。修起来也简单,加一行:

python

复制

代码语言:javascript
复制
def reset_daily_tasks(self):
    """新一天开始时重置所有任务的 done 标志"""
    for kw in self.data["tasks"]:
        self.data["tasks"][kw]["done"] = False

main() 里每天开始时调用。就这一行,省了我以后所有天的麻烦。但发现这个 bug 的时候已经浪费了整整一轮养号。

坑 4:企业微信 → PushPlus

一开始用企业微信 Webhook 做通知,配置流程是:建群 → 添加机器人 → 获取 Webhook URL → 写到配置文件。

跑了半天群消息全是机器人发的,自己都不看。而且不是企业管理员还建不了群机器人。

换成 PushPlus:微信公众号扫码 → 获取 token → 填进配置文件。企业微信 URL 改一行 HTTP 请求就完事:

python

复制

代码语言:javascript
复制
payload = json.dumps({
    "token": self.token,
    "title": "🟢 小红书养号启动",
    "content": "Day 2/3,预计 40 分钟",
}).encode()

req = urllib.request.Request("http://www.pushplus.plus/send",
    data=payload, headers={"Content-Type": "application/json"})

免费额度每天 200 条,养号通知一天才 2-3 条,用不完。

坑 5:搜索 API 间歇性空结果

这个坑还没完全解决。脚本在搜索 销售技巧 谈单 这几个关键词时,偶尔返回空结果——但同一次运行的探索流搜索 个人成长 又能正常返回。

推测是小众关键词的索引问题或者短时频率限制。目前的方案是「检测到空结果时写 error 日志,下次重试」,但还没加自动重试逻辑。后面版本再补。


效果

两天跑下来的数据:

模块

Day 1

Day 2

精准浏览

40 篇

40 篇(修复后)

精准评论

7 条

7 条

点赞收藏

45 次

10 次

探索流浏览

14 篇

进行中

避坑避开

42 篇(海外直播+穿搭)

进行中

每天 40 分钟的手工劳动 → 全自动。脚本跑的时候我该干嘛干嘛,手机收到完成通知回来验收就行。

预期效果:3 天养号期后,推荐流销售内容占比从原来的 0(旧号发过跨境/TikTok 内容)升至 70%+。然后开始发销售知识笔记,播放量才有机会破 100。


写到这,交代一下 WorkBuddy 到底帮了多少。600 行 Python,三个下午。主要省时间的点:

  • MCP 协议那块,初始化 session 的规范写法它直接从文档里翻出来的,我自己看要半天。
  • Windows stdout 不输出的问题,它是先试了 -uPYTHONUNBUFFERED(都没用),然后说「别管终端了,写心跳文件吧」。这个决策是对的。
  • done 标志那个 bug,复盘日志的时候它自己发现的。要我看日志排查,可能跑完三天养号都不一定注意到问题。

但也得说,它不是万能的。搜索 API 偶尔返回空结果这个问题,它给的建议是「加自动重试」,但还没处理好——这周有空再说。#WorkBuddy#WorkBuddy

#WorkBuddy

#WorkBuddy

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 背景
  • 方案架构
  • 核心实现
    • 养号三件套
    • 进度心跳文件
    • 微信通知
  • 踩坑实录(这才是重点)
    • 坑 1:MCP Session 初始化
    • 坑 2:Windows stdout 严重缓冲
    • 坑 3:每日 done 标志不重置(最傻的 bug)
    • 坑 4:企业微信 → PushPlus
    • 坑 5:搜索 API 间歇性空结果
  • 效果
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档