소스 정보
- 저장소
- TeamWiseFlow/xiaobei
- 최근 소스 활동
- 2026년 7월 16일 07:35
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 8,429
- 포크
- 1,427
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/TeamWiseFlow/xiaobei --skill xhs-interact명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
口播类视频(口播/演讲/访谈/直播)的轻剪辑——ASR 转写拿逐字时间戳,去口气词/结巴/静音,或识别高光段剪成集锦。仅做基于人声的轻剪辑,不出脚本不烧字幕;纯画面类素材的集锦剪辑走 video-edit。
搜索、筛选并下载 ccMixter 免版税背景音乐(仅 CC BY / CC BY-SA,商用安全), 自动生成 TASL 署名。支持关键词搜索、5 套场景预设、按主题自动选曲、按 ID 下载。 纯客户端,无需 API key。
视频制作全能工具,两种用法——(A) 端到端生产:从零做一支完整视频,出脚本、分镜、机位一致性、素材匹配、闸门、渲染、自检、交付;(B) 给定素材剪辑:已有几个片段要拼一下、给一个片段配音合成、剪辑烧字幕等,直接用 Stage 12 工具箱(assemble/clip-trim/audio-mix/timeline-compose/scene-compose/add-silent-audio/make-outro)。
SOC 직업 분류 기준
SKILL.md 표시 중
| name | xhs-interact |
| description | 小红书社交互动技能。发表评论、回复评论、点赞、关注。当用户要求评论、回复、点赞或关注小红书用户时触发。 |
| metadata | {"openclaw":{"emoji":"💬","requires":{"bins":["camoufox-cli"]}}} |
通过 camoufox-cli 完成(纯浏览器操作技能)——复用 xhs-browse 持久化 session(消费者域 www.xiaohongshu.com,与 xhs-content-ops / viral-chaser / published-track 共用)。同一 session 一个且只有一个持久化实例,fail-first 队列:同 session 已有命令在跑时新命令直接 fail,浏览器操作 skill 串行排队。
关键边界:本技能是纯 camoufox-cli 浏览器操作技能,登录态直接复用 xhs-browse 持久化 session(登录态 + 指纹冻结在 session profile 里)——不开独立临时 session、不 import cookie。每次登录后导出的 cookie + UA 是给其他脚本类技能(xhs-content-ops / viral-chaser / published-track 等)做 raw HTTP 抓取用的,本技能自身不消费 cookie 文件。
走 login-manager skill 流程,复用 xhs-browse 持久化 session(消费者域 www.xiaohongshu.com):
camoufox-cli --session xhs-browse --persistent --headed --json open "https://www.xiaohongshu.com/"
# 告知用户在窗口里手动扫码登录,确认后:
login-manager --platform xhs-browse
login-manager 一条命令闭环导出+验证+落中央存储(供其他脚本类技能消费,非本技能自用)+ close session。
互动操作直接在 xhs-browse 持久化 session 上跑——不开独立 session、不 import cookie(camoufox-cli 浏览器方案严禁 cookies import 造会话)。下文所有 camoufox-cli 命令统一用 --session xhs-browse --persistent,若该 session 正被其他浏览器操作 skill 占用(fail-first 拒绝 → 命令报 session 正忙),等其完成再串行接力,不要自动 close 正在跑的 session。
# 全文下方 $SESSION 一律指 xhs-browse 持久化 session
SESSION="xhs-browse"
任务结束后close 该 session——持久化 session 登录态在磁盘 profile,不留进程占内存;后续自己 / 其他浏览器操作技能用 --session <平台 key> --persistent 重起无头即恢复。互动过程中任何时候发现登录已失效则走 login-manager 有头重登流。
所有互动操作需要 feed_id 和 xsec_token,从浏览器地址栏获取(snapshot eval):
笔记 URL 格式:
https://www.xiaohongshu.com/explore/{feed_id}?xsec_token={xsec_token}&xsec_source=pc_feed
示例:
https://www.xiaohongshu.com/explore/64abc123def456?xsec_token=ABxxxxxx&xsec_source=pc_feed
→ feed_id = 64abc123def456
→ xsec_token = ABxxxxxx
camoufox 拿当前 URL:
camoufox-cli --session "$SESSION" --json eval "window.location.href"
https://www.xiaohongshu.com/explore/{feed_id}?xsec_token={xsec_token}&xsec_source=pc_feed
模式说明:以下每条操作都用
camoufox-cli的snapshot/eval/click/type子命令实现,统一在xhs-browse持久化 session 上跑($SESSION=xhs-browse,见上文「互动流程」段,不开独立 session、不 import cookie)。找不到元素时不要盲试:先
snapshot看 DOM 真实结构,再决定 selector 改写。
1. 导航到 feed 详情页:
camoufox-cli --session "$SESSION" --persistent open <feed_url>
2. 等待 2-3 秒加载(sleep 3),调 snapshot 看 .access-wrapper / .error-wrapper
是否出现 → 出现则笔记不可访问,停止并告知用户
3. 找评论输入框 .content-input,触发 input 事件(用 type 子命令):
camoufox-cli --session "$SESSION" --json type ".content-input" "评论内容"
4. 触发 input 事件(camoufox type 已隐含触发,确认 snapshot 看到值变化)
5. 找发送按钮并 click:
camoufox-cli --session "$SESSION" --json click "<send-btn-selector>"
6. 等待 1-2 秒(sleep 2),调 snapshot 确认评论出现在评论区
1. 导航到 feed 详情页(camoufox-cli open)
2. 等待 2-3 秒加载,确认页面可访问
3. 滚动到目标评论:
- 已知 comment_id:eval "document.querySelector('#comment-${comment_id}').scrollIntoView()"
- 已知 user_id:eval "document.querySelector('[data-user-id=\"${user_id}\"]').scrollIntoView()"
- 若需滚动加载更多评论:eval 多次 window.scrollBy(0, 800) + sleep 1
观察 .end-container 出现即到底(最多 7 次)
4. 点击目标评论的回复按钮(.interactions .reply):
camoufox-cli --session "$SESSION" --json click ".interactions .reply"
5. 输入回复内容到 .content-input(camoufox type 子命令)
6. 点击发送按钮(camoufox click)
7. sleep 1-2s,snapshot 确认回复已发出
选择器:.like-wrapper(推荐)或 .interact-container .left .like-wrapper
1. 导航到 feed 详情页
2. 等待 2-3 秒加载
3. 检查当前点赞状态(eval):
camoufox-cli --session "$SESSION" --json eval \
"document.querySelector('.like-wrapper').classList.contains('like-active')"
4. 若需点赞,click 点赞按钮(推荐 JS 方式,最稳):
camoufox-cli --session "$SESSION" --json eval \
"document.querySelector('.like-wrapper').click(); 'ok'"
5. sleep 1-2s,eval 验状态:
camoufox-cli --session "$SESSION" --json eval \
"document.querySelector('.like-wrapper').classList.contains('like-active')"
6. 若状态未变化,重试一次;仍失败则报告
若
click/eval触发风控:等 60s 后在同一xhs-browse持久化 session 上重试(不开新 session、不 import cookie);仍触发则报告用户该平台当日风控未解,转其他笔记或择日再试。
1. 导航到用户主页:camoufox-cli ... open "https://www.xiaohongshu.com/user/profile/${user_id}"
2. sleep 3 加载
3. 找关注按钮:snapshot 找文本为"关注"的按钮 / eval ".user-actions .follow-btn"
4. click 关注按钮
5. sleep 1-2s,snapshot 确认按钮变为"已关注"
1. 导航到用户主页
2. 找"已关注"按钮(同上 selector)
3. click 后确认弹出确认框,click"取消关注"
4. sleep 1-2s,确认按钮变为"关注"
/explore/{feed_id} 裸路径,没带 xsec_tokenerror_code=300017 或 300031)2.1w、1.5万、1.2k 等压缩格式而非数字w = 万 = ×10000,万 = ×10000,k = ×1000。例:2.1w = 21000,1.5万 = 15000,1.2k = 1200.end-container 说明到底部;最多滚动 7 次www.xiaohongshu.com 找发布/草稿入口creator.xiaohongshu.comxhs-browse 持久化 session 正被其他浏览器操作技能(xhs-content-ops 等)占用,新命令撞 fail-first 队列xhs-browse 持久化 session 上 --headed open + 用户手动扫码 + 导出 cookie+UA 落中央存储给其他脚本技能用)→ 在同一 session 上重试;不要盲 retry、不要开独立 session import cookie| 情况 | 处理 |
|---|---|
| 页面出现登录墙 | 同上重走 login-manager 登录流 |
| 点赞状态未变化 | 重试一次,仍未变化则报告错误 |
| camoufox click/eval 失败 / 超时 | 改用 eval 走 JS 方式(最稳);再失败 → 等 60s 后在同一 session 上重试(不开新 session、不 import cookie) |
xhs-browse session 正忙(fail-first 拒绝) | 这是预期行为(原则 1),等当前占用方完成再串行接力,不自动 close 正在跑的 session |
| xsec_token 缺失/无效 | 从搜索结果链接中重新获取 signed URL,不要手拼 |
| 安全限制/访问异常 | 停止操作 60 秒后重试,或换笔记操作 |