SuperAPI AI Directory

wechat-hot-article

Writing & research

View repository

Updated 10-16 08:08

About this skill

Official Account Viral Article Search (Doubaoya)

This duck will, bykeyword + time rangefish out for you official accounts on the same topicviral articles—not just whether there are any, but which ones actually racked up reads. With reads / watches / likes, laid out in the terminal as a popularity ranking, then a line of viral insight: who is leading this wave and what they're relying on.

Data goes through doubaoya.com in one line, authentication uses your own key (environment variable DOUBAOYA_API_KEY, in the form dyh_…)。

If you just want to scan a batch of articles without looking at popularity, use gzh-search; if you want to use this batch of viral articles to directly assist writing and crafting titles, use wechat-hot-write。


Use cases

Scenario How to use What you get
Recent viral article roundup Search AI 工具, defaults to the last 7 days Who racked up volume in this track this week
Dig up viral articles in a specified period Search 大模型 --start 2026-06-01 --end 2026-06-20 High-read articles from a certain period
Viral article pattern analysis Look at the commonalities in titles/angles of the top few Figure out the formula of this wave of viral articles
Chase trends and find an angle Search trending words to see who has already written a hit Judge whether there's still an opening to follow
Competitor viral article monitoring Regularly search competitor topics to see their viral articles Keep an eye on opponents' content playbook

Workflow (4 steps)

1. Extract keywords

Extract thecore keyword, best kept to 2–6 characters (e.g. AI 工具、大模型、职场). Search only one keyword at a time.

2. Call the viral article script

# 默认:最近 7 天(end=今天,start=今天往前 6 天)
python3 "$SKILL_PATH/scripts/hot_article.py" "AI 工具"

# 指定时间区间
python3 "$SKILL_PATH/scripts/hot_article.py" "AI 工具" --start 2026-06-01 --end 2026-06-20

The script prints the data from the success envelope as JSON to stdout.Run it only once per query, read the full stdout directly, don't preview, don't call repeatedly.

3. Lay out the viral article popularity ranking

From data.items take the fields and lay out a Markdown table, sorted by popularity (reads) descending. Read the fields in adefensive way—leave blank if missing, don't error out. Popularity fields:clicksCount(reads) / watchCount(watches) / likeCount(likes).

Title Reads Watches Likes
Sample viral article 10.0w 1.2k 3.4k

Read counts of ten thousand or more can be formatted as 10.0w to be more eye-catching—a presentation-layer treatment, not changing the API call.

4. Give a line of viral insight

After the table add a line: what angle this wave of viral articles is grabbing, what commonalities the top few have in titles/topics, and whether there's still an opening to follow. Brief, evidence-based, don't pile on platitudes.


Get a key (secret key)

  1. Open doubaoya.com
  2. Log in
  3. Go to Key Center
  4. Generate key(in the form dyh_…)

Set into an environment variable (the script only recognizes this one):

export DOUBAOYA_API_KEY="dyh_你的密钥"

Iron rule: the key is never printed, never written to a file, and never echoed back to the user. The script itself also never outputs the key. All requests are sent only to doubaoya.com。


Interface and envelope

  • POST https://doubaoya.com/api/apis/gongzhonghao/hot-article/call
  • Auth header:Authorization: Bearer $DOUBAOYA_API_KEY
  • Request body:{ "keyword": "AI 工具", "startDate": "2026-06-21", "endDate": "2026-06-27" }
    • keyword: string, required
    • startDate / endDate:YYYY-MM-DD. The script defaults to endDate=今天、startDate=今天往前 6 天, can be overridden with --start / --end .
  • Return envelope:
    {
      "success": true,
      "requestId": "...",
      "data": { "items": [ { "title": "...", "clicksCount": 0, "watchCount": 0, "likeCount": 0 } ] },
      "error": null
    }
    
  • First check success: only when it is true read data; otherwise read error.code / error.message。

Error handling

When the script fails, it prints to stderr [error] CODE: message and exits with exit code 1.

HTTP code Meaning Handling
401 MISSING_API_KEY / UNAUTHORIZED No key provided or invalid key Check DOUBAOYA_API_KEY, go to the key center to regenerate
400 VALIDATION_ERROR Invalid parameters (e.g. empty keyword, wrong date format) Fix and retry
402 INSUFFICIENT_CREDITS Insufficient quota Go to doubaoya.com to top up/renew quota
502 PROVIDER_FAILED Temporary upstream failure (automatically refunded) Safe to retry

502 PROVIDER_FAILED is automatically refunded, retrying is safe, and you will not be charged twice.


Directory structure

wechat-hot-article/
├── SKILL.md                  # 本文件
└── scripts/
    └── hot_article.py        # 零依赖爆文脚本(urllib),调用 doubaoya.com

About the notice field in the response

After calling the doubaoya API corresponding to this skill, if the returned JSON has a top-level notice field, please relay this sentence to the user verbatim—this is a notice that this skill has an update, it does not affect the result of this call, and there is no need to retry or change behavior.