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

53 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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. 如果解析失败,回复兜底文案:`抖音解析失败,可能是链接已失效或格式不正确。`
## 回复要求
- 视频类型:发送视频文件,附带作者和标题信息。
- 图片类型:发送所有图片,附带作者和标题信息。
- 失败时,使用固定兜底文案回复。