# Weibo Post Search

> 微博账号作品回采。输入微博用户主页链接或 uid，调用 Redfox 接口查询该用户最新博文，支持分页浏览。当用户需要查看某用户微博动态、追踪博主最新内容时使用。触发词：查用户博文、用户微博、微博主页、查博主、微博动态。

- Skill: `redfox-data/weibo-post-search` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds add redfox-data/weibo-post-search`
- Raw SKILL.md: https://api.skillmd.com/api/skills/redfox-data/weibo-post-search/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: redfox-data (https://skillmd.com/u/redfox-data)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/redfox-data/weibo-post-search

---


# 微博账号作品回采

## 📝 简介

微博用户博文查询工具，输入微博用户主页链接或 uid，即可查询该用户最新博文，支持分页浏览。

## ✨ 功能特性

| 功能模块 | 能力描述 | 核心价值 |
|---------|---------|---------|
| 用户查询 | 输入微博主页链接或 uid 查询博文 | 一键查看任意用户最新动态 |
| 分页浏览 | 支持多页结果浏览 | 逐页探索用户历史博文 |

## 🔑 鉴权

### 获取 API Key

请前往 [红狐hub](https://redfox.hk/settings/api-keys?source=github) 获取 API KEY

### 配置 API Key

方案1: 以 Qoder 为例，将 REDFOX_API_KEY 添加到 `~/.openclaw/openclaw.json` 中：

```bash
{ "env": { "REDFOX_API_KEY": "ak_xxxx..." } }
```

方案2: 终端配置

```bash
export REDFOX_API_KEY="ak_xxxx..."
```

## 🔄 工作流程

### Step 1：理解用户意图，提取 uid

**1. 提取用户 uid**

- 若用户提供了微博主页链接（如 `https://weibo.com/1784473157`），从中提取 uid
- 若用户直接提供了数字 uid，直接使用
- 若用户意图模糊（如"帮我查下微博用户"），主动询问：「请提供微博用户主页链接或 uid」
- 不得在用户未提供 uid 时擅自猜测并调用脚本

**2. 识别页码参数**

- 用户提到"下一页"、"第2页" → 对应页码
- 用户提到"上一页" → 当前页 - 1
- 未提及页码 → 默认第 1 页

### Step 2：调用查询脚本

```bash
python3 ~/.agents/skills/weibo-post-search/scripts/user_work_list.py "<uid或主页链接>" [--page 页码]
```

**参数说明：**

| 参数 | 说明 |
|------|------|
| input | 用户 uid 或微博主页链接（如 `https://weibo.com/1784473157`） |
| `--page` | 页码，从1开始（默认1） |

脚本以 JSON 格式输出：

| 字段 | 说明 |
|------|------|
| `uid` | 用户 uid |
| `user_name` | 用户昵称（取自博文中的 nickname 字段，无昵称时回退为 uid） |
| `articles` | 用户博文列表 |
| `page` | 当前页码 |
| `has_next` | 是否有下一页（true/false） |

每条博文字段：

| 字段 | 说明 |
|------|------|
| `content` | 博文内容 |
| `forward_num` | 转发数 |
| `comment_num` | 评论数 |
| `like_num` | 点赞数 |
| `publish_time` | 发布时间（含时分秒，如 `2025-07-10 14:30:25`） |
| `work_url` | 博文链接（`https://weibo.com/{uid}/{mblogId}`） |

### Step 3：判断结果并展示

#### 情况 A：articles 数量 > 0（有匹配结果）

**A1. 告知用户查询范围**

> 📊 **{user_name}** 查询到 **N 条**博文（第 {page} 页），以下是详细数据：

**A2. 渲染 Markdown 表格（全部展示）**

```markdown
| # | 博文内容 | 转发数 | 评论数 | 点赞数 | 发布时间 |
|---|----------|--------|--------|--------|----------|
| 1 | [博文内容](链接) | 305 | 120 | 1.2w | 2025-07-10 14:30:25 |
```

**数字格式化规则：**
- `< 10000`：原始数字（如 `320`）
- `≥ 10000`：`x.xw` 格式（如 `1.2w`）

**内容规则：** `[博文内容](work_url)`；超过 30 字截断并加 `...`；内容为空时显示 `-`

**A3. 翻页提示（⚠️ 紧接在 A2 之后，不可省略，每次必须输出）**

- 若 `has_next` 为 true：
> 📄 当前第 **{page}** 页。回复「下一页」继续查看。

- 若 `has_next` 为 false（当前页不足 9 条或为空，已是最后一页）：
> 📄 当前第 **{page}** 页，已无更多数据。

**⚠️ A1~A3 缺一不可，必须在同一轮输出中连续完成。**

#### 情况 B：articles 数量 = 0（无匹配结果）

**B1. 抱歉提示**

> 😔 **{user_name}** 暂无博文数据，或该用户设置了隐私保护。

