XHS-Ops — Xiaohongshu Operations Toolkit
name: xhs-ops
by cmhoennexy · published 2026-03-22
$ claw add gh:cmhoennexy/cmhoennexy-chenxi-xhs-ops---
name: xhs-ops
description: >
Xiaohongshu (小红书) end-to-end operations skill: hot topic research, post writing
with built-in audit, automated commenting with rate limiting, and cover image
generation. Powered by xiaohongshu-mcp for native platform API access.
Use when: searching Xiaohongshu trends, writing posts, automating comments,
generating cover images, or any Xiaohongshu content workflow.
Triggers: "搜热点", "找选题", "写一篇", "出内容", "发评论", "做封面",
"xiaohongshu", "小红书", "XHS", "search hot topics", "write post",
"auto comment", "generate cover".
---
# XHS-Ops — Xiaohongshu Operations Toolkit
4 tools for Xiaohongshu content operations, all backed by [xiaohongshu-mcp](https://github.com/xpzouying/xiaohongshu-mcp).
Prerequisites
1. **xiaohongshu-mcp** binary running at `http://localhost:18060/mcp`
2. **Playwright Chromium** installed (for cover generation)
3. Run `bash scripts/setup.sh` for one-click dependency install
# Quick start
bash scripts/setup.sh
# Verify MCP is running
curl -s http://localhost:18060/mcpTools
🔥 search-hot — Find trending topics
python3 scripts/search_hot.py # Use default keywords from config
python3 scripts/search_hot.py "Claude Code" "AI写代码" # Custom keywordsReturns Top 10 posts sorted by likes: title, author, likes/collects/comments, source keyword.
Saves results to `/tmp/xhs-search-results.json` for other tools to consume.
📝 write-post — Generate post content
Agent workflow — not a standalone script. Use the prompt and audit functions:
from scripts.write_post import get_write_prompt, audit_post, format_audit_report
# 1. Generate writing prompt
prompt = get_write_prompt("3个AI Agent每晚自动开会", reference="optional context")
# 2. Send prompt to LLM, get back title + body + tags
# 3. Audit before publishing
result = audit_post(title="标题", body="正文", tags="#tag1 #tag2")
print(format_audit_report(result))Audit checks: sensitive words, title length (≤20), body length (≤500), trailing question, numeric specificity, tag count (5-8).
💬 comment — Automated commenting
python3 scripts/comment.py --dry-run --count 5 # Preview only
python3 scripts/comment.py --count 10 # Post commentsRequires search-hot results. Random interval 3-8 min between comments. Daily limit configurable.
For single comment via Agent:
from scripts.comment import post_single_comment
result = post_single_comment(feed_id, xsec_token, "评论内容")
# Returns {"status": "ok"} or {"status": "blocked", "reason": "敏感词: ..."}🎨 cover — Generate cover images
python3 scripts/cover.py "主标题" "副标题" -o ~/covers/output.pngUses hand-drawn notebook style template. Playwright screenshots at 2x scale → 1200×1600 PNG.
Replace `assets/cover_template.html` to change visual style.
Configuration
Edit `scripts/config.json`:
{
"keywords": ["Claude Code 实战", "AI写代码 程序员"],
"mcp_url": "http://localhost:18060/mcp",
"comment_interval_min": 180,
"comment_interval_max": 480,
"daily_comment_limit": 15
}Content Rules
See `references/content_rules.md` for:
Oral Script Template
See `references/koubo.md` for converting posts to video narration scripts.
MCP Session Notes
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...