SuperAPI AI Directory

global-ai-news-brief

General & other

View repository

Updated 10-16 04:56

About this skill

Global AI News Briefing

Enter one keyword to simultaneously launch search requests across 11 major platforms. After cross-platform data aggregation, AI generates an in-depth intelligence report.

Covered Platforms

# Platform API Path Search Parameters Sort Options
1 Douyin /story/api/dy/data/searchWork keyword, pageNum, pageSize —
2 Xiaohongshu /story/api/xhsUser/searchArticle keyword, offset, sortType 0=Default/2=Latest/4=Hottest
3 WeChat Official Accounts /story/api/gzh/data/searchArticle keyword, offset, sortType 0=Default/2=Latest/4=Hottest
4 Bilibili /story/api/bili/data/workSearch keyword, page, pageSize, order time/play/like/comment/favorite
5 Kuaishou /story/api/ksAllData/searchWork keyword, page, size, sort Comprehensive/Latest/Most Liked/Most Favorited
6 WeChat Channels /story/api/sphAllData/searchWork keyword, sort, page, size Comprehensive/Latest/Most Liked/Most Favorited
7 Toutiao /story/api/toutiao/searchWork keyword, offset —
8 TikTok /story/api/tiktok/ability/searchVideo keyword, offset, count, sortType, publishTime, region 0=Relevance/1=Most Liked
9 Instagram /story/api/ins/search keyword, paginationToken —
10 X(Twitter) /story/api/x/search keyword, searchType, cursor Top/Latest/Media
11 YouTube /story/api/youtube/searchVideo searchQuery, continuationToken —

Host for all APIs: https://redfox.hk,Method: POST,Content-Type: application/json, see “🔑 Authentication” below for the authentication method. For detailed request/response fields, see api-reference.md。

🔑 Authentication

Get API Key

Please go to Redfox Hub to get an API KEY

Configure API Key

Option 1: Taking OpenClaw as an example, add REDFOX_API_KEY to ~/.openclaw/openclaw.json :

{ "env": { "REDFOX_API_KEY": "ak_xxxx..." } }

Option 2: Terminal configuration

export REDFOX_API_KEY="ak_xxxx..."

The request headers of all platform APIs carry REDFOX-API-KEY + X-API-Key(values are all $REDFOX_API_KEY). If missing, the script errors out and prompts for configuration.

Workflow

Step 1: Keyword Processing

  • The keyword entered by the user is used directly as the search term
  • If the input contains suffixes such as "expert", "blogger", "KOL", "influencer", "account", etc., the suffix is automatically stripped and only the core semantic word is retained
  • You may ask the user whether to specify a platform scope (default is all 11 platforms)

Step 2: Parallel Data Collection

Use the script scripts/fetch_all.py for one-click parallel collection (internally uses a thread pool to concurrently request all platforms):

python3 ~/.agents/skills/global-ai-news-brief/scripts/fetch_all.py "关键词" --pretty
  • Prerequisite: environment variable REDFOX_API_KEY is set (the script will detect it and error out if missing)
  • Default behavior: request all 11 platforms in parallel, taking the homepage data (20 items) from each platform
  • Specify a platform subset:--platforms douyin,xhs,gzh,bilibili,kuaishou,shipinhao,toutiao(use only when searching domestic platforms)
  • Output: standardized JSON written to /tmp/news_intel_result.json, while printing each platform's collection status to stderr
  • Fault tolerance: if a single platform fails, it is automatically skipped and marked in the result's failedPlatforms field, without affecting other platforms

Output JSON structure:

{
  keyword: string,          // 搜索关键词
  generatedAt: string,      // 生成时间
  platformCount: number,    // 成功平台数
  failedPlatforms: [],      // 失败平台列表 [{platform, error}]
  totalItems: number,       // 总内容条数
  totalEngagement: number,  // 总互动量(点赞+评论+分享+播放)
  results: {                // 按平台 key 分组
    douyin: { platform, count, total, items[] },
    ...
  }
}

Each items[] entry has been standardized by the script into a unified structure (see Step 3), so the Agent can directly read the JSON file for analysis without needing to handle differences in field names across platforms.

Step 3: Data Standardization

Unify the data returned by each platform into the following standard structure:

{
  platform: string,     // 平台名称
  title: string,        // 标题/描述首行
  content: string,      // 正文/描述
  author: string,       // 作者昵称
  url: string,          // 作品链接
  publishTime: string,  // 发布时间
  likes: number,        // 点赞数
  comments: number,     // 评论数
  shares: number,       // 分享/转发数
  views: number,        // 播放/阅读数
  collects: number,     // 收藏数
  followers: number,    // 作者粉丝数
  coverUrl: string,     // 封面图
  mediaType: string     // video/image/text
}

Field mapping key points(handling differences in field names across platforms):

Standard Field Douyin Xiaohongshu WeChat Official Account Bilibili Kuaishou WeChat Channels Toutiao TikTok Instagram X YouTube
title content workTitle title title caption description title content captionText text title
author authorName accountNickname author author nickname nickname nickname authorData.userName user.fullName user.displayName author
likes likeCount workLikedCount likeCount likeCount likeCount likeCount — statsData.likeCount likeCount likeCount —
comments commentCount workCommentsCount commentCount commentCount commentCount commentCount commentNum statsData.commentTotal commentCount replyCount —
views — — readCount playCount viewCount — — statsData.viewCount playCount viewCount viewCount
url opusUrl workUrl workUrl Concatenate BV Concatenate photoId — opusUrl shareLink Concatenate code Concatenate tweetId Concatenate videoId

Step 4: AI intelligent analysis and output

Perform analysis on all aggregated data,output strictly in the following four sections in order(both the terminal and the HTML report follow this order):


Section 1: News events

Reconstruct "what happened"—objectively present the full picture of the event.

  • Event overview: summarize the core event in 3-5 sentences (who, what, when, where, scope of impact)
  • Key event timeline: arrange key nodes by publication time, reconstructing the event's propagation path from emergence to escalation; sorting rule:the latest time is at the top (reverse chronological order), and entries without a clear date (such as "overseas long-term") are placed last
  • Hot topic clustering: automatically cluster all content by theme into 3-8 hot topics, with each topic labeled:
    • Topic name
    • Number of platforms involved
    • 2-3 representative content items (including title, author, platform, link)

Section 2: News interpretation

AI in-depth analysis of "what it means"—extract insights and judgments.

  • Core summary: a concise summary within 200 characters, including event characterization, impact assessment, and trend prediction
  • Key findings: 3-5 core insights, each including an argument + data support
  • Public opinion trends:
    • Network-wide sentiment distribution: proportion of positive / neutral / negative
    • Core points of consensus (views agreed upon by most people)
    • Core points of controversy (the most divisive issues)
  • Big V opinions (KOL): identify authors with more than 10,000 followers or top single-post engagement, and list author name, platform, follower count, and representative views; the title should uniformly use the plain expression "Big V opinions" and not use "key opinion leader". Render account names as clickable links that jump to the author's homepage. Homepage link concatenation rules (extract the author ID from the work link or API field and concatenate):
    • X/Twitter:https://x.com/{username}(extracted from the work URL /status/ prefix)
    • TikTok:https://www.tiktok.com/@{username}(extracted from the work URL /@xxx/ segment)
    • Instagram:https://www.instagram.com/{username}/
    • Bilibili:https://space.bilibili.com/{mid}(fall back when the API has no mid https://search.bilibili.com/all?keyword={作者名})
    • WeChat Official Account:https://open.weixin.qq.com/qr/code?username={biz}
    • Platforms such as Kuaishou/Xiaohongshu where the author ID cannot be extracted: fall back to the platform search link (such as https://www.kuaishou.com/search/video?searchKey={作者名})
    • WeChat Channels has no public homepage link: do not render a link

Section 3: Different interpretation tendencies across platforms

Cross-platform comparison of "how each platform sees it"—reveal platform differentiation characteristics.

For each platform with data, analyze the following dimensions:

Analysis dimension Description
Sentiment tendency The platform's positive/neutral/negative proportions, compared with the network-wide average
Focus of attention The subtopics/angles that users on this platform pay most attention to (differences from other platforms)
Content format Which is primary: video/image-text/long-form text
Popularity metrics Number of content items, total engagement, average engagement
Representative voices The 2-3 content items with the highest engagement on that platform and a summary of their viewpoints

Output asCross-platform comparison matrix table:

| 平台 | 内容数 | 总互动 | 情感倾向 | 关注焦点 | 代表观点 |
|------|-------|-------|---------|---------|---------|
| 抖音 | 20 | 58000 | 正面65% | 事件现场视频 | "xxx" |
| 公众号 | 18 | 120000 | 中性55% | 深度分析文章 | "xxx" |
| X/Twitter | 15 | 9200 | 负面60% | 批评与讨论 | "xxx" |

Section Four: Data Sources

Full display of raw data—list all search results in segments by platform.

Terminal output: Each platform displays a TOP 5 table:

### 抖音 TOP 5

| # | 标题 | 作者 | 点赞 | 评论 | 分享 | 发布时间 | 链接 |
|---|------|------|------|------|------|---------|------|
| 1 | xxx | xxx | 8000 | 280 | 150 | 2026-05-20 | [查看](url) |

HTML report: Each platform has a switchable Tab, displaying all data entries for that platform, including cover image, title, author, complete data metrics, and original link.

Data time range annotation: After the data source title (h2 "IV. Data Sources"), annotate the actual data time range in small .formula-note text, e.g. "(Data time range: 2026-07-20 ~ 2026-08-19 as the main body of recent 30 days of data, including a small amount of older historical news, earliest 2024-07-02)". Calculation rules:

  • Parse the publishTime of all entries (compatible with three formats:YYYY-MM-DD..., X/Twitter's %a %b %d %H:%M:%S +0000 %Y, relative time N days/weeks/months ago(calculated based on the collection date)), take the minimum/maximum date
  • Scope: the 30 days before the report's current time is the main window; if more than 90% of entries fall within this window, the text notes "main body recent 30 days (start date ~ latest date)"; earlier entries outside the window are counted as "historical old news", noting the earliest date

Step 5: HTML report generation

Use the assets/report-template.html template to generate an interactive HTML report, strictly organized into four major sections:

  1. Top overview: The subtitle line displays the search keywords, number of covered platforms, total number of content items,data time range (short format "YYYY-MM-DD ~ YYYY-MM-DD", with the long description after the data source title); the overview card area has only 4 cards (covered platforms/total content/total engagement/active platforms); generation time appears only in the footer at the bottom of the page
  2. Section One · News Events: Event overview card + vertical timeline + hot topic tag cloud + hot topic detail cards (.topic-list grid + .topic-card card style, card header with a small blue square decoration + topic name + number of platforms, body as a bulleted list)
  3. Section Two · News Interpretation: Core summary area + key findings list + public opinion trend dashboard (positive/neutral/negative progress bars) + big V opinion cards
  4. Section Three · Interpretation tendencies of each platform: Cross-platform comparison matrix table + bar chart comparing sentiment across platforms (implemented in CSS, with the calculation formula "engagement = likes + comments + shares + plays" annotated in small .formula-note text after the title) + difference highlights
  5. Section Four · Data Sources: Platform Tab switcher; each Tab displays all content cards for that platform (cover, title, author, metrics, link).Tab sorting rule: sort in descending order by platform engagement (likes + comments + shares + plays), with the platform with the highest engagement first; entries within a Tab keep the original order returned by the API, with no secondary sorting

Cover display rule:

  • Platforms whose API does not return covers (such as Toutiao): all cards for that platform do not render the cover area and start directly from the body text (detected at generation time: if coverUrl is empty for all entries within a platform, it is regarded as a no-cover platform)
  • When other platforms have no cover image: render a fixed-height (180px) white background placeholder block to ensure uniform card heights
  • Cover image load failure (onerror): remove src, keep the white placeholder block, do not hide or collapse

Conversation output: all key annotations generated in the report must be shown synchronously in the conversation reply, including:

  • Data time range (short format + main entity proportion/historical old news explanation)
  • Engagement calculation formula definition: engagement = likes + comments + shares + views (platforms whose API does not return views are counted as 0)
  • Per-platform data statistics, engagement rankings, report file path

The HTML file is saved to this Skill's output/ directory, filename global-ai-news-brief-report-{keyword}-{date}.html(create the directory first if it does not exist), open with the open command. Saving to temporary directories such as /tmp is prohibited.

Error handling

  • When a platform request fails, skip that platform and mark "data temporarily unavailable" in the report
  • Do not block data collection from other platforms
  • When the API key is missing, prompt the user to set the REDFOX_API_KEY environment variable

Usage example

用户:帮我查一下"新能源汽车"最新的全网舆情
Agent:→ 并行搜索 11 平台 → 聚合数据 → AI 分析 → 输出终端表格 + HTML 报告

用户:追踪一下"台风"相关的全网信息
Agent:→ 同上流程,侧重时间线和事件追踪

用户:只看国内平台,搜一下"暑期旅游"
Agent:→ 仅搜索抖音/小红书/公众号/B站/快手/视频号/头条 7 个国内平台