Astor--0/skills/douyin-video-parse/SKILL.md

2.3 KiB
Raw Blame History

name description argument-hint
douyin-video-parse 当用户发送包含抖音短链接(https://v.douyin.com/xxx的消息时触发。自动解析抖音视频/图片,并发送给当前用户 消息中包含抖音短链接即可自动触发

Douyin Video Parse Skill

描述

这是一个用于解析抖音短视频/图片的技能。

当用户发送的消息中包含 https://v.douyin.com/ 链接时,自动解析该链接对应的视频或图片,并通过本地微信机器人接口发送给当前用户。

这个仓库里额外提供了一个可执行脚本 scripts/douyin_video_parse.py,方便宿主机器人直接调用。

触发条件

  • 用户消息中包含 https://v.douyin.com/ 链接

解析原理

  1. 访问抖音短链接,跟随 302 重定向获取真实页面 URL
  2. 请求真实页面 HTML从中提取 window._ROUTER_DATA JSON 数据
  3. 从 JSON 中解析出视频播放地址或图片列表
  4. 通过本地微信机器人接口发送视频或图片

环境变量

  • ROBOT_WECHAT_CLIENT_PORT:本地微信机器人服务端口。
  • ROBOT_FROM_WX_ID:当前消息来源用户的 wxid。
  • ROBOT_MESSAGE_CONTENT:用户发送的原始消息内容(用于提取抖音链接)。

执行步骤

  1. 当用户消息中包含 https://v.douyin.com/ 链接时触发该技能。
  2. 在仓库根目录下执行本地脚本:python3 scripts/douyin_video_parse.py
  3. 脚本从环境变量 ROBOT_MESSAGE_CONTENT 中提取抖音短链接。
  4. 脚本访问短链接,跟随重定向获取真实页面 URL。
  5. 脚本请求真实页面,解析 window._ROUTER_DATA 中的视频/图片信息。
  6. 如果是视频:
    • 先发送分享卡片链接
    • 再调用 POST http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1/robot/message/send/video/url 发送视频
  7. 如果是图片:
    • 发送文字提示(作者、标题、图片数量)
    • 调用 POST http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1/robot/message/send/image/url 逐张发送图片
  8. 如果解析失败,回复兜底文案:抖音解析失败,可能是链接已失效或格式不正确。

回复要求

  • 视频类型:发送视频文件,附带作者和标题信息。
  • 图片类型:发送所有图片,附带作者和标题信息。
  • 失败时,使用固定兜底文案回复。