qinghu-douyin-social · git:20260821.a6e0145 · 2026-08-21 · sha256 24a7798accd02a80

qinghu-douyin-social git:20260821.a6e0145A

Immutable. This exact content is served forever at /api/v1/blob/24a7798accd02a80.

---
name: qinghu-douyin-social
description: 青虎AI 抖音社媒运营:串起抖音热搜榜、话题详情与话题下视频、关键词视频搜索、达人主页数据与粉丝画像,完成「热点选题 → 脚本卖点挖掘 → 粉丝人群画像匹配」的内容引流与种草闭环。当用户要做抖音内容运营、找选题、看热搜和话题、拆解爆款视频卖点、看达人粉丝画像、做人群匹配、规划内容日历时必须触发。关键词:青虎AI、抖音、社媒运营、热搜、话题、选题、爆款视频、粉丝画像、人群匹配、种草、内容日历。
user-invocable: true
metadata: {"openclaw":{"emoji":"🎪"}}
---

# 抖音-社媒运营专家 | 青虎AI

抖音内容运营的完整闭环:**热点选题 → 卖点脚本 → 人群匹配**。

比「随便找几个热点」多做一步:**用粉丝画像验证内容触达的是不是你的目标人群**——热点对了但人群错了,播放再高也不出单。

## 何时触发

- 「抖音最近什么话题火」「给我几个选题」
- 「拆一下这条爆款视频的卖点」
- 「这个达人的粉丝是什么人」「人群匹配吗」
- 「做一份抖音内容规划」

## 数据接口

本技能的数据全部来自**青虎数据接口**——一个普通的 HTTP 端点,用任何能发请求的方式调用即可(`curl`、`fetch`、`requests` 都行)。
如果当前环境已经把这些工具做成了可直接调用的工具,那就直接调,不必自己拼请求。

| 项 | 值 |
| --- | --- |
| 地址 | `POST https://www.iqinghu.com/api/desktop/qh/mcp` |
| 必需请求头 | `Authorization: Bearer <青虎密钥>`、`Content-Type: application/json` |
| 密钥来源 | 向用户索取,或读环境变量 `QINGHU_TOKEN` / `QHKIT_TOKEN`;用户在 https://www.iqinghu.com/workbench/dashboard/api-keys 生成 |

**HTTP 401 + 空响应体不一定是密钥的问题,按这个顺序排查**:
① **先原样重试一次**——2026-08-18 实测过同一把有效密钥间歇性返回 401 空体、隔一会儿再请求就正常,别一遇到 401 就下结论;
② 检查请求头是不是 `Authorization: Bearer <密钥>`(少了 `Bearer ` 前缀、或改用 `X-Api-Key` / `api-key` 一律 401);
③ 持续 401 时,拿**同一个密钥**请求 `GET https://www.iqinghu.com/api/desktop/qh/workflow/page?pageNum=1&pageSize=5`(同一套鉴权):
返回 200 说明密钥有效,问题在这个端点的账号权限——此时**不要再向用户索要密钥**,请他到青虎工作台开通数据接口权限。
返回一律是纯 JSON,不需要 `Accept: text/event-stream`。

### 1) 查工具入参

第一次用某个工具、或拿不准参数时先查一次,**不要猜参数**:

```json
{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}
```

`result.tools[]` 每项含 `name`(调用时用的名字)、`title`(中文名)、`description`、`inputSchema`(必填项与类型)、`outputSchema`、`free`(是否免费)。

### 2) 发起调用

工具名照 `tools/list` 返回的 `name` 原样填:

```json
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"hot_douyin_rank","arguments":{}}}
```

### 3) 取业务数据:要解两层

**业务数据是被 JSON 字符串化塞在 `content[0].text` 里的**,直接读 `content` 拿不到值:

```json
{"jsonrpc":"2.0","id":2,"result":{
  "isError": false,
  "pointCost": 2000,
  "content": [{"type":"text","text":"{\"code\":200,\"data\":{...},\"success\":true}"}]
}}
```

**必须对 `content[0].text` 再做一次 JSON 解析**,才拿得到里面的 `data`。

### 4) 判断成没成功:三层都要看

**HTTP 状态码永远是 200,`isError` 也可能骗人**,按顺序检查:

| 检查 | 含义 |
| --- | --- |
| 顶层有 `error` 对象(此时没有 `result`) | 协议层失败,如工具名写错会返回「工具不存在: xxx」 |
| `result.isError` 为 `true` | 调用出错 |
| 解析内层后 `code == 200` 且 `success == true` | **只有这样才算真成功** |

实测缺必填参数时返回的是 `isError: false` 但内层 `code:500`、`success:false`——**光看 `isError` 或 HTTP 200 会把失败当成功**。
参数出错时的提示只有一句「API调用成功判断失败」,既不说缺哪个参数也不说哪个值非法,所以**调用前对着 `inputSchema` 的 `required` 自查**,不要靠试错。

调用失败时 `pointCost` 为 0,不扣费。

拿不到数据就停下来说明卡在哪(缺密钥 / 工具名不存在 / 参数不对),**不要用名字相似的工具替代**,也不要改用浏览器抓网页——
商品、货源、榜单、达人、关键词、市场数据类需求一律优先走这些接口。

下表是本技能要用的工具,写的是 `name` 原值;表里只补 `inputSchema` 里看不出来的取值来源与前置步骤。

| 工具 | 中文名 | 用在哪一步 |
| --- | --- | --- |
| `hot_douyin_rank` | 热搜榜数据 | 全站热点,选题起点 |
| `douyin_hashtag_detail` | 话题详情数据 | 话题体量(需要 ch_id) |
| `douyin_hashtag_video_list` | 话题下视频数据 | 话题下的内容表现与形式 |
| `douyin_video_search` | 关键词下视频数据 | 按行业词找对标内容 |
| `douyin_video_info_with_play` | 查视频数据 | 单条视频的播放与互动 |
| `douyin_video_comments` | 查视频评论 | 评论区舆情与用户语言 |
| `douyin_user_profile` | 查达人数据 | 对标账号的粉丝、作品、点赞(需要主页链接) |
| `douyin_fans_portrait` | 查达人粉丝画像 | 年龄、性别、兴趣、地域、设备价格等全维画像 |
| `douyin_user_post_videos` | 查主页视频数据 | 对标账号的更新节奏与内容走向 |
| `douyin_link_convert` | 抖音短链接转换为正式链接 | 短链先转换(免费) |

> 抖音工具的入参多为**链接**:视频链接、主页链接、话题 ch_id。短链(`v.douyin.com/xxx`)必须先用 `douyin_link_convert`(免费)转换。
> `douyin_fans_portrait` 返回的画像维度很全(含城市层级与设备价格),**设备价格分布是判断消费力最直接的指标**,做客单价决策时别漏了它。

## 工作流程

### 1) 选题:热点 + 行业双线

`hot_douyin_rank` 找全站热点,`douyin_video_search` 按行业词找垂类内容。
**热点只是切口**,必须能和产品自然挂钩才用,硬蹭热点的内容转化极差。

### 2) 话题体量核实:`douyin_hashtag_detail` + `douyin_hashtag_video_list`

话题的播放体量、内容供给密度、主流内容形式。
供给已经很饱和的话题,新账号进去基本没有露出机会。

### 3) 拆卖点:`douyin_video_info_with_play` + `douyin_video_comments`

对标视频的互动率(而不是纯播放)+ 评论区高频问题。
**评论区就是现成的卖点素材库**:用户反复问什么,你的脚本就该先回答什么。

### 4) 人群匹配(这一步最容易被跳过,也最关键)

`douyin_user_profile` 拿对标账号的基础数据 → `douyin_fans_portrait` 看粉丝画像:
年龄、性别、地域、兴趣、**设备价格**(消费力代理指标)。

把画像和你的目标客群比对:
- 匹配 → 这个账号/内容方向可以直接借鉴或合作;
- 不匹配 → 播放再高也别投,人群对不上就是白花钱。

### 5) 盯节奏:`douyin_user_post_videos`

对标账号的更新频率、发布时段、内容转型信号。

### 6) 出内容规划

交付**可执行的选题清单 + 人群结论**,而不是一堆数据。

## 输出

- **选题清单(5~10 条)**:选题、热点依据、建议形式、目标人群。
- **卖点素材**:来自评论区的用户高频关注点与原话。
- **人群画像结论**:对标账号粉丝的年龄/性别/地域/兴趣/消费力,以及和自身客群的匹配度判断。
- **对标账号动态**:更新节奏与内容方向变化。
- 明细按「数据交付」导出。

## 数据交付

- **工具返回的记录数组 ≥ 10 条时默认导出表格文件**(装了 `qinghu-excel-export` 技能就用它),不管用户有没有提「表格 / 导出」。**不要**把大数据集铺成聊天里的 markdown 表格,也**不要**反问「需要我导出吗」——先导出、给链接才是正确姿势。
- 工具返回里出现「完整数据已缓存到本机文件: ...」时,后续筛选、导出一律用那个文件路径,**绝对不要逐行抄写数据**。
- 导出后的回复保持精简:交付链接 + 一句话说明 + 不超过 5 行关键预览。
- **结论先行**:先给判断和建议(能不能做、怎么做、风险在哪),再给支撑数据;不要把原始字段直接倒给用户。
- 数字要标口径:站点 / 账期 / 周期 / 样本量。跨站点或跨周期的数字不要混在一张表里比。

## 计费与授权

- **所有工具统一在发起调用前先经用户确认**,不必按 `free` 字段区分收费与否,按下面的规则征求授权。
- **不要轻信描述里的「免费」文案**——有的工具描述写着「免费」实际照样扣积分(1688 那几个就是);没实测过 `pointCost` 就说「费用以实际扣费为准」,不要替工具打包票。
- **实扣多少看返回信封里的 `pointCost`**(在 `result` 层,与 `isError` 同级)。这个值**要换算**:`pointCost ÷ 10000 = 青虎积分`(实测 10000 = 1 积分,16000 = 1.6 积分)。
- **只认信封层的 `pointCost`,绝不去业务数据里翻积分字段**——工具返回的业务文本里常带 `charge_points` / `points_balance` 或「消耗 8 积分,剩余 1952 积分」之类的话,那是**上游数据源自己的积分体系**,和青虎积分不是一回事(实测同一条响应 `pointCost=16000`=青虎 1.6 积分,而业务文本写「消耗 8 积分」)。照抄业务文本会把用户的账算错。
- 信封里没有 `pointCost` 时按 0 报,或直接说这次拿不到消耗数据,**不要拿业务文本里的数字顶替,也不要自己估算**。
- **事前预估同样只能报换算后的青虎积分,绝不报原始点数**——征求授权时给用户估费用,依据只能是本会话内同一工具实测到的 `pointCost` 换算值(`pointCost=20000` 要说「约 2 积分」;照抄原始数字说成「约 2 万积分」等于把账算错一万倍)。没实测过就写「费用以实际扣费为准」,不要编数字,也不要照抄工具描述里出现的任何点数。
- **消耗写在回复的最末尾,单独一行,格式固定**:

  ```
  本次共消耗 9.6 青虎积分
  ```

  数值是本轮**所有**付费调用的 `pointCost` 累加后 ÷ 10000(例:16000 + 96000 = 112000 → `本次共消耗 11.2 青虎积分`)。小数按实际写,不补零也不四舍五入到整数。
  这一行必须**另起一行、独占一行、放在正文全部结束之后**,前面空一行隔开。**不要把积分数字混写进正文段落**(写成「共返回 60 条笔记,实扣 96000 pointCost = 9.6 青虎积分」这种是错的)。
  本轮一次付费调用都没有时,不输出这一行。
- **本会话首次调用工具前**:一次性列清本次要用的**全部**工具,说明准备用它们做什么、会消耗青虎积分,征求**一次**同意,然后结束本轮。不要逐个询问把对话拖长。
- 用户明确同意后,这些工具在**本会话内持续有效**,不再重复询问;新会话需要重新征求。
- 用户拒绝、只授权其中一部分或答非所问时,**未获同意的工具一律不调用**。
- **同一轮回复内工具最多调 10 次**。达到上限就用已有数据作答,还需要更多数据时先说明还差什么、要再调几次,征得同意后下一轮继续。参数写错先想清楚正确参数再重试,不要连续试错——每次失败同样可能扣费。
- 同一个数据需求既有免费工具又有付费工具时,优先用免费的。

## 能力边界

- 本技能做**内容运营**,不做选品与上货——选品走「抖音-蓝海爆品采集师」,铺货走「抖音-极速上货助手」。
- 不生成视频与图片素材,那属于 LinkPix / qhkit 系列技能。
- 达人合作的商务对接、报价与结算不在范围内。
- 热点有强时效性,结论必须标注数据周期。

## 相关技能

同系列的其他「青虎AI」技能(按需转交,不要在本技能里硬做):

- **小红书-社媒运营专家 / B站-社媒运营专家**:多平台内容矩阵
- **抖音-蓝海爆品采集师**:内容验证过的方向反过来指导选品
- **爆款视频模仿系列技能**:把选题变成成品视频