Skills Plugins MCP Prompt Model 博客 我的中心
Development #image #api #ai

kay-xhs

小红书全自动内容创作工作流 - 从爆款研究到草稿发布的完整 pipeline。 使用场景:(1) 研究小红书爆款笔记风格和趋势,(2) 生成 AI 图片/漫画/封面,(3) 自动发布到小红书草稿箱。 **依赖**: 需要安装 kay-image skill 并配置 KIE_API_KEY

DeepseekModel Curated skill Quality Excellent · 90 v1.0.0

Get

https://deepseekmodel.com/api/download.php?id=leoyeai-openclaw-master-skills-skills-kay-xhs-skill-md&format=skill
Download .skill Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name kay-xhs version 1.0.3 description 小红书全自动内容创作工作流 - 从爆款研究到草稿发布的完整 pipeline。 使用场景:(1) 研究小红书爆款笔记风格和趋势,(2) 生成 AI 图片/漫画/封面,(3) 自动发布到小红书草稿箱。 **依赖**: 需要安装 kay-image skill 并配置 KIE_API_KEY metadata {"openclaw":{"requires":{"skills":"[Truncated]","env":"[Truncated]"}}} Kay XHS - 小红书全自动创作工作流 一站式小红书内容创作解决方案,从爆款研究到草稿发布。 ⚠️ 必需依赖 1. 安装 kay-image Skill(AI 生图必备) 必须先安装,否则无法生成图片! # 安装 kay-image skill clawhub install kay-image # 配置 API Key cp skills/kay-image/.env.example skills/kay-image/.env # 编辑 .env 文件,填入从 https://kie.ai/ 获取的 API Key nano skills/kay-image/.env 获取 KIE API Key: 访问 https://kie.ai/ 注册并登录账号 进入控制台 → API 管理 创建 API Key 并复制 验证安装: # 测试生图功能 kay-image -p "测试图片,一只可爱的猫咪" -o test.png --ar 1:1 2. 浏览器准备(自动发布用) 确保 OpenClaw 浏览器已配置,用于小红书网页操作。 确认以上步骤完成后,再开始创作工作流! 核心能力 爆款研究 - 分析热门笔记风格、构图、文案套路 AI 生图 - 生成封面、漫画、配图(支持 KIE 和 Gemini 双引擎) 自动发布 - 保存到小红书草稿箱 完整工作流 Phase 1: 账号准备 工具: browser (openclaw profile) 1. 打开浏览器访问 https://creator.xiaohongshu.com 2. 检查登录状态(如未登录需短信验证) 3. 确认当前账号名称 关键检查点: 账号是否登录 账号名称是否正确 网络连接正常 Phase 2: 爆款研究 工具: browser 提取高点赞笔记的: -图片 -标题 -作者 -文案 -标签 方法 1: Performance API(⭐ 批量方法) 原理 : 点击首图预览模式后,从浏览器 Performance API 获取所有已加载的网络资源,不受 DOM 移除影响。 适用场景 : 需要采集完整图片列表,尤其是 10+ 张图片的笔记 前提条件 : ✅ 必须打开预览 modal (点击笔记封面图) ✅ 等待 2-3 秒让所有资源加载完成 ❌ 不需要切换图片(懒加载会移除旧 URL,但 Performance API 保留记录) 代码 : // 打开预览 modal 后,等待 2-3 秒,然后执行 function extractImagesFromPerformance ( ) { const entries = performance. getEntriesByType ( 'resource' ) . filter ( e => e. name . includes ( 'xhscdn.com' ) && (e. name . includes ( 'spectrum' ) || e. name . includes ( 'notes_pre_post' )) && !e. name . includes ( 'imageView2' ) // 排除缩略图 ); const urls = [... new Set (entries. map ( e => e. name ))]; return { total : urls. length , urls : urls. map ( ( url, i ) => ({ index : i+ 1 , url })) }; } // 执行 extractImagesFromPerformance (); 优势 : ✅ 不需要切换图片,打开预览等待即可 ✅ 获取所有历史加载记录,包括已移除的 DOM 元素 ✅ 速度最快,单篇笔记 < 3 秒 ✅ 可获取 20-30+ 张图片 URL(包含各种尺寸版本) 劣势 : ⚠️ 可能包含重复 URL(不同尺寸版本) ⚠️ 需要打开预览 modal 后等待 2-3 秒让资源加载 实际案例 : 笔记 8 (10 张图): 获取 27 个 URL → 筛选出 10 张正文图 采集时间:~3 秒 完整度:100% 方法 2: DOM 全量提取(⭐ 批量方法) 原理 : 打开预览模式后,提取页面所有 <img> 标签,包括头像、评论图等,然后过滤出正文图片。 适用场景 : Performance API 无效时,或需要快速获取少量图片 前提条件 : ✅ 必须打开预览 modal (点击笔记封面图) ✅ 等待页面完全加载 ⚠️ 懒加载图片可能未出现在 DOM 中(需要切换或等预加载) 代码 : // 打开预览 modal 后执行 function extractImagesFromDOM ( ) { const allImgs = document . querySelectorAll ( 'img' ); const urls = []; allImgs. forEach ( img => { if (img. src && img. src . includes ( 'xhscdn.com' ) && img. src . length > 50 ) { const cleanUrl = img. src . split ( '?' )[ 0 ]; // 移除查询参数 if (!urls. includes (cleanUrl)) { urls. push (cleanUrl); } } }); // 过滤出正文图片(排除头像、图标等) const contentImages = urls. filter ( url => url. includes ( 'spectrum' ) || url. includes ( 'notes_pre_post' ) ); return { total : contentImages. length , urls : contentImages. map ( ( url, i ) => ({ index : i+ 1 , url })) }; } // 执行 extractImagesFromDOM (); 优势 : ✅ 简单直接,不需要切换图片 ✅ 可获取 50+ 个图片资源(包含头像、评论图等) ✅ 过滤后得到完整正文图片列表 劣势 : ⚠️ 可能包含非正文图片(需要过滤) ⚠️ 懒加载图片可能未出现在 DOM 中(小红书会预加载部分图片) 实际案例 : 笔记 9 (5 张图): 获取 52 个 URL → 筛选出 5 张正文图 采集时间:~2 秒 完整度:100% 方法 3: 循环点击切换(保底方法) 原理 : 手动切换每张图片,强制触发懒加载,确保所有图片 URL 加载到 DOM。 适用场景 : 批量方法失效时,或需要确保 100% 完整度 完整操作步骤 : 1. 访问搜索页:https://www.xiaohongshu.com/search_result?keyword=关键词&type=51 2. 等待笔记列表加载完成 3. 点击目标笔记的【首图/封面图】(不是标题文字) - 这会打开预览 modal,显示笔记完整内容 - 无需进入详情页,避免反爬虫限制 4. 【关键步骤】循环切换所有图片: - 读取图片计数(如 1/13 = 共 13 张) - 点击"下一张"按钮 (右侧箭头) 12 次 - 每次切换后等待 1-2 秒让图片加载 - 确保所有图片都加载到 DOM 中 5. 提取数据: - 使用 JavaScript 提取所有图片 URL - 记录文案、标签、点赞/收藏/评论数 - 采集前 5 条评论 6. 点击 X 或外部区域关闭 preview modal 7. 返回搜索列表,继续下一篇笔记 ⚠️ 错误示范(会失败) : // ❌ 错误:打开 modal 后直接提取,只能拿到 1-3 张 click (firstImage); extractImages (); // 只返回 3 张! ✅ 正确示范(完整采集) : // ✅ 正确:循环切换后再提取 click (firstImage); // 打开 modal for ( let i = 0 ; i < totalImages - 1 ; i++) { click (nextButton); // 点击"下一张" await sleep ( 1500 ); // 等待加载 } // 现在所有图片 URL 都加载到 DOM 了 extractImages (); // 返回完整 13 张! 提取图片 URL 的完整代码 : // 在 preview modal 中执行 const extractNoteData = ( ) => { // 1. 提取所有图片 URL const images = document . querySelectorAll ( '.swiper-slide img, .note-detail img' ); const imageUrls = Array . from (images). map ( ( img, index ) => ({ index : index + 1 , url : img. src || img. getAttribute ( 'src' ) })). filter ( item => item. url ); // 2. 提取基础信息 const title = document . querySelector ( '[class*="title"]' )?. textContent ?. trim (); const author = document . querySelector ( '[class*="author"]' )?. textContent ?. trim (); const likes = document . querySelector ( '[class*="like"]' )?. textContent ?. trim (); // 3. 提取评论 const comments = []; const commentElements = document . querySelectorAll ( '[class*="comment"]' ); commentElements. forEach ( ( el, index ) => { if (index >= 5 ) return ; const userEl = el. querySelector ( 'a' ); const contentEl = el. querySelector ( 'p, [class*="content"]' ); if (userEl && contentEl) { comments. push ({ user : userEl. textContent ?. trim (), content : contentEl. textContent ?. trim () }); } }); return { totalImages : imageUrls. length , images : imageUrls, title, author, likes, comments }; }; // 执行提取 extractNoteData (); 循环切换图片的完整代码 : // 在 preview modal 中循环切换所有图片 const cycleThroughImages = async ( totalImages ) => { const nextButton = document . querySelector ( '.swiper-button-next, [class*="next"], [aria-label="下一张"]' ); for ( let i = 1 ; i < totalImages; i++) { if (nextButton) { nextButton. click (); await new Promise ( resolve => setTimeout (resolve, 1500 )); // 等待 1.5 秒 } } console . log ( `✅ 已切换 ${totalImages} 张图片,现在可以提取完整 URL 列表` ); }; // 使用示例: // cycleThroughImages(13).then(() => extractNoteData()); 实际采集案例 : 笔记:"我想拉屎" (2.5 万赞) 成功提取:13 张图片 URL 数据完整度:100% 图片 URL 格式: https://sns-webpic-qc.xhscdn.com/.../notes_pre_post/... 性能参考 : 打开搜索页:~2-3 秒 点击首图打开 modal: ~1-2 秒 浏览全部图片 (13 张): ~10-15 秒 提取数据:~1 秒 单篇笔记总时间:~15-20 秒 批量采集策略 : 对于 10 篇笔记的批量采集: 1. 搜索关键词,获取结果列表 2. 筛选点赞 1000+ 的笔记 3. 逐一点击首图进入 preview modal 4. 浏览所有图片并提取 URL 5. 关闭 modal,继续下一篇 6. 预计总时间:3-5 分钟 注意事项 : ✅ 点击的是【图片】不是【标题文字】 ✅ 必须循环切换所有图片 才能提取完整 URL 列表(懒加载!) ✅ Preview modal 中可以看到图片计数 (如 1/13) ✅ 建议间隔 2-3 秒再点击下一篇,模拟正常用户行为 ⚠️ 不要直接访问笔记详情页(会 404) 研究维度: 维度 分析内容 视觉风格 色彩、构图、人物/场景类型 文案结构 标题公式、正文套路、互动引导 话题标签 高频标签、组合策略 发布时间 最佳发布时段 Phase 3: 内容策划 基于爆款研究,确定: 内容类型 图文笔记 AI 漫画(四格/条漫) 教程分享 情感故事 风格定位 治愈系 搞笑/吐槽 知识科普 生活美学 图片规划 数量(1-4 张) 尺寸(3:4 竖版优先) 风格统一性 Phase 4: AI 生图 工具: kay-image (KIE API) 生图引擎 引擎 工具 配置要求 适用场景 KIE kay-image KIE_API_KEY 高质量 4K 输出,角色一致性 配置检查: # 确保已设置 KIE_API_KEY export KIE_API_KEY= "your-api-key" # 测试生图 kay-image -p "一只可爱的橘猫在草地上玩耍" -o test.png --ar 1:1 4.1 封面生成 kay-image \ --prompt "描述..." \ --output cover.jpg \ --ar 3:4 \ --resolution 2K 4.2 四格漫画生成(关键!) 必须一次生成,不要分格生成! kay-image \ --prompt "四格漫画,2x2 网格布局: 第一格(左上):...,画面下方文字'...' 第二格(右上):...,画面下方文字'...' 第三格(左下):...,画面下方文字'...' 第四格(右下):...,画面下方文字'...' 确保角色形象一致,色调从冷到暖渐变" \ --output comic_4panel.jpg \ --ar 3:4 \ --resolution 2K 4.3 图生图(风格迁移) kay-image \ --prompt "转换成...风格" \ --input /path/to/reference.jpg \ --output result.jpg 4.4 批量生图模式(推荐 ⭐) 场景 : 需要生成多张图片(如 4 张 2 格漫画) 优势 : ✅ 批量提交 : 一次性提交所有任务 ✅ 统一轮询 : 每 20 秒检查所有任务状态 ✅ 并行下载 : 所有完成后同时下载 ✅ 效率提升 : 4 张图从 8 分钟 → 3 分钟 使用方法 : # 1. 创建批量任务配置文件 cat > comic-tasks.json << 'EOF' [ { "prompt" : "唯美治愈系手绘,2格漫画第一格:女孩独自思考..." , "output" : "comic-01.png" , "ar" : "3:4" , "resolution" : "2K" }, { "prompt" : "唯美治愈系手绘,2格漫画第二格:女孩自我怀疑..." , "output" : "comic-02.png" , "ar" : "3:4" , "resolution" : "2K" }, { "prompt" : "唯美治愈系手绘,2格漫画第三格:两人对话领悟..." , "output" : "comic-03.png" , "ar" : "3:4" ,
Keywords that activate this skill. Click one to copy it.

This skill does not provide trigger words.

The downloaded .skill package contains the following fields.
Field Description
formatFormat tag (skill/v1)
skill_idUnique skill ID
nameSkill name
versionVersion
descriptionDescription
categoryCategories (array)
trigger_wordsTrigger words
tagsTags
sourceSource
source_urlSource URL (this page)
exported_atExported at (set per download)
system_promptSystem prompt body
model_configModel config: provider / model / temperature / max_tokens / top_p
examplesExamples
install_guideImport guide for Coze / Dify / Claude / custom frameworks
The same skill can be exported in different platform formats.
.skill Standard format with system_prompt and model_config, ready for any agent framework Download
.skillpro Enhanced format with scripts, tools, dependencies and hooks Download
.json Plain JSON export with system_prompt and model parameters only Download
Coze Markdown with frontmatter, for Coze platform import Download
Dify Dify DSL, import directly after creating an app Download

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。