大红薯媒体助手
任务目标
通过 ServiceHub 提供的公开大红薯数据接口,统一完成以下功能:
- 博主笔记列表:抓取博主主页已发布的笔记列表
- 视频笔记详情:抓取视频笔记元数据、播放地址、点赞/收藏/评论数及字幕
- 图文笔记详情:抓取图文笔记元数据、图片 URL 列表、描述及互动指标
- 笔记评论及回复:抓取笔记根评论列表以及指定根评论的回复/子评论
- 视频笔记原始文案:提取视频笔记的字幕与转换后的原始文案
- 笔记搜索:根据关键词检索大红薯笔记
适用边界
- 适用于已具备 ServiceHub 接口权限的环境。
- 适用于获取结构化 JSON 数据并自动分析总结的场景。
- 不负责笔记发布、评论互动、图片/视频下载与剪辑创作。
- 不负责自动充值积分;若接口返回积分不足,向用户说明情况。
必要输入
运行前应准备:
- ServiceHub 用户名
- ServiceHub 密码或 passtoken
- 目标大红薯笔记链接、短链 (如
xhslink.com/...)、note_id、user_id或comment_id
> 🔑 账号注册与凭证获取:
> 本技能基于 ServiceHub 数据接口运行。若您尚未拥有账号,请前往官网 https://www.ccailab.top 注册并获取您的用户名与密码(或 passtoken)。
ServiceHub 服务地址固定为:
https://www.ccailab.top
支持的凭证来源优先级:
- 命令行参数 (
--username,--password) - 专属环境变量 (
XHS_MEDIA_ASSISTANT_USERNAME/XHS_MEDIA_ASSISTANT_PASSWORD,兼容DAHONGSHU_...与XIAOHONGSHU_...) - 共享环境变量 (
SERVICEHUB_USERNAME/SERVICEHUB_PASSWORD/SERVICEHUB_PASSTOKEN) - 本地凭证文件 (
data/credentials.json)
如果用户在对话中显式提供过凭证,应在命令行中传入 --save-credentials 保存至 data/credentials.json,后续自动复用,不再重复追问。
交互原则
本技能表现为“单入口对话式技能”:
- 从用户自然语言中自动推断任务类型与关键参数。
- 缺失必要参数时主动进行针对性追问。
- 涉及
update模式扣减积分时,提示用户并确认。 - 调用底层 Python 脚本执行具体请求。
标准执行流程
- 如需确认接口字段,查阅 api_spec.md。
- 根据用户请求判断子命令意图:
-blogger:抓取博主主页发布的笔记列表
-note:抓取图文或视频笔记详情
-comment:抓取笔记根评论
-reply:抓取评论回复 / 子评论
-text:提取视频笔记字幕与原始文案
-search:搜索大红薯笔记 - 若关键参数缺失,先追问。
- 确认参数无误后运行底层脚本:
python scripts/xhs_tool.py <subcommand> [options]
- 解析脚本返回的 JSON 结构,并向用户提供清晰自然的摘要呈现。
决策规则
1. 意图识别
- “博主的笔记”“这个博主发了什么”“博主主页” ->
blogger - “笔记详情”“这篇图文/视频怎么样”“笔记数据” ->
note(默认图文image,视频显式设--note-type video) - “评论区”“看下评论”“用户怎么说” ->
comment - “评论回复”“子评论”“楼中楼” ->
reply(必须有comment_id) - “原始文案”“视频字幕”“提取文案” ->
text - “搜索笔记”“找一下关于X的笔记” ->
search
2. 数据模式与默认值
- 模式说明:
extract:仅读本地缓存,不调用上游 API,不扣积分update:调用上游更新最新数据,每次扣 12.5 积分- 默认模式:
- 默认使用
extract模式以节省用户积分。 - 当用户提出“最新”、“更新”、“刷新”、“重新抓取”时,切换为
update模式。 - 分页默认:
turns: 默认1index: 根评论默认0,子评论默认1
3. 用户提示词映射规则
| 用户自然语言需求 | 工具子命令与参数 |
|---|---|
| 抓取博主主页笔记列表 | blogger --url <博主链接> --type extract |
| 强制更新博主主页笔记 | blogger --url <博主链接> --type update |
| 获取图文笔记详情 | note --url <笔记链接> --note-type image --type extract |
| 获取视频笔记详情 | note --url <笔记链接> --note-type video --type extract |
| 获取笔记根评论 | comment --url <笔记链接> --type extract --turns 1 |
| 获取根评论的回复 | reply --comment-id <根评论ID> --type extract |
| 提取视频笔记原始文案 | text --url <视频笔记链接> --type extract |
| 搜索关键词笔记 | search --keyword <关键词> --type extract |
输出要求
- 优先输出简要总结(标题、作者、互动数据、关键观点或文案概况)。
- 附带展示 ServiceHub 审计与积分信息(
recent_deducted_points,bonus_points_balance,trade_order_id)。 - 仅在用户要求时展示完整 JSON 数据。
校验与回退
- 凭证检查:若缺少
username或password,提示用户提供。 - 缺参追问:
- 缺少笔记/博主链接时:“请提供大红薯笔记或博主主页的分享链接/短链/ID。”
- 抓取回复缺少comment_id时:“获取评论回复需要提供根评论 ID (comment_id)。” - 积分不足:如果 ServiceHub 返回积分不足错误,停止请求并提示用户充值。
- 网络/服务故障:若
https://www.ccailab.top无法连接,排查网络连通性。
示例
示例 1:获取视频笔记原始文案
python scripts/xhs_tool.py text --url "https://xhslink.com/a/abc123" --type extract
示例 2:抓取博主已发布笔记列表
python scripts/xhs_tool.py blogger --url "https://www.xiaohongshu.com/user/profile/600000000000000000000000" --type update --turns 2
示例 3:抓取根评论
python scripts/xhs_tool.py comment --id "66a000000000000000000000" --type extract --turns 1
示例 4:抓取评论回复
python scripts/xhs_tool.py reply --comment-id "66a011110000000000000000" --type extract