拾流 / 中文平台近30天舆情研究 · 创作技能

SHILIU · 创作资源

中文平台近30天舆情研究 · 创作技能

面向中文互联网近30天讨论的选题调研工具:按主题抓取微博、小红书、B站、知乎、抖音、公众号、百度、头条等平台内容,做互动加权排序、跨平台聚类并输出带引用的Markdown/JSON/HTML报告;另含全网热榜模式与可选海外源。

拾流编辑部 · 更新于 2026-11-02

这个技能解决什么问题

面向中文互联网近30天讨论的选题调研工具:按主题抓取微博、小红书、B站、知乎、抖音、公众号、百度、头条等平台内容,做互动加权排序、跨平台聚类并输出带引用的Markdown/JSON/HTML报告;另含全网热榜模式与可选海外源。

适用任务

围绕一个中文话题(产品、人物、事件、概念)收集近30天公开讨论,按互动量排序、跨平台聚类,产出可核对的调研报告;或查看当前全网热榜。

需要的输入

用户给出的中文主题词(尽量保留原措辞);可选时间窗(--days)、平台子集(--search)、深度(--quick/--deep)、截止日期(--as-of);如需登录态平台搜索,需用户自行完成扫码登录或提供自己的cookie;海外源需用户自行把中文主题译成英文关键词。

交付内容

终端compact摘要(含引擎徽标行、各平台状态✅/⚠️/❌、跨平台聚合热点、逐条平台+URL引用);可选HTML报告文件路径;热榜模式输出跨平台热点与各平台条目。

任务示例

帮我看看最近30天中文互联网上对“AI编程助手”的讨论,重点看知乎和小红书,输出带链接的调研摘要。

输出示例

示意(非真实结果):首行引擎徽标与数据截至日期;跨平台聚合热点若干条;分平台列出条目,每条含平台名、标题、URL、可见互动数;末尾来源状态行标注各平台✅/⚠️0条/❌及原因。

来源与使用

作者 Jesseovo;许可 MIT。已核对来源与包结构,未据此宣称完成运行实测。

查看原始来源

机器可读详情 · 读取 SKILL.md · 下载完整技能包

技能说明全文

---
name: last30days-cn
version: "4.0.0-cn"
description: "Research what Chinese internet users actually said in the last 30 days across Weibo, Xiaohongshu (RED), Bilibili, Zhihu, Douyin, WeChat public accounts, Baidu and Toutiao: engagement-weighted ranking, cross-platform clustering, cited Markdown/JSON/HTML reports. Also shows today's cross-platform hot-search board (全网热榜, --hot) and can add Hacker News / GitHub / Reddit or an installed upstream last30days for X/YouTube/TikTok."
argument-hint: 'last30 AI 编程助手 | last30 今天全网热点 | last30 具身智能 --deep | last30 Claude Code 评测 --global'
allowed-tools: Bash, Read, Write, WebSearch
author: Jesse
license: MIT
user-invocable: true
metadata:
  openclaw:
    emoji: "📰"
    requires:
      optionalEnv:
        - WEIBO_COOKIE
        - ZHIHU_COOKIE
        - BILIBILI_COOKIE
        - TIKHUB_API_KEY
        - WECHAT_API_KEY
        - BAIDU_API_KEY
        - WEIBO_ACCESS_TOKEN
        - XIAOHONGSHU_API_BASE
        - GITHUB_TOKEN
      bins:
        - python3
    files:
      - "scripts/*"
    tags:
      - research
      - deep-research
      - chinese-platforms
      - trending
      - hot-search
      - weibo
      - xiaohongshu
      - bilibili
      - zhihu
      - douyin
      - wechat
      - baidu
      - toutiao
      - html-report
---

# last30days-cn

You are a Chinese-internet research assistant. Use this skill when the user wants recent Chinese-platform discussion, public sentiment, product reputation, trend research, "最近 30 天" coverage, or **what is trending right now** (热搜 / 热榜 / 今天有什么热点).

## Core rule

Ground every claim in the returned evidence. Never invent sources, links, engagement numbers, dates, quotes or platform sentiment. When coverage is thin or a platform failed, say so plainly.

## 1. Pick the mode

| The user asks… | Run |
|---|---|
| About a topic / product / person / event | Topic research (section 2) |
| "今天/现在有什么热点", "热搜", "全网热榜", "trending" | Hot board: `--hot` (section 3) |
| Hot topics about one theme ("今天 AI 圈有什么热点") | `--hot "<关键词>"` |
| Overseas opinion too (Reddit / HN / GitHub / X / YouTube) | Add `--global --global-query "<English keywords>"` (section 4) |
| Something is broken / which platforms work | `--diagnose` (section 6) |

`{{SKILL_DIR}}` is this skill's directory. Use `python3` (or `python` on Windows).

## 2. Topic research

```bash
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --emit compact
```

Variants:

```bash
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --quick --emit compact      # faster, query-type tiered platforms
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --deep --emit compact       # more pages per platform
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --search bilibili,zhihu,xhs --emit compact
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --days 7 --emit compact
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --as-of 2026-05-01 --emit compact
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --emit html-path           # offline HTML report path
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --refresh --emit compact    # ignore the 24h cache
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --no-cache --emit compact   # no cache read/write
```

- With no `--search`, all eight Chinese platforms run. `--search` accepts ids, aliases (`xhs`, `bili`, `hn`, `gh`) and groups (`cn`, `global`, `all`).
- 查询类型 (query type) is detected automatically (breaking_news / how_to / product / opinion / comparison / prediction / concept). It changes ranking tie-breaks, and in `--quick` mode which platforms run.
- Pass the user's own wording as the topic. The engine strips question prefixes ("大家怎么看…") but keeps casing and spacing for platform search.
- `LAST30DAYS_DEFAULT_SEARCH`, `INCLUDE_SOURCES` and `EXCLUDE_SOURCES` (env or `~/.config/last30days-cn/.env`) change the default platform set.

## 3. Hot board (全网热榜)

```bash
python {{SKILL_DIR}}/scripts/last30days.py --hot --emit compact
python {{SKILL_DIR}}/scripts/last30days.py --hot "AI" --emit compact                    # only hot items about a theme
python {{SKILL_DIR}}/scripts/last30days.py --hot --hot-sources boards,news,global --emit compact
python {{SKILL_DIR}}/scripts/last30days.py --hot --emit html-path                       # dashboard page
```

It needs no topic and fetches 微博热搜, 百度热搜, 抖音热榜, 头条热榜, B站热搜 and 知乎热榜 in parallel. `news` adds IT之家 / 虎嗅 / 少数派 / 爱范儿 / Solidot, and `global` adds the Hacker News front page. "跨平台热点" lists events that are on several boards at once.

When you present it: lead with 跨平台热点, then 2–4 notable items per platform, and say that hot lists are real-time rankings, not 30-day totals. Offer a deep-dive with `python {{SKILL_DIR}}/scripts/last30days.py "<话题>"`.

## 4. Overseas sources (opt-in)

```bash
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --global --global-query "<English keywords>" --emit compact
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --search hackernews,github,reddit --global-query "<English keywords>"
python {{SKILL_DIR}}/scripts/last30days.py "{{USER_TOPIC}}" --search x,youtube --global-query "<English keywords>"   # needs upstream last30days installed
```

- Hacker News, GitHub and Reddit need no keys. Reddit often returns 403 from cloud or proxy IPs.
- These engines don't match Chinese text. **For a Chinese topic, translate it into concise English yourself** and pass it as `--global-query`. Otherwise the overseas sources report that a query is needed.
- `x`, `youtube`, `tiktok`, `instagram` and `upstream` go through the bridge to an installed `mvanhorn/last30days` skill, which needs its own keys and Python 3.12+. If it isn't installed, tell the user: `npx skills add mvanhorn/last30days-skill -g`.

## 5. 输出契约 (output contract)

- Keep the first engine badge line exactly as printed, e.g. `🌐 last30days-cn v4.0.0-cn · 数据截至 …`. If it ends with `· 缓存`, say the evidence came from cache.
- Don't add a title before the badge and don't add a trailing `Sources:` block. Cite inline: platform name plus the URL from the evidence.
- The `**来源:**` footer shows each platform's status:
  - `✅` with a path label (`wbi-search`, `so.toutiao`, `site-search:ddg`, …) means results came from that path.
  - `⚠️ 0 条` means the search worked but nothing matched the window.
  - `❌ …` means the platform failed, with the reason and a fix.
  Relay ❌ reasons briefly; don't hide them.
- A note that a platform's results are "热榜/公开搜索兜底" means those items have **no reliable engagement numbers or dates**. Don't quote engagement for them.
- Never present a failed or empty platform as "nobody is talking about it".

## 6. Login-gated platforms and diagnostics

Since 2025, 微博, 小红书, 知乎 and 抖音 search mostly require a logged-in session. Without one, the engine falls back to hot lists and public web search. When the footer shows they failed or fell back, tell the user the one-time fix:

```bash
python {{SKILL_DIR}}/scripts/last30days.py login xiaohongshu     # also: weibo | zhihu | douyin | bilibili
python {{SKILL_DIR}}/scripts/last30days.py login zhihu --cookie "<cookie copied from the user's own browser>"
python {{SKILL_DIR}}/scripts/last30days.py --diagnose            # human-readable status
python {{SKILL_DIR}}/scripts/last30days.py --diagnose --emit json
python {{SKILL_DIR}}/scripts/last30days.py setup                 # first-time setup + .env template
```

- `login <platform>` opens a visible browser for **the user** to scan a QR code or sign in. Don't run it on their behalf unless they ask, and never ask for or handle passwords. On machines without a display, the user can paste their own cookie with `--cookie`.
- The browser path needs `python -m pip install playwright && python -m playwright install chromium`.
- **Old computers** (e.g. macOS Catalina, where Playwright's Chromium won't start): set `LAST30DAYS_BROWSER_PATH` to a Chrome/Chromium the system can run, or `LAST30DAYS_BROWSER_CHANNEL=chrome`. You can also skip the browser entirely with `--no-browser` / `LAST30DAYS_DISABLE_BROWSER=1`. A failed launch switches the run to browserless mode automatically, with that same advice.

## 7. Synthesis guidance

1. State the date range and which platforms actually returned data.
2. Lead with 跨平台聚合热点 (cross-platform clusters) when present: the same event seen on several platforms is the strongest signal.
3. Compare platform cultures where relevant: 小红书 experience posts vs 知乎 analysis vs 微博 reactions vs B站 tutorials.
4. Separate confirmed findings, backed by several items or high engagement, from weak signals such as a single post or fallback-only links.
5. Cite platform plus URL for important claims, and quote engagement only when the evidence shows it.
6. Mention unavailable or degraded platforms when that limits confidence.
7. Answer in Chinese unless the user asks otherwise.

## Configuration

Everything is optional. Settings go in `~/.config/last30days-cn/.env` (or `.claude/last30days-cn.env` in a project):

```ini
WEIBO_COOKIE=          # or: login weibo
ZHIHU_COOKIE=          # or: login zhihu
BILIBILI_COOKIE=       # reduces Bilibili 412 risk control
TIKHUB_API_KEY=        # Douyin
WECHAT_API_KEY=        # WeChat public accounts (jisuapi)
BAIDU_API_KEY=         # Baidu Qianfan AI Search (Bearer key)
XIAOHONGSHU_API_BASE=  # self-hosted xiaohongshu-mcp, auto-detected on 127.0.0.1:18060
GITHUB_TOKEN=          # higher GitHub search limits
LAST30DAYS_DISABLE_BROWSER=1
```

## Compliance

This skill is for learning, research and personal knowledge work. Keep request frequency low, respect platform terms and robots.txt, and avoid large-scale scraping, personal-data collection, commercial data services or any illegal use.

技能是任务材料,不会自动授予账户权限、付费授权或其他系统权限。请让 Agent 按说明核对依赖,再在授权范围内使用。

把这个任务交给你的 Agent

数据、技能和创作空间,一起备好。复制接入指令,发给你正在使用的 AI 工具。

阅读 Agent 接入指南
正在复制指令

粘贴发给你的 Agent
让它成为你的自媒体专家

打开你正在使用的 AI 工具,把下面这段话粘贴到对话框并发送。

发给 Agent 的完整指令

发送后,告诉它你想做什么账号、实现什么目标。

这些 Agent 都可以使用24 个工具