pulse-resolvelisted
Install: claude install-skill Huanyu-Hibiki/Huanyu-Skills
# pulse-resolve · URL 标准化
把任意中文社媒 URL 规范化为统一的 `ResolvedLink` 结构。
本 skill 是 4 段流水线的**第 2 段**:接收原始 URL(短链/分享链/移动端链),产出可用于 enrich 和去重的标准化结构。
## 何时使用
- 拿到一个原始 URL,需要判断它属于**哪个平台**
- 需要**展开短��**(`b23.tv`、`v.douyin.com`、`xhslink.com`)
- 需要**提取作品 ID**(BV 号、笔记 ID 等)
- 需要**保留 token**(尤其是小红书的 `xsec_token`)
- 需要**去重**(同一篇帖子经不同短链分享)
触发词:**resolve, normalize, parse, expand, extract, 标准化, 解析, 展开, 提取**
## 何时不用
- 用户想**发现新内容** → 用 `pulse-discover`
- 用户想要某个 URL 的**元数据** → 用 `pulse-enrich`(内部会调 resolve)
- 用户想要**最终报告** → 用 `pulse-deliver`
## 工作流
### Step 1 · 接收原始 URL
URL 可能来自:
- 用户消息(单个 URL)
- `pulse-discover` 的输出(URL 列表)
- 文件(`--input urls.txt`)
- 标准输入(管道传入)
### Step 2 · 运行 pulse-resolve CLI
```bash
# 单个 URL — 在 _core/pulse-resolve/ 目录下执行(需要 pnpm + node_modules)
pnpm --filter pulse-resolve dev -- "https://xhslink.com/a/abc123"
# 从文件批量
pnpm --filter pulse-resolve dev -- --input urls.txt --output resolved.json
# 标准输入管道
echo "https://v.douyin.com/abc123/" | pnpm --filter pulse-resolve dev -- --stdin
```
**Fallback(CLI 跑不了时)**:缺 pnpm / node_modules / 超时 → 按「平台专属行为」表的 URL 模式**手工解析**(短链让用户在浏览器打开后把最终 URL 贴回来)。解析不出平台 → 输出 `platform: "unknown"`,**不要猜**。在结果里注明 `manual_parse`。
### Step 3 · 接收 ResolvedLink
输出是 `ResolvedLink` 对象的 JSON 数组:
```json
[
{
"platform": "rednote",
"workId": "65f8e7ab000000000d00aabc",
"url": "https://www.xiaohongshu.com/explore/65f8e7ab000000000d00aabc?xsec_token=ABxyz...",
"originalLink": "https://xhslink.com/a/abc123",
"token": { "xsec_toke