每天手动搜 5 个关键词、看 40 篇笔记、写 7 条评论、点 10 次赞……这种重复劳动,交给 AI 就行了。
我在小红书上运营一个销售知识类的账号——讲谈单技巧、成交方法、销售心态。做过小红书运营的都知道,新号上来就发内容,大概率播放量不过百。
原因很简单:平台不认识你,不知道把你推荐给谁。
所以得先「养号」——让算法认识你:通过持续的搜索、浏览、互动,告诉小红书「这个号是搞销售培训的,别给他推穿搭美妆」。
问题是,手动养号一天至少 30-40 分钟,连续 3-7 天。对于同时跑几条业务线的人来说,这时间太奢侈了。
于是我决定用 WorkBuddy 把它全自动化。
整个自动化分三块:
┌──────────────┐ MCP 协议 ┌───────────┐
│ WorkBuddy │ ◄──────────────────► │ 小红书 MCP │
│ (每日定时) │ 搜索/浏览/评论/点赞 │ (本地服务) │
└──────┬───────┘ └───────────┘
│
│ HTTP POST
▼
┌──────────────┐
│ PushPlus │ → 微信消息推送
│ (每日通知) │ 开始/异常/完成
└──────────────┘127.0.0.1:18060),暴露搜索、浏览、点赞、评论等工具脚本每天执行三个模块:
① 精准关键词浏览 + 互动(核心)
python
复制
CORE_KEYWORDS = [
("销售技巧", 8, 2, 2), # 浏览8篇 评论2条 点赞2次
("谈单", 6, 2, 1),
("成交方法", 6, 1, 2),
("销售心态", 5, 1, 2),
("客户沟通", 5, 1, 2),
]每个关键词:搜 → 过滤掉无关内容 → 浏览 → 点赞收藏 → 评论。评论模板用真人风格,不写「学到了」「感谢分享」这种一眼 AI 的废话:
python
复制
COMMENT_TEMPLATES = [
"这个思路好,想问下{kw}这块你是怎么练出来的?",
"太真实了,{kw}确实是这样,踩过一模一样的坑",
"终于有人说{kw}了,之前看的都是纸上谈兵",
]② 探索流浏览(拓宽标签)
用宽泛关键词(职场干货 商业思维 赚钱思维)搜,只看不互动,告诉算法「我还对这些领域感兴趣」,拓宽推荐标签。
③ 主动避坑训练
故意搜 跨境 穿搭 美妆,但只看标题不点进去。让算法知道「这些不是我要的,别推」。
脚本跑一次 40 分钟,不可能盯着终端看。我用一个 xhs_progress.json 做心跳:
json
复制
{
"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 可以随时读取这个文件监控进度。
开始/异常/完成都推送到微信——但微信通知这块我踩了坑。
第一次跑脚本,MCP 连接始终失败。报错信息很模糊,翻 MCP 协议文档才发现:第一次请求必须不带 session_id,收到响应头里的 Mcp-Session-Id 后存下来,后续请求带上。
python
复制
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。这个小细节卡了我半小时。
脚本跑起来了,终端一个字都不输出。加了 -u 参数、设了 PYTHONUNBUFFERED=1,全都没用。
后来干脆放弃实时终端输出,全靠 xhs_progress.json 心跳文件追踪进度。WorkBuddy 读取这个文件就能知道当前执行到哪一步。这个设计意外成了整个系统的基石——没有心跳文件,后续的多天循环根本没法做。
v5 脚本设计了多天循环,每天自动执行。Day 1 完美跑完,所有任务标记 done: true。
Day 2 启动时,脚本全量跳过精准浏览,直接进探索流。
原因很简单:done 只设不重置。前一天完成了,第二天还是 true,is_task_done() 返回 true 就全跳了。修起来也简单,加一行:
python
复制
def reset_daily_tasks(self):
"""新一天开始时重置所有任务的 done 标志"""
for kw in self.data["tasks"]:
self.data["tasks"][kw]["done"] = False在 main() 里每天开始时调用。就这一行,省了我以后所有天的麻烦。但发现这个 bug 的时候已经浪费了整整一轮养号。
一开始用企业微信 Webhook 做通知,配置流程是:建群 → 添加机器人 → 获取 Webhook URL → 写到配置文件。
跑了半天群消息全是机器人发的,自己都不看。而且不是企业管理员还建不了群机器人。
换成 PushPlus:微信公众号扫码 → 获取 token → 填进配置文件。企业微信 URL 改一行 HTTP 请求就完事:
python
复制
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 条,用不完。
这个坑还没完全解决。脚本在搜索 销售技巧 谈单 这几个关键词时,偶尔返回空结果——但同一次运行的探索流搜索 个人成长 又能正常返回。
推测是小众关键词的索引问题或者短时频率限制。目前的方案是「检测到空结果时写 error 日志,下次重试」,但还没加自动重试逻辑。后面版本再补。
两天跑下来的数据:
模块 | Day 1 | Day 2 |
|---|---|---|
精准浏览 | 40 篇 | 40 篇(修复后) |
精准评论 | 7 条 | 7 条 |
点赞收藏 | 45 次 | 10 次 |
探索流浏览 | 14 篇 | 进行中 |
避坑避开 | 42 篇(海外直播+穿搭) | 进行中 |
每天 40 分钟的手工劳动 → 全自动。脚本跑的时候我该干嘛干嘛,手机收到完成通知回来验收就行。
预期效果:3 天养号期后,推荐流销售内容占比从原来的 0(旧号发过跨境/TikTok 内容)升至 70%+。然后开始发销售知识笔记,播放量才有机会破 100。
写到这,交代一下 WorkBuddy 到底帮了多少。600 行 Python,三个下午。主要省时间的点:
-u 和 PYTHONUNBUFFERED(都没用),然后说「别管终端了,写心跳文件吧」。这个决策是对的。但也得说,它不是万能的。搜索 API 偶尔返回空结果这个问题,它给的建议是「加自动重试」,但还没处理好——这周有空再说。#WorkBuddy#WorkBuddy
#WorkBuddy
#WorkBuddy
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。