← 返回列表
未验证
面向 DeepSeek Harness 的小红书自动化 Agent…
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/19 · 已提供中文文档
面向 DeepSeek Harness 的小红书自动化 Agent Skill,支持登录检查、内容检索、图文与视频发布、评论互动和数据抓取。
综合分
27.8
GitHub 分
27.8
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add kingselyjoe/xiaohongshu-skills-dsh该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/17(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
XiaohongshuSkills · DeepSeek Harness 小红书自动化 Checks License: MIT DSH 自动发布内容到小红书(Xiaohongshu/RED)的命令行工具,也支持仅启动测试浏览器(不发布)。 通过 Chrome DevTools Protocol (CDP) 实现自动化发布,支持图文发布、视频发布、多账号管理、无头模式运行、自动搜索素材与内容数据抓取等功能。 风险提示(重要) 使用本项目进行小红书自动化,存在被平台风控、限流、封号或封禁账号的风险。 建议仅先在测试号上验证,控制发布频率和流量规模,并对最终发布内容进行人工复核。使用者需自行评估并承担由此带来的账号、内容、流量及其他相关风险。 功能特性 - 自动化发布:自动填写标题、正文,支持上传图片或视频 - 创作者中心兼容修复:适配 2026 年 2-3 月发布页 DOM 变动(发布按钮、定时开关、日期输入、多图上传等待、正文编辑器) - 话题标签自动写入:识别正文最后一行 #标签,然后逐渐写入 - 多账号支持:支持管理多个小红书账号,各账号 Cookie 隔离 - 无头模式:支持后台运行,无需显示浏览器窗口 - 远程 CDP 支持:可通过 --host / --port 连接远程 Chrome 调试端口 - 图片下载:支持从 URL 自动下载图片,自动添加 Referer 绕过防盗链 - 登录检测:自动检测登录状态,未登录时自动切换到有窗口模式扫码 - 登录二维码导出:支持返回登录二维码 Base64 图片,便于远程前端展示扫码 - 登录状态缓存:check_login/check_home_login 默认本地缓存 12 小时,减少重复跳转校验 - 首页推荐流抓取:支持抓取首页推荐 feed 列表 - 内容检索与详情读取:支持搜索笔记并获取指定笔记详情(含评论数据),详情可选滚动加载更多评论/回复 - 笔记评论:支持按 feed_id + xsec_token 对指定笔记发表一级评论 - 评论回复:支持按评论定位条件(评论 ID / 作者 / 文本片段)回复指定评论 - 互动动作控制:支持对指定笔记执行点赞/取消点赞、收藏/取消收藏 - 用户页信息提取:支持抓取用户主页快照与主页笔记列表 - 通知评论抓取:支持在 /notification 页面抓取 you/mentions 接口返回 - 内容数据看板抓取:支持抓取“笔记基础信息”表(曝光/观看/点赞等)并导出 CSV 安装 DeepSeek Harness(推荐) Windows PowerShell: git clone https://github.com/kingselyjoe/xiaohongshu-skills-dsh.git cd xiaohongshu-skills-dsh .\install-dsh.ps1 macOS / Linux: git clone https://github.com/kingselyjoe/xiaohongshu-skills-dsh.git cd xiaohongshu-skills-dsh bash install-dsh.sh 安装完成后运行 python scripts/dsh_manager.py doctor。完整说明见 DeepSeek Harness 使用指南。 环境要求 - Python 3.10+ - Google Chrome 浏览器 - Windows 操作系统(目前仅测试 Windows) 安装依赖 pip install -r requirements.txt 快速开始 1. 首次登录 python scripts/cdp_publish.py login 在弹出的 Chrome 窗口中扫码登录小红书。 说明:当前发布链路已按 2026 年 2-3 月的小红书创作者中心改版调整过选择器与等待策略;如果后续再次改版,优先检查 scripts/cdp_publish.py 中的 SELECTORS、多图上传等待和发布按钮点击逻辑。 2. 启动/测试浏览器(不发布) 启动测试浏览器(有窗口,推荐) python scripts/chrome_launcher.py 无头启动测试浏览器 python scripts/chrome_launcher.py --headless 检查当前登录状态 python scripts/cdp_publish.py check-login 获取登录二维码(返回 Base64,可供远程前端直接展示) python scripts/cdp_publish.py get-login-qrcode 可选:优先复用已有标签页(减少有窗口模式下切到前台) python scripts/cdp_publish.py check-login --reuse-existing-tab 连接远程 CDP(Chrome 在另一台机器) python scripts/cdp_publish.py --host 10.0.0.12 --port 9222 check-login 重启测试浏览器 python scripts/chrome_launcher.py --restart 关闭测试浏览器 python scripts/chrome_launcher.py --kill 3. 发布内容 无头模式(推荐,默认自动发布) python scripts/publish_pipeline.py --headless \ --title "文章标题" \ --content "文章正文" \ --image-urls "https://example.com/image.jpg" 有窗口预览模式(仅填充,不自动点发布) python scripts/publish_pipeline.py \ --preview \ --title "文章标题" \ --content "文章正文" \ --image-urls "https://example.com/image.jpg" 可选:优先复用已有标签页(减少有窗口模式下切到前台) python scripts/publish_pipeline.py --reuse-existing-tab \ --title "文章标题" \ --content "文章正文" \ --image-urls "https://example.com/image.jpg" 连接远程 CDP 并发布(远程 Chrome 需已开启调试端口) python scripts/publish_pipeline.py --host 10.0.0.12 --port 9222 \ --title "文章标题" \ --content "文章正文" \ --image-urls "https://example.com/image.jpg" 从文件读取内容 python scripts/publish_pipeline.py --headless \ --title-file title.txt \ --content-file content.txt \ --image-urls "https://example.com/image.jpg" 正文最后一行可放话题标签(最多 10 个) 例如 content.txt 最后一行: #春招 #26届 #校招 #求职 #找工作 使用本地图片 python scripts/publish_pipeline.py --headless \ --title "文章标题" \ --content "文章正文" \ --images "C:\path\to\image.jpg" 使用本地视频 python scripts/publish_pipeline.py --headless \ --title "视频标题" \ --content "视频正文" \ --video "C:\path\to\video.mp4" 使用视频 URL python scripts/publish_pipeline.py --headless \ --title "视频标题" \ --content "视频正文" \ --video-url "https://example.com/video.mp4" WSL/远程 CDP + Windows/UNC 路径可跳过本地文件预校验 python scripts/publish_pipeline.py --headless \ --title "文章标题" \ --content "文章正文" \ --images "\\wsl.localhost\Ubuntu\home\user\image.jpg" \ --skip-file-check 4. 多账号管理 列出所有账号 python scripts/cdp_publish.py list-accounts 添加新账号 python scripts/cdp_publish.py add-account myaccount --alias "我的账号" 登录指定账号 python scripts/cdp_publish.py --account myaccount login 使用指定账号发布 python scripts/publish_pipeline.py --account myaccount --headless \ --title "标题" --content "正文" --image-urls "URL" 设置默认账号 python scripts/cdp_publish.py set-default-account myaccount 切换账号(清除当前登录,重新扫码) python scripts/cdp_publish.py switch-account 5. 搜索内容、查看笔记详情与互动操作 首页推荐列表 python scripts/cdp_publish.py list-feeds 搜索笔记(可选筛选) python scripts/cdp_publish.py search-feeds --keyword "春招" python scripts/cdp_publish.py search-feeds --keyword "春招" --sort-by 最新 --note-type 图文 获取笔记详情(feed_id 与 xsec_token 可从搜索结果中获取) python scripts/cdp_publish.py get-feed-detail \ --feed-id 67abc1234def567890123456 \ --xsec-token YOUR_XSEC_TOKEN 可选:滚动加载更多一级评论,并尝试展开二级回复 python scripts/cdp_publish.py get-feed-detail \ --feed-id 67abc1234def567890123456 \ --xsec-token YOUR_XSEC_TOKEN \ --load-all-comments \ --limit 20 \ --click-more-replies \ --reply-limit 10 \ --scroll-speed normal 给笔记发表评论(一级评论) python scripts/cdp_publish.py post-comment-to-feed \ --feed-id 67abc1234def567890123456 \ --xsec-token YOUR_XSEC_TOKEN \ --content "写得很实用,感谢分享!" 回复指定评论(可按评论ID / 作者 / 文本片段定位) python scripts/cdp_publish.py respond-comment \ --feed-id 67abc1234def567890123456 \ --xsec-token YOUR_XSEC_TOKEN \ --comment-id COMMENT_ID \ --content "感谢你的反馈~" 点赞 / 取消点赞 python scripts/cdp_publish.py note-upvote --feed-id 67abc1234def567890123456 --xsec-token YOUR_XSEC_TOKEN python scripts/cdp_publish.py note-unvote --feed-id 67abc1234def567890123456 --xsec-token YOUR_XSEC_TOKEN 收藏 / 取消收藏 python scripts/cdp_publish.py note-bookmark --feed-id 67abc1234def567890123456 --xsec-token YOUR_XSEC_TOKEN python scripts/cdp_publish.py note-unbookmark --feed-id 67abc1234def567890123456 --xsec-token YOUR_XSEC_TOKEN 用户主页快照 / 用户主页笔记列表 python scripts/cdp_publish.py profile-snapshot --user-id USER_ID python scripts/cdp_publish.py notes-from-profile --user-id USER_ID --limit 20 --max-scrolls 3 抓取“评论和@”通知接口(you/mentions) python scripts/cdp_publish.py get-notification-mentions 说明:list-feeds 返回首页推荐 feed 列表;search-feeds 会先在搜索框输入关键词,抓取下拉推荐词(recommended_keywords),再回车拉取 feed 列表。 说明:search-feeds 当前返回的是页面上可提取到的结果集合;如果调用方只需要前 N 条,可以自行截断结果。当前没有单独的 --limit 参数用于控制搜索结果条数。 说明:get-feed-detail --load-all-comments 会在详情页滚动评论区,并可选点击“更多回复”后再提取 window.__INITIAL_STATE__。 6. 获取内容数据表(content_data) 抓取“笔记基础信息”数据表 python scripts/cdp_publish.py content-data 下划线别名 python scripts/cdp_publish.py content_data 导出 CSV python scripts/cdp_publish.py content-data --csv-file "/abs/path/content_data.csv" 命令参考 话题标签(publish_pipeline.py) - 从正文中提取规则:若“最后一个非空行”全部由 #标签 组成,则提取为话题标签并从正文移除。 - 标签输入策略:逐个输入 #标签,等待 3 秒,再发送 Enter 进行确认。 - 建议数量:1-10 个标签;超过平台限制时请手动精简。 - 示例(正文最后一行):#春招 #26届 #校招 #春招规划 #面试 publish_pipeline.py 统一发布入口,一条命令完成全部流程。 python scripts/publish_pipeline.py [选项] 选项: --title TEXT 文章标题 --title-file FILE 从文件读取标题 --content TEXT 文章正文 --content-file FILE 从文件读取正文 --image-urls URL... 图片 URL 列表 --images FILE... 本地图片文件列表 --video FILE 本地视频文件 --video-url URL 视频 URL(先下载再上传) --skip-file-check 跳过本地媒体文件存在性检查(WSL/远程 CDP/UNC 路径可用) --preserve-upload-paths 强制保留原始上传路径,不将反斜杠转换为正斜杠 --host HOST CDP 主机地址(默认 127.0.0.1) --port PORT CDP 端口(默认 9222) --headless 无头模式(无浏览器窗口) --reuse-existing-tab 优先复用已有标签页(默认关闭) --account NAME 指定账号 --auto-publish 兼容参数:默认已自动发布(可省略) --preview 预览模式:仅填充内容,不点击发布 说明:启用 --reuse-existing-tab 后,发布流程仍会自动导航到发布页,因此会刷新到目标页面再继续执行。 说明:当 --host 非 127.0.0.1/localhost 时为远程模式,会跳过本地 chrome_launcher.py 的自动启动/重启逻辑,请确保远程 CDP 地址可达。 说明:当控制端运行在 WSL、但媒体路径使用 Windows/UNC(如 \\wsl.localhost\...)时,可加 --skip-file-check 跳过 Linux 侧 isfile 预校验。 说明:脚本现在会自动识别 C:\...、\\wsl.localhost\... 等 Windows/UNC 路径,并在传给 DOM.setFileInputFiles 时保留原始形态。 说明:若仍想强制关闭路径改写,可显式加 --preserve-upload-paths。 说明:publish_pipeline.py 默认会自动点击发布;如需人工确认,请显式加 --preview。 cdp_publish.py 底层发布控制,支持分步操作。 检查登录状态 python scripts/cdp_publish.py check-login python scripts/cdp_publish.py check-login --reuse-existing-tab python scripts/cdp_publish.py --host 10.0.0.12 --port 9222 check-login 填写表单(不发布) python scripts/cdp_publish.py fill --title "标题" --content "正文" --images img.jpg python scripts/cdp_publish.py fill --title "标题" --content "正文" --images img.jpg --reuse-existing-tab python scripts/cdp_publish.py --host 10.0.0.12 --port 9222 fill --title "标题" --content "正文" --images img.jpg 点击发布按钮 python scripts/cdp_publish.py click-publish 获取登录二维码(支持下划线别名:get_login_qrcode) python scripts/cdp_publish.py get-login-qrcode 首页推荐列表(支持下划线别名:list_feeds) python scripts/cdp_publish.py list-feeds 搜索笔记(支持下划线别名:search_feeds) python scripts/cdp_publish.py search-feeds --keyword "春招" python scripts/cdp_publish.py search-feeds --keyword "春招" --sort-by 最新 --note-type 图文 获取笔记详情(支持下划线别名:get_feed_detail) python scripts/cdp_publish.py get-feed-detail --feed-id FEED_ID --xsec-token XSEC_TOKEN python scripts/cdp_publish.py get-feed-detail --feed-id FEED_ID --xsec-token XSEC_TOKEN --load-all-comments --limit 20 --click-more-replies --reply-limit 10 --scroll-speed normal 发表评论(支持下划线别名:post_comment_to_feed) python scripts/cdp_publish.py post-comment-to-feed --feed-id FEED_ID --xsec-token XSEC_TOKEN --content "评论内容" 回复评论(支持下划线别名:respond_comment) python scripts/cdp_publish.py respond-comment --feed-id FEED_ID --xsec-token XSEC_TOKEN --content "回复内容" [--comment-id COMMENT_ID] 点赞/取消点赞(支持下划线别名:note_upvote / note_unvote) python scripts/cdp_publish.py note-upvote --feed-id FEED_ID --xsec-token XSEC_TOKEN python scripts/cdp_publish.py note-unvote --feed-id FEED_ID --xsec-token XSEC_TOKEN 收藏/取消收藏(支持下划线别名:note_bookmark / note_unbookmark) python scripts/cdp_publish.py note-bookmark --feed-id FEED_ID --xsec-token XSEC_TOKEN python scripts/cdp_publish.py note-unbookmark --feed-id FEED_ID --xsec-token XSEC_TOKEN 用户主页快照/主页笔记(支持下划线别名:profile_snapshot / notes_from_profile) python scripts/cdp_publish.py profile-snapshot --profile-url "https://www.xiaohongshu.com/user/profile/USER_ID" python scripts/cdp_publish.py notes-from-profile --user-id USER_ID --limit 20 --max-scrolls 3 抓取通知评论接口(支持下划线别名:get_notification_mentions) python scripts/cdp_publish.py get-notification-mentions 获取内容数据表(支持下划线别名:content_data) python scripts/cdp_publish.py content-data python scripts/cdp_publish.py content-data --csv-file "/abs/path/content_data.csv" 账号管理 python scripts/cdp_publish.py login python scripts/cdp_publish.py list-accounts python scripts/cdp_publish.py add-account NAME [--alias ALIAS] python scripts/cdp_publish.py remove-account NAME [--delete-profile] python scripts/cdp_publish.py set-default-account NAME python scripts/cdp_publish.py switch-account 说明:list-feeds、search-feeds、get-feed-detail、post-comment-to-feed、respond-comment、note-upvote、note-unvote、note-bookmark、note-unbookmark、profile-snapshot、notes-from-profile 与 get-notification-mentions 会校验 xiaohongshu.com 主页登录态(非创作者中心登录态)。 说明:登录态检查默认启用本地缓存(12 小时,仅缓存“已登录”结果),到期后自动重新走网页校验。 说明:get-login-qrcode 返回 qrcode_base64 / qrcode_data_url,便于远程前端直接展示扫码。 说明:search-feeds 输出新增 recommended_keywords_count 与 recommended_keywords 字段,表示输入关键词后回车前的下拉推荐词。 说明:search-feeds 返回当前页面可提取到的结果,不提供单独的 --limit 条数控制;若只需前 N 条,请在调用方截断返回列表。 说明:get-feed-detail --load-all-comments 额外返回 comment_loading,用于说明评论滚动加载结果。 说明:content-data 会校验创作者中心登录态,并抓取 statistics/data-analysis 页面中的笔记基础信息表。 chrome_launcher.py Chrome 浏览器管理。 bash 启动 Chrome python scripts/chrome_launcher.py python scripts/chrome_launcher.py --headless 重启 Chrome python scripts/chrome_launcher.py --restart 关闭 Chrome python scripts/chrome_launcher.py --kill Agent Skills 支持 本项目原生支持 DeepSeek Harness 的 $DSH_HOME/skills,同时保留对通用 Agent Skills 目录结构的兼容性。 详见 docs/agent-skills-compatibility.md 注意事项 1. 仅供学习研究:请遵守小红书平台规则,不要用于违规内容发布 2. 登录安全:Cookie 存储在本地 Chrome Profile 中,请勿泄露 3. 选择器更新:如果小红书页面结构变化导致发布失败,需要更新 cdp_publish.py 中的选择器 4. feed 的图片类型 - WB_PRV:预览图(preview),通常更轻、更快,适合列表卡片。 - WB_DFT:默认图(default),通常用于详情展示,质量/尺寸更完整。 RoadMap - [x] 支持更多账号管理功能 - [x] 支持发布功能 - [x] 增加后台笔记获取功能 - [x] 支持自动评论 - [x] 支持素材检索功能 - [x] 增加更多错误处理机制 许可证 MIT License
同作者(kingselyjoe)的其他插件
扫码进群