微博评论分析工具。输入微博博文链接即可获取一级评论数据,支持分页浏览和四维情感分析(积极/负面/需求/竞品)。当用户需要查看微博评论、分析评论舆情、了解用户反馈时使用。触发词:微博评论、博文评论、评论查询、评论分析、看评论。
npx skills add https://github.com/redfox-data/redfox-community --skill weibo-comment-search
微博评论分析工具,输入微博博文链接,即可查看该博文的一级评论数据,支持分页浏览和 AI 情感分析。在对话中展示当前页全部评论及 AI 总结分析,同时生成包含当前页数据和总结的交互式 HTML 报告。
| 功能模块 | 能力描述 | 核心价值 |
|---------|---------|---------|
| 评论查询 | 输入微博博文链接查询评论 | 一键查看任意博文的评论 |
| 分页浏览 | 支持多页结果浏览 | 逐页探索更多评论 |
| AI 总结 | 四维情感分析(积极/负面/需求/竞品) | 快速了解评论舆情全貌 |
| HTML 报告 | 深色主题交互式报告 | 离线保存/分享分析结果 |
请前往 红狐hub 获取 API KEY
方案1: 以 Qoder 为例,将 REDFOX_API_KEY 添加到 ~/.openclaw/openclaw.json 中:
{ "env": { "REDFOX_API_KEY": "ak_xxxx..." } }
方案2: 终端配置
export REDFOX_API_KEY="ak_xxxx..."
1. 从微博博文链接中提取 opusId
https://weibo.com/1784473157/R8X4f2lnq),从中提取 opusId(R8X4f2lnq)2. 识别页码参数
⚠️ 每次调用仅请求一页数据(一次 API 请求),不可擅自发起多次调用拉取多页。
脚本每次调用自动生成 HTML 报告(含 {{PLACEHOLDER}} 占位符,未回填分析数据)。终端展示与 HTML 基于同一次 API 调用,确保数据一致。
python3 ~/.agents/skills/weibo-comment-search/scripts/weibo_comment_search.py "<博文链接或opusId>" [--page 页码] [--cursor 游标] [--output-dir 目录]
参数说明:
| 参数 | 说明 | 默认值 |
|------|------|--------|
| input | 微博博文链接或 opusId | — |
| --page | 页码,从1开始 | 1 |
| --cursor | 翻页游标(首页为 0,后续从返回的 max_cursor 传入) | 0 |
| --no-html | 跳过 HTML 报告生成 | — |
| --output-dir | HTML 输出目录 | ~/Downloads/QoderReports |
脚本以 JSON 格式输出:
| 字段 | 说明 |
|------|------|
| opus_id | 博文 opusId |
| comments | 评论列表 |
| max_cursor | 下一页游标 |
| has_next | 是否有下一页(true/false) |
| page | 当前页码 |
| html_path | 生成的 HTML 报告路径(含占位符,待回填) |
每条评论字段:
| 字段 | 说明 |
|------|------|
| nickname | 用户昵称 |
| uid | 用户 uid |
| user_url | 用户主页链接(https://weibo.com/{uid}) |
| content | 评论内容 |
| comment_like_num | 点赞数(原始数字) |
| comment_like_num_fmt | 点赞数(格式化后) |
| create_time | 发布时间 |
> 注意: HTML 报告此时仅含评论原始数据,分析占位符({{PLACEHOLDER}})待用户确认后回填。
A1. 告知用户查询范围
> 📊 博文 {opus_id} 查询到 N 条评论(第 {page} 页),以下是详细数据:
A2. 渲染 Markdown 表格(全部展示)
| # | 用户 | 评论内容 | 点赞 | 发布时间 |
|---|------|----------|------|----------|
| 1 | [nickname](https://weibo.com/uid) | 评论内容 | 305 | 2025-07-10 14:30:25 |
格式规则:
nickname,跳转到用户主页< 10000 原始数字,≥ 10000 显示 x.xw...,内容为空时显示 -A3. AI 评论总结(⚠️ 每次查询(含翻页)必须输出)
首页:基于当前页获取到的全部评论,进行四维情感分析。
翻页后:基于目前已获取的所有页面累计数据进行综合分析,而非仅分析当前单页。分析时需标注累计总条数。
分析前需理解微博热点话题背景(热搜事件、粉丝文化、明星动态、社会议题语境)。
> ## 📈 评论总结分析(基于 {total} 条评论)
>
> ### ✅ 积极评价({positive_ratio}%)
> - {要点1}
> - {要点2}
> - ...
>
> ### ⚠️ 负面评价({negative_ratio}%)
> - {要点1}
> - {要点2}
> - ...
>
> ### 💡 用户需求({demand_ratio}%)
> - {要点1}
> - {要点2}
> - ...
>
> ### 🔍 竞品对比舆情({competitor_ratio}%)
> - {仅当评论中提及竞品时输出,否则输出「未提及竞品」}
> - {竞品名称}:{舆情要点}
分析要求:
A4. 翻页提示(⚠️ 紧接在 A3 之后,每次必须输出)
has_next 为 true:> 📄 当前第 {page} 页。回复「下一页」继续查看。
has_next 为 false:> 📄 当前第 {page} 页,已无更多数据。
⚠️ A1~A4 必须在同一轮输出中连续完成,不可省略任何一步。
A4 输出完毕后,询问用户是否需要生成 HTML 可视化报告:
> 📊 是否需要生成 HTML 可视化报告?
若用户回复「是」「需要」「生成」「html」等确认词,则执行以下步骤(无需重新调用脚本,HTML 文件已在 Step 2 生成):
① 回填 AI 分析结果到 HTML
调用 backfill_html.py 将 AI 分析结果回填到 HTML 中的 {{PLACEHOLDER}} 占位符:
python3 ~/.agents/skills/weibo-comment-search/scripts/backfill_html.py "<html_path>" --analysis-json '{
"positive_ratio": <正整数>,
"negative_ratio": <正整数>,
"demand_ratio": <正整数>,
"competitor_ratio": <正整数>,
"positive_summary": "<ul><li>要点1</li><li>要点2</li>...</ul>",
"negative_summary": "<ul><li>要点1</li><li>要点2</li>...</ul>",
"demand_summary": "<ul><li>要点1</li><li>要点2</li>...</ul>",
"competitor_summary": "<ul><li>要点1</li><li>要点2</li>...</ul>"
}'
JSON 字段说明:
| 字段 | 类型 | 说明 | 示例 |
|------|------|------|------|
| positive_ratio | int | 积极评价占比(纯数字,不含%) | 45 |
| negative_ratio | int | 负面评价占比 | 30 |
| demand_ratio | int | 用户需求占比 | 15 |
| competitor_ratio | int | 竞品对比占比 | 15 |
| positive_summary | string | 积极评价摘要(HTML 格式 <ul><li>...</li></ul>) | 见示例 |
| negative_summary | string | 负面评价摘要 | 同上 |
| demand_summary | string | 用户需求摘要 | 同上 |
| competitor_summary | string | 竞品对比摘要 | 同上 |
注意: JSON 字符串参数包含双引号,Bash 中使用单引号包裹,内部双引号需转义 \"。若内容含单引号则用 stdin 方式传入:echo '...' | python3 backfill_html.py "<html_path>"
② 打开 HTML 报告:
open "<html_path>"
B1. 提示
> 😔 该博文暂无评论数据。
当用户回复「下一页」「上一页」「第 N 页」时:
max_cursor 作为新的 --cursorpython3 .../weibo_comment_search.py "<opusId>" --page <page> --cursor <cursor>| 错误类型 | 处理方式 |
|---------|---------|
| 无 API Key | 提示配置 REDFOX_API_KEY,给出配置指引 |
| 博文链接无效 | 提示「无法提取 opusId,请检查博文链接是否正确」 |
| 接口返回错误 | 显示错误码和错误信息 |
| 获取 0 条评论 | 提示「该博文暂无评论」并建议检查博文是否存在或已删除 |
| 网络请求超时 | 提示「网络请求超时,请稍后重试」 |
# 脚本使用 urllib(Python 标准库),无需额外安装依赖
示例 1:查看指定博文的评论
用户:查看微博 https://weibo.com/1784473157/R8X4f2lnq 的评论
助手:调用脚本(自动生成HTML) → 展示全部评论 + AI总结 → 询问是否需要HTML → 用户确认 → backfill → open
示例 2:通过 opusId 查询
用户:R8X4f2lnq 这篇博文的评论怎么样
助手:提取 opusId → 调用脚本 → 展示分析 → 询问是否需要HTML
示例 3:翻页
用户:下一页
助手:调用脚本 page=2 cursor=xxx → 展示第2页 + AI累计分析 → 询问是否需要当前页HTML
Take redfox-data/weibo-comment-search from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.