🧪 Skills

XHS Publisher

Publish notes (posts) to Xiaohongshu (小红书) via the Creator Platform using browser automation (CDP). Use when user asks to post/publish/发布 content on Xiaohong...

v1.0.0
❤️ 0
⬇️ 123
👁 1
Share

Description


name: xiaohongshu-publisher description: Publish notes (posts) to Xiaohongshu (小红书) via the Creator Platform using browser automation (CDP). Use when user asks to post/publish/发布 content on Xiaohongshu/小红书, create notes with images, or manage their Xiaohongshu account.

Xiaohongshu Publisher

Automate publishing notes to Xiaohongshu (小红书) via the Creator Platform (creator.xiaohongshu.com) using browser CDP.

Prerequisites

  • Browser with CDP access (Chromium with --remote-debugging-port)
  • User must be already logged in to Xiaohongshu (manual QR scan login required — automation is blocked by anti-bot detection)
  • Chinese font installed (e.g., DroidSansFallbackFull.ttf) for cover image generation

Workflow

1. Verify Login Status

browser open → https://creator.xiaohongshu.com
browser snapshot → check if logged in (look for user avatar/name)

If not logged in, ask user to scan QR code manually. Phone number login is blocked by anti-automation detection.

2. Navigate to Publish Page

browser open → https://creator.xiaohongshu.com/publish/publish

Wait for the editor to load. Look for the upload area and editor elements.

3. Upload Cover Image

Upload image via CDP DOM.setFileInputFiles:

// Find the file input element
const fileInput = document.querySelector('input[type="file"]');
// Use CDP to set file
DOM.setFileInputFiles({ files: ['/path/to/image.jpg'], objectId: ... })

⚠️ Cover Image Text Rendering: On systems without full CJK fonts, Chinese text in generated images may show as squares (□). Solutions:

  • Use DroidSansFallbackFull.ttf for Chinese characters
  • Use a mixed font approach: CJK font for Chinese + DejaVu/system font for ASCII
  • Always verify the image before uploading

4. Input Title

Use CDP Input.insertText for reliable Chinese text input (avoids encoding issues):

// Click title input field first
// Then use CDP:
Input.insertText({ text: "你的标题" })

Title limit: 20 characters max.

5. Input Body Content

Target the ProseMirror editor:

// Selector: .tiptap.ProseMirror (contenteditable div)
// Click to focus, then use Input.insertText

Supports basic formatting. For hashtags, type #话题 and select from dropdown.

6. Publish

Click the publish button. Use coordinate-based click (Input.dispatchMouseEvent) if selector-based click fails:

Input.dispatchMouseEvent({ type: 'mousePressed', x: X, y: Y, button: 'left', clickCount: 1 })
Input.dispatchMouseEvent({ type: 'mouseReleased', x: X, y: Y, button: 'left', clickCount: 1 })

7. Verify Publication

After publishing, check for:

  • Success: redirect to content management page
  • Failure: error_code=300031 means content was taken down (usually image issues)

Key Technical Details

  • Tab switching: .creator-tab:not(.active) CSS selector for switching between image/video modes
  • Anti-automation: Xiaohongshu has aggressive bot detection. Avoid rapid automated actions. Add delays between steps.
  • Content moderation: Posts may be auto-reviewed and taken down. Check content management page for status.
  • Image requirements: Recommended ratio 3:4, minimum 960x1280px for best display

Troubleshooting

Problem Solution
Login blocked Use QR code scan (manual), not phone number
Chinese text shows □ in images Use DroidSansFallbackFull.ttf font
Post taken down (300031) Check cover image for rendering issues
Title input garbled Use Input.insertText CDP method
Publish button unresponsive Use coordinate-based mouse events
Cannot delete posts via API Use web UI manually; API returns 404

Reference: User Profile Access

To fetch user profile info:

browser open → https://www.xiaohongshu.com/user/profile/{userId}
browser snapshot → extract follower count, note count, etc.

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs