This duck helps short drama creators and MCN operators scan WeChat Official Accounts for hit short drama articles by keyword—fishing out hit graphic articles in categories like short drama recommendations, commentary, and roundups, laying them out in the terminal as a clickable hit-article table, then clustering them into several directions by angle to build a short drama daily report you can take straight to writing graphic articles or making ad copy.
Data goes through doubaoya.com one line, with authentication using your own key (environment variable
DOUBAOYA_API_KEY, in the formdyh_…)。
Use cases
| Scenario | How to use | What you get |
|---|---|---|
| Daily hit article roundup | Use 短剧 to scan today's hit short drama articles in WeChat Official Accounts |
See at a glance what the WeChat Official Account short drama circle is writing about today |
| Graphic topic selection daily report | Scan once by angle, cluster into several entry points | A short drama topic selection daily report you can directly use to write graphic articles |
| Niche angle tracking | Use 短剧推荐、短剧解说、短剧盘点 and other narrow terms |
Lock onto hits of a certain short drama graphic article style |
| Title hook breakdown | Look at the titles and intros of high-like articles | Extract the title-writing playbook of WeChat Official Account short drama hit articles |
| Accumulate ad copy | Page through several more screens to accumulate first-hand graphic material | Build a short drama ad placement/traffic-driving copy library |
Workflow (4 steps)
1. Set the keyword
Extract one short drama direction keyword(required) from the user's description, such as 短剧、短剧推荐、短剧解说、短剧盘点、短剧剧情. Broad terms yield more hits, narrow terms are more focused; scan only one keyword at a time.
2. Call the script
python3 "$SKILL_PATH/scripts/fetch_playlet_feed.py" "短剧"
Paginate / adjust items per page (optional):
python3 "$SKILL_PATH/scripts/fetch_playlet_feed.py" "短剧解说" --page 2 --size 30
The script prints the data from the success envelope to stdout as JSON.Run the script only once per query, read the complete stdout directly, don't use head/tail to preview, and don't call repeatedly with the same parameters.
3. Render the hit article table
From data.items(article array), take the fields and lay them out as a Markdown table. Read fields defensively—title(title) / likeCount(likes) may be missing; if missing, leave blank, don't error. Render the title as aclickable link(pointing to the article's original URL).
| Title | Likes |
|---|---|
| Sample short drama hit article | 8,600 |
4. Cluster into a daily report + one insight
Take this batch of articles andclusterthem by angle direction (such as plot roundup / actor gossip / short drama commentary / ad placement recommendations), pick representative hit articles from each direction, and form a short daily report. End with one line in this duck's voice as atopic selection insight: which angle in the WeChat Official Account short drama circle is pulling the most volume today, and which title-writing style still has openings. Don't pile on boilerplate, and don't ask the user what their purpose is.
Get the key (secret key)
- Open doubaoya.com
- Log in
- Go to Key Center
- Generate key(in the form
dyh_…)
Configure to 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/gongzhonghao-playlet-feed/call- Auth header:
Authorization: Bearer $DOUBAOYA_API_KEY - Request body:
{ "keyword": "短剧", "pageNum": 1, "pageSize": 20 }keyword: string, requiredpageNum: integer, optional (default 1, controlled by--page)pageSize: integer, optional (default 20, controlled by--size)
- Return envelope:
{ "success": true, "requestId": "...", "data": { "items": [ { "title": "...", "likeCount": 8600 } ] }, "error": null } - First check
success: if it istrue, then readdata; otherwise readerror.code/error.message。
Error handling
When the script fails, it prints to stderr [error] CODE: message and exits with exit code 1. Common cases:
| 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 parameter (e.g. keyword is empty) | Fix the keyword 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_FAILEDwill automatically refund, retrying is safe and will not double-charge.
Directory structure
playlet-wechat-feed/
├── SKILL.md # 本文件
└── scripts/
└── fetch_playlet_feed.py # 零依赖脚本(urllib),调用 doubaoya.com
About the notice field in the response
After calling the doubaoya API corresponding to this skill, if the notice field appears at the top level of the returned JSON, 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 no retry or behavior change is needed.