--- name: douyin-video-parse description: "当用户发送包含抖音短链接(https://v.douyin.com/xxx)的消息时触发。自动解析抖音视频/图片,并发送给当前用户。" argument-hint: "消息中包含抖音短链接即可自动触发" --- # 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. 如果解析失败,回复兜底文案:`抖音解析失败,可能是链接已失效或格式不正确。` ## 回复要求 - 视频类型:发送视频文件,附带作者和标题信息。 - 图片类型:发送所有图片,附带作者和标题信息。 - 失败时,使用固定兜底文案回复。