微博 开放平台官方 CLI 开源:70+ API 命令行直接调用,原生支持 AI Agent 接入
环境要求 :Node.js 18+ · 支持 macOS / Linux / Windows
工具地址 :
https://open.weibo.com/cli/index
背景
调用微博开放接口的常规做法是手写 HTTP 客户端:维护 OAuth token 刷新逻辑、处理分页、实现错误重试,鉴权与基础设施代码通常占整个脚本的 70% 以上,业务逻辑反而是少数。
weibo 开放平台发布的官方 CLI 工具 weibo-cli 将上述基础设施内置,把微博开放平台的能力封装成可直接执行的终端命令,并作为 AI Agent 的原生调用入口。
核心能力: 覆盖发布、互动、检索、趋势分析等 70+ 个接口;支持 JSON / Table / CSV 输出;可作为 MCP 工具直接集成进 Agent 工作流。
一、安装与鉴权
1.1 安装
bash
# npm 全局安装
npm install -g @weibo-ai/weibo-cli
# 或使用官方安装脚本
curl -fsSL https://open.weibo.com/cli/install.sh | bash
# 确认安装版本
weibo-cli version
1.2 前置条件
调用接口前需在微博开放平台完成以下步骤(顺序不可颠倒):
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 开发者实名认证 | 在「基本信息」页提交认证,未通过无法创建授权 |
| 2 | 开通套餐或试用 | 在「套餐订阅」页选择方案,获取额度与积分 |
| 3 | 绑定本机设备 | 在「设备授权」创建授权后执行登录命令 |
状态检查:
bash
weibo-cli doctor # 逐项检查认证与套餐状态
weibo-cli me --output table # 查看当前账号、余额与套餐信息
1.3 登录
bash
# 桌面环境(浏览器 OAuth)
weibo-cli auth login
# 无头环境(SSH / Docker / CI)
weibo-cli auth login --device
1.4 套餐说明
| 方案 | 额度 | 价格 |
|---|---|---|
| Free | 5 次/小时,仅本人数据 | 免费 |
| Basic | 3,000 Credits | ¥29 / 月 |
| Plus | 7,500 Credits | ¥69 / 月 |
| Pro | 32,000 Credits | ¥299 / 月 |
| Ultra | 100,000 Credits | ¥899 / 月 |
二、命令体系概览
bash
# 列出当前套餐下可用的全部命令
weibo-cli commands list --available
# 查看某条命令的参数、必填字段和适用套餐
weibo-cli commands show search/keyword
CLI 覆盖六个能力模块:
| 模块 | 典型命令 | 说明 |
|---|---|---|
| 内容发布 | notes publish · notes publish-video |
图文、视频、长微博发布 |
| 互动管理 | comments list · messages reply |
评论读取与回复、私信分发 |
| 内容检索 | search keyword · search user |
关键词、超话、用户搜索 |
| 趋势分析 | search trending · topics hot |
热搜榜、话题热度结构化输出 |
| 粉丝画像 | users followers · users analytics |
互动粉丝特征与行为分析 |
| 营销自动化 | campaign lottery · notes batch-publish |
抽奖、批量内容分发 |
三、典型命令详解
3.1 关键词内容检索
适用场景:竞品选题分析、赛道热度排查。
sql
weibo-cli search keyword \
--query "防晒霜" \
--limit 20 \
--sort hot \
--output json > result.json
参数说明:
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
--query |
string | ✅ | --- | 检索关键词 |
--limit |
number | ❌ | 10 | 返回条数,上限 50 |
--sort |
enum | ❌ | hot |
hot(热度)/ new(最新) |
--output |
enum | ❌ | table |
json / table / csv |
输出示例 (--output json):
json
{
"notes": [
{
"id": "6631xxxx",
"title": "用了3年防晒,总结出这套懒人公式",
"likes": 42000,
"collects": 18500,
"author": "护肤研究员小林"
}
]
}
3.2 实时热搜趋势
sql
weibo-cli search trending \
--limit 20 \
--output json
输出为结构化数组,包含 rank、keyword、heat 字段,可直接管道至 jq 做二次过滤。
四、AI Agent 集成
weibo-cli 的所有命令均为机器可调用的结构化接口,可在用户授权范围内直接嵌入 Agent 工作流,无需额外封装 API Wrapper。
适用场景
- 定时抓取指定话题热度,触发内容策略更新
- 基于热搜关键词自动检索笔记并生成摘要报告
- 按评论情感分级,批量标记待回复内容
完整示例:热点监控 + 自动报告生成
bash
# Step 1:获取护肤相关热搜词
weibo-cli search trending \
--limit 20 --output json \
| jq '[.[] | select(.keyword | contains("护肤"))]' > trending.json
# Step 2:基于热搜词批量检索笔记
KEYWORD=$(jq -r '.[0].keyword' trending.json)
weibo-cli search keyword \
--query "$KEYWORD" \
--limit 30 --output json > notes.json
# Step 3:输出至 LLM 生成报告(接 Claude / GPT 均可)
cat notes.json | llm-cli summarize \
--prompt "分析以上笔记的内容分布与互动趋势,输出今日护肤赛道热点摘要"
安全说明:涉及发文、评论、私信等写操作时,建议在 Agent 工作流中保留人工确认节点,避免指令误解导致非预期执行。凭证(access token、refresh token)不应提交至版本控制或出现在公开日志中。如怀疑泄露,在控制台「我的信息」→「授权列表」中撤销对应会话。
五、实战场景
场景一:话题热度监控告警
每小时检测指定关键词是否进入热搜榜,达到阈值后触发通知。
bash
#!/bin/bash
# monitor_topic.sh
KEYWORD="AI工具"
THRESHOLD=50000
HEAT=$(weibo-cli search trending \
--output json \
| jq --arg kw "$KEYWORD" \
'[.[] | select(.keyword | contains($kw))] | .[0].heat // 0')
if [ "$HEAT" -gt "$THRESHOLD" ]; then
curl -s -X POST "$FEISHU_WEBHOOK" \
-H "Content-Type: application/json" \
-d "{"text": "[告警] $KEYWORD 当前热度 $HEAT,已超过阈值 $THRESHOLD"}"
fi
加入 crontab 定时执行:
javascript
0 * * * * /path/to/monitor_topic.sh
场景二:竞品账号内容采集
拉取指定账号近期笔记,导出 CSV 供后续分析。
bash
# 获取目标账号 ID
weibo-cli users show \
--username "目标账号昵称" \
--output json > target_user.json
USER_ID=$(jq -r '.id' target_user.json)
# 拉取最新 50 篇笔记
weibo-cli notes list \
--user-id "$USER_ID" \
--limit 50 \
--output csv > notes_export.csv
echo "采集完成,共 $(wc -l < notes_export.csv) 条记录"
场景三:评论分流自动回复
过滤含特定关键词的评论,进行统一回复处理。
bash
# 拉取最新 100 条收到的评论
weibo-cli comments received \
--limit 100 \
--output json > comments.json
# 筛选含咨询意图的评论
jq '[.[] | select(.content | test("多少钱|在哪买|怎么买|链接"))]' \
comments.json > inquiry.json
COUNT=$(jq length inquiry.json)
echo "筛选出 $COUNT 条咨询类评论"
# 批量回复(执行前建议先 dry-run 确认)
jq -r '.[].id' inquiry.json | while read CID; do
weibo-cli comments reply \
--comment-id "$CID" \
--content "感谢咨询,详情可私信了解~"
done
六、小结
weibo-cli 的核心价值在于将接口调用的基础设施成本转移到工具层,开发者只需关注业务逻辑本身。AI Agent 原生支持是其区别于同类工具的关键特性,适合需要将微博运营动作编排进自动化工作流的场景。
使用前需完成开发者认证和套餐开通,个人测试可从 Free 方案起步,weibo-cli doctor 可快速定位配置问题。
参考链接
- 官方文档:
https://open.weibo.com/cli/index - 使用手册:
https://open.weibo.com/cli/quickstart