Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Trend Scope

v1.0.2

舆情趋势洞察技能。根据用户需求自动生成专业的舆情分析报告,包含情感分布、地域分布、关键词分析、媒体分布、时间趋势等多维度分析。触发词:舆情、报告、生成报告、舆情报告、分析报告、品牌分析、市场分析、竞品分析、趋势分析。

0· 109·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for longgggggg/trend-scope.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Trend Scope" (longgggggg/trend-scope) from ClawHub.
Skill page: https://clawhub.ai/longgggggg/trend-scope
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: FEEDAX_REPORT_API_KEY
Required binaries: python3
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install trend-scope

ClawHub CLI

Package manager switcher

npx clawhub@latest install trend-scope
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name/description, required binary (python3), and request for a FEEDAX API key align with a report-generation tool that calls an external Feedax API. The code includes area code data and report templates that are coherent with purpose. HOWEVER the implementation hard-codes API_BASE_URL = "http://221.6.15.90:18011" (an IP) rather than using the advertised https://www.feedax.cn or a configurable official domain; this mismatch is unexplained.
!
Instruction Scope
SKILL.md explicitly says queries and filter parameters will be submitted to the Feedax report API and warns users not to paste sensitive identifiers. The code does send the query/filters to an external endpoint, which is expected, but the endpoint differs (hard-coded IP) and uses plain HTTP. The skill will save full reports to ~/Desktop/舆情分析报告/. The instructions do not explain the IP endpoint or why HTTP is used, and that lack of transparency is a scope/privacy concern.
Install Mechanism
There is no install spec (instruction-only plus included scripts), so nothing is automatically downloaded during install — lower file-write risk. However the bundled script will perform network requests to a hard-coded external IP; no installer mitigates that. No external downloads or obscure installers are present.
Credentials
Requested env var FEEDAX_REPORT_API_KEY (primary credential) is appropriate for an API-based reporting tool; the script also accepts FEEDAX_SEARCH_API_KEY as a fallback. No unrelated secrets or broad credential scopes are requested. Still, a single API key gives the remote endpoint full ability to accept submitted queries and respond with data — coupled with the unexplained IP/HTTP endpoint, that is a privacy risk.
Persistence & Privilege
Skill does not request always:true, has no install hook, and does not modify other skills or system config. It writes reports to a directory under the user's home (~/Desktop/舆情分析报告/) which is expected behavior for a report generator.
Scan Findings in Context
[HARDCODED_ENDPOINT_IP] unexpected: The script sets API_BASE_URL = "http://221.6.15.90:18011" (raw IP). The SKILL.md/README point users to feedax.cn; using a hard-coded IP instead of an official domain or configurable endpoint is unexpected and unexplained.
[INSECURE_HTTP] unexpected: The API base URL uses http (not https). Transmitting queries (which may include sensitive content) over plain HTTP risks interception and is inconsistent with best practices for an analytics API.
[EXTERNAL_HTTP_REQUESTS] expected: The tool must call a remote Feedax-like API to fetch report data, so outbound HTTP(S) requests are expected. The concern is the destination and transport (IP + HTTP) rather than the fact of network I/O.
[LOAD_DOTENV] expected: The script loads a local .env file and environment variables to obtain the API key; this is expected for an API-driven CLI. The README/skill.md instruct users to set FEEDAX_REPORT_API_KEY in env or .env.
What to consider before installing
This skill appears to be a legitimate report generator, but before installing or using it: 1) Do not paste API keys or PII into chat — follow the skill's advice and set FEEDAX_REPORT_API_KEY as an environment variable. 2) Verify the API endpoint: the code calls http://221.6.15.90:18011 (an IP) rather than an official feedax.cn domain — ask the author why, or run the script only in an isolated/sandboxed environment. 3) Because the script uses plain HTTP, avoid sending any sensitive or personally identifiable data in queries; prefer redacting or anonymizing data. 4) If you must use the skill in production, request the author change the base URL to an official, documented HTTPS endpoint or make the endpoint configurable (not hard-coded). 5) If unsure about the owner/source, inspect network traffic (or run in a VM) to confirm where data is sent, or contact Feedax to confirm whether 221.6.15.90:18011 is an authorised Feedax endpoint. These steps will reduce the risk of unintended data exposure.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binspython3
EnvFEEDAX_REPORT_API_KEY
Primary envFEEDAX_REPORT_API_KEY
latestvk970dnwcjr1kbv8wv4qdrq4hns84cf0w
109downloads
0stars
3versions
Updated 3w ago
v1.0.2
MIT-0

TrendScope - 舆情趋势洞察

根据用户需求自动生成专业的舆情分析报告,包含情感分布、地域分布、关键词分析、媒体分布、时间趋势等多维度分析。


一、执行流程

收到用户报告生成请求后,按以下步骤执行:

Step1:配置 API Key

使用本技能前,必须先配置 API Key。

配置方式(任选其一)

  1. 环境变量(推荐):在运行智能体的宿主环境中设置 FEEDAX_REPORT_API_KEY,或通过系统/密钥管理工具注入,请勿在对话中粘贴或朗读密钥
  2. 项目 .env:在技能项目根目录创建或编辑 .env,写入 FEEDAX_REPORT_API_KEY=...(可参考仓库内 .env.example)。不要将 .env 内容复制到聊天或日志。

如果未配置

向用户返回说明(不要要求用户把 Key 发到对话里):

GE1003:未配置 API Key。请前往 https://www.feedax.cn 申请,并在宿主环境或项目 .env 中设置环境变量 FEEDAX_REPORT_API_KEY切勿在聊天中发送密钥

数据与隐私

检索词、筛选条件与聚合参数会作为请求体提交到 Feedax 报告 API。请勿在 --query 或分析需求中输入身份证号、手机号、精确门牌等可识别个人身份的信息;涉及敏感主体时请自行脱敏后再检索。

Step 2: 解析用户输入

根据 三、解析规则 从用户自然语言中提取参数。

特别注意:如果用户输入中包含地域名称(省/市/区县),必须同时:

  1. --query 中加入地域关键词
  2. 添加 --area "地域名" 参数进行地域筛选

Step 3: 执行报告生成命令

# 无地域时
python3 scripts/report_cli.py --query "关键词" --days 7 --full-analysis

# 有地域时(如:长沙教育问题)
python3 scripts/report_cli.py --query "(长沙|湖南)&(教育|学校|教学|学生|老师|教师)" --area "长沙" --days 7 --full-analysis

Step 4: 返回结果

  • 在对话中展示报告摘要(总数据量、情感分布、地域TOP5、关键词TOP10等)
  • 完整报告自动保存至 ~/Desktop/舆情分析报告/ 目录

二、CLI 参数说明

2.1 必传参数

CLI参数简写说明
--query-q全文检索关键词,匹配标题/内容/作者名

queryString 语法规则:

  • 空格 = 与(AND)
  • & = 与(AND)
  • | = 或(OR)
  • ! = 非(NOT)
  • () = 优先级分组
  • 示例: (北京|上海)&(十五届|十五大)&!(茶叶|鸡蛋)

2.2 分页与排序

CLI参数简写默认值说明
--size-s10返回条数,1-20
--sortpublish_time排序字段,默认按发布时间排序
--sort-orderdesc排序方式:asc/desc

--sort 可选值:

  • publish_time - 默认。按发布时间排序,获取最新内容
  • interact_count - 按互动数(热度)排序
  • comments_count - 按评论数排序
  • likes_count - 按点赞数排序
  • reposts_count - 按转发数排序
  • fans_count - 按粉丝数排序

2.3 内容筛选

CLI参数简写说明
--media-m媒体平台,逗号分隔(如: 微博,抖音)
--author作者名称,精确匹配
--msg-type消息类型:original/comment/repost/all
--content-type内容类型:video/picture/text/all
--sentiment情感倾向:negative/neutral/positive/all
--media-class媒体分类(如: 中央媒体)
--domain内容领域(见参考文件)
--scene业务场景(见参考文件)
--area-a地域名称(如: 南京)
--verification认证类型:blue/yellow/normal

2.4 时间筛选

CLI参数简写说明
--days-d最近N天(如: --days 7),默认7天
--time-from开始时间(格式: YYYY-MM-DD HH:MM:SS)
--time-to结束时间(格式: YYYY-MM-DD HH:MM:SS)

2.5 互动数据筛选

CLI参数说明
--interact-min互动数最小值
--interact-max互动数最大值
--comments-min评论数最小值
--comments-max评论数最大值

2.6 报告控制参数

CLI参数简写说明
--full-analysis-f启用全维度分析(所有统计维度)
--no-articles不返回热文列表(仅返回统计数据)
--output-dir-o报告输出目录,默认 ~/Desktop/舆情分析报告/
--json-only仅输出JSON格式
--quiet静默模式,不显示摘要

aggregationTypes 默认值说明:

  • 默认模式(非 --full-analysis): ["sentiment", "keywords", "media_name", "area_code_province", "publish_time_histogram"]

    • 返回:情感分布、关键词、媒体平台、地域分布、时间趋势
  • 全维度模式--full-analysis): ["sentiment", "area_code_province", "media_class", "verification_type", "keywords", "media_name", "channel", "publish_time_histogram"]

    • 返回:所有8个维度的统计数据

注意: 未在 aggregationTypes 中指定的维度,API 将返回 null。这是正常行为,并非错误。

aggregationTypes 可选值:

参数值含义说明典型应用场景
sentiment情感倾向分布舆情正负面分析
area_code_province地域分布(省级)省份/地区热力图
media_class媒体分类分布不同媒体类型统计
verification_type作者认证类型分布蓝V/黄V/普通用户统计
keywords关键词分布生成词云图
media_name媒体名称分布具体发布账号排名
channel通道聚合分布数据来源通道统计
publish_time_histogram发布时间趋势时间轴折线图/柱状图
scenes场景分布业务场景分类统计

四、媒体平台列表

支持的媒体名称(mediaNames):

抖音、快手、微博、今日头条、火山、哔哩哔哩、小红书、微信、有驾、百家号、搜狐新闻、同花顺、股吧、东方财富、百度贴吧、搜狐网、乙方宝招标、度小视、汽车之家、网易、百度新闻、豆瓣网、喜马拉雅、百度知道、易车网、B站、网易新闻、懂车帝、新浪网、雪球、知乎、西瓜、好看、黑猫投诉、UC头条、新浪新闻、法律快车、东方财富网、搜狐新闻APP、腾讯新闻、新浪财经、皮皮虾、趣头条、QQ浏览器、什么值得买、腾讯微视、一点资讯、美篇、携程旅行网、全国12315互联网平台


五、媒体分类 (mediaClasses)

分类说明
其他未分类媒体
商业媒体商业性质媒体
行业媒体行业垂直媒体
民企民营企业账号
KOL关键意见领袖
省级媒体省级官方媒体
市&以下媒体市级及以下媒体
中央媒体中央级官方媒体
中央政府中央政府机构
区县及以下政府区县级政府机构
事业单位事业单位账号
市级政府市级政府机构
省级政府省级政府机构
社会团体社会团体组织
国企国有企业
服务机构服务机构
明星明星账号
央企中央企业
境外媒体境外媒体
高校高等院校
外国政府外国政府机构
智库智库机构

三、解析规则

3.1 关键词解析 (queryString)

从用户输入中提取核心检索关键词,生成搜索关键词表达式。

语法规则

运算符含义示例
|或关系 (OR)北京|首都|京城
&与关系 (AND)(南京|金陵)&(杀人|凶杀)
空格与关系 (AND)(南京|金陵) (杀人|凶杀)
()分组(北京|上海)&(医疗|卫生)
!非(NOT)北京&!(茶叶|鸡蛋)

解析示例

用户输入queryString同时需要 --area
南京杀人案(南京|金陵)&(杀人|凶杀|行凶)--area "南京"
比亚迪汽车召回比亚迪&(召回|退市|下架)
北京暴雨(北京|首都)&(暴雨|大雨|洪涝)--area "北京"
江苏南京教育问题(南京|金陵)&(教育|学校)--area "南京"

重要:当用户输入中明确包含地域名称(如城市、省份)时,必须同时传递 --area 参数

  • --query 中的地域关键词:匹配内容中提到该地域的文章
  • --area 参数:筛选发布者所在地域的文章
  • 两者配合使用可精确定位特定地域的本地舆情

3.2 媒体平台映射

用户表述mediaNames
抖音、快手、小红书["抖音", "快手", "小红书"]
短视频平台["抖音", "快手", "火山", "西瓜"]
微博["微博"]
财经平台["同花顺", "股吧", "东方财富", "雪球"]
新闻平台["今日头条", "百家号", "搜狐新闻", "网易新闻", "新浪新闻", "腾讯新闻"]

3.3 情感倾向映射

用户表述sentiments
负面/负面信息[-1]
正面/正面信息[1]
中性[0]
全部情感[-1, 0, 1]

3.4 媒体级别映射

用户表述mediaClasses
央媒/央级媒体["中央媒体"]
省媒/省级媒体["省级媒体"]
省级及以上["中央媒体", "省级媒体"]
地市级["市&以下媒体"]
商业媒体["商业媒体"]
官方账号["中央媒体", "省级媒体", "市&以下媒体", "中央政府", "省级政府", "市级政府"]

3.5 消息类型映射

用户表述messageTypes
原发/原创[1]
评论/评论区[2]
转发[3]
全部消息[1, 2, 3]

3.6 内容类型映射

用户表述contentTypes
视频["video"]
图片/图文["picture"]
文本/文字["text"]

3.7 认证类型映射

用户表述verificationType
蓝V/官方账号/机构号1
黄V/个人认证/大V0
普通用户/素人-1

3.8 时间范围计算

用户表述计算方式
6小时当前时间 - 6小时
24小时/一天当前时间 - 24小时
3天当前时间 - 3天
7天/一周当前时间 - 7天
30天/一个月当前时间 - 30天

3.9 排序方式映射

默认规则:除非用户明确要求,否则一律使用 publish_time(发布时间)排序

用户表述sortField说明
无明确要求publish_time默认,获取最新发布的内容
按热度/热门/最火的interact_count按互动数(热度)排序
按评论数/最多评论comments_count按评论数排序
按点赞数/最多点赞likes_count按点赞数排序
按转发数/最多转发reposts_count按转发数排序
按粉丝数/大V账号fans_count按粉丝数排序
最新/最近/新发布的publish_time按发布时间排序(默认)

六、CLI 命令示例

文件: scripts/report_cli.py

通过命令行调用报告生成API,支持所有筛选参数和聚合维度。

基础用法

# 基础报告生成
python3 scripts/report_cli.py --query "医疗问题"

# 生成指定地域的报告(最近7天)
python3 scripts/report_cli.py --query "南京 315" --area "南京" --days 7

# 生成指定平台和情感的报告
python3 scripts/report_cli.py --query "医疗问题" --media "微博,抖音" --sentiment negative

# 生成完整分析报告(包含所有聚合维度)
python3 scripts/report_cli.py --query "比亚迪" --days 30 --full-analysis

完整参数说明见 二、CLI 参数说明

完整示例

# 生成比亚迪最近30天的完整舆情分析报告
python3 scripts/report_cli.py \
    --query "比亚迪" \
    --days 30 \
    --media "微博,抖音,今日头条" \
    --full-analysis \
    --output-dir "./reports"

# 生成南京教育领域负面舆情报告
python3 scripts/report_cli.py \
    --query "(南京|金陵) (教育|学校)" \
    --area "南京" \
    --days 7 \
    --sentiment negative \
    --full-analysis

输出结果

  1. 对话展示:自动展示报告摘要(总数据量、情感分布、地域分布、关键词TOP10等)
  2. JSON报告文件:完整数据保存至 ~/Desktop/舆情分析报告/查询词_时间戳.json
  3. Markdown报告文件:可视化报告保存至 ~/Desktop/舆情分析报告/查询词_时间戳.md

七、参考文件

  • references/domains.json - 领域分类完整列表
  • references/scenes.json - 场景分类完整列表
  • references/media_names.json - 媒体平台完整列表
  • references/aggregation_types.json - 聚合维度完整列表
  • assets/area_codes.json - 国标区域编码数据

八、示例对话

示例1:基础报告

用户: 生成一份关于比亚迪最近一个月的舆情分析报告

参数解析:

提取项用户表述CLI参数
关键词比亚迪--query "比亚迪"
时间范围最近一个月--days 30
分析模式舆情分析报告--full-analysis

执行命令:

python3 scripts/report_cli.py --query "比亚迪" --days 30 --full-analysis

示例2:指定平台和情感

用户: 帮我看看微博和抖音上关于南京地铁的负面舆情

参数解析:

提取项用户表述CLI参数
关键词南京地铁--query "(南京|金陵)&地铁"
媒体平台微博和抖音--media "微博,抖音"
情感倾向负面舆情--sentiment negative
地域南京--area "南京"

执行命令:

python3 scripts/report_cli.py --query "(南京|金陵)&地铁" --media "微博,抖音" --sentiment negative --area "南京" --days 7

示例3:热度排序

用户: 最近3天最火的医疗相关话题有哪些

参数解析:

提取项用户表述CLI参数
关键词医疗--query "医疗|卫生"
时间范围最近3天--days 3
排序方式最火的--sort interact_count

执行命令:

python3 scripts/report_cli.py --query "医疗|卫生" --days 3 --sort interact_count

示例4:央媒报道

用户: 统计一下央媒对新能源汽车的报道情况

参数解析:

提取项用户表述CLI参数
关键词新能源汽车--query "新能源&汽车"
媒体分类央媒--media-class "中央媒体"
分析模式统计--full-analysis

执行命令:

python3 scripts/report_cli.py --query "新能源&汽车" --media-class "中央媒体" --days 7 --full-analysis

示例5:精确时间范围

用户: 生成3月1日到3月15日期间关于315消费者权益的报告

参数解析:

提取项用户表述CLI参数
关键词315消费者权益--query "315&(消费者|维权)"
开始时间3月1日--time-from "2026-03-01 00:00:00"
结束时间3月15日--time-to "2026-03-15 23:59:59"

执行命令:

python3 scripts/report_cli.py --query "315&(消费者|维权)" --time-from "2026-03-01 00:00:00" --time-to "2026-03-15 23:59:59" --full-analysis

九、报告输出格式

9.1 JSON格式(原始数据)

{
  "report_info": {
    "queryString": "比亚迪",
    "size": 10,
    "sortField": "publish_time",
    "sortOrder": "desc",
    "hotArticles": true,
    "aggregationTypes": ["sentiment", "keywords", "media_name", "area_code_province", "publish_time_histogram"],
    "timeFrom": "2026-03-03 00:00:00",
    "timeTo": "2026-04-02 23:59:59",
    "areaCodes": ["320100"],
    "report_time": "2026-04-02T18:00:00",
    "total": 77956
  },
  "data": {
    "articles": [...],
    "aggregation": {
      "sentimentDistribution": [...],
      "areaCodeProvinceDistribution": [...],
      "keywordsDistribution": [...],
      ...
    }
  }
}

说明report_info 包含 API 调用时的完整请求参数,便于追溯和复现查询。

9.2 Markdown格式(文本报告)

包含以下内容:

  • 报告概览(总数据量、时间范围)
  • 情感倾向分析(表格形式)
  • 地域分布分析(TOP10省份)
  • 媒体分布分析(媒体类型、平台分布)
  • 关键词分析(TOP20关键词)
  • 时间趋势分析(24小时趋势)
  • 热文列表(TOP10热文)

9.3 HTML格式(可视化报告)

生成美观的可视化 HTML 报告,可直接在浏览器中打开查看。包含以下模块:

  • 舆情概况 - 信息总量、负面/中性/正面统计卡片、情感占比进度条
  • 传播渠道分布 - 视频/微博/APP等渠道的数量和占比表格
  • 媒体平台分布 - TOP10 媒体平台排名表格
  • 省级地域分布 - TOP15 省份/地区卡片展示
  • 关键词云 - TOP20 关键词标签云(动态字号)
  • 传播趋势 - ECharts 时间趋势折线图(交互式)
  • 热门文章 - TOP20 热文列表(含标题、作者、平台、摘要)
  • 总结 - 核心发现汇总

说明:HTML 报告使用 ECharts 图表库,需联网加载 CDN 资源。


十、错误处理

当报告生成失败时,根据以下错误码判断原因并采取相应措施。

10.1 API Key 错误码

CLI 优先读取环境变量 FEEDAX_REPORT_API_KEY;若仍为空,会尝试读取旧名 FEEDAX_SEARCH_API_KEY(兼容旧配置,建议尽快改为 FEEDAX_REPORT_API_KEY)。

错误码说明原因解决方案
GE1003未配置API Key未设置 FEEDAX_REPORT_API_KEY(或兼容的旧名)在宿主环境或 .env 中配置,前往 https://www.feedax.cn 免费申请
GE1004API Key已失效API Key 被禁用或撤销检查API Key有效性,或重新申请
GE1005API Key已过期API Key 超过有效期前往 https://www.feedax.cn 重新申请
GE1006API Key无效API Key 格式错误或不存在前往 https://www.feedax.cn 重新申请
GE1007账户余额不足账户配额已用完前往 https://www.feedax.cn 充值

10.2 HTTP 状态码错误

HTTP状态码错误提示原因建议操作
400请求参数错误,请检查输入参数格式或值不正确检查 CLI 参数
401/403API Key可能无效或已过期认证失败检查 API Key 配置
429请求过于频繁,请稍后再试超过请求频率限制等待后重试
500服务器内部错误服务端异常稍后重试
502服务暂时不可用,请稍后再试网关错误稍后重试
503服务维护中,请稍后再试服务正在维护稍后重试
504网关超时,请稍后再试请求处理超时稍后重试

10.3 网络错误

错误类型错误提示原因建议操作
连接超时请求超时,请稍后再试网络延迟或服务繁忙检查网络,稍后重试
连接错误无法连接到服务器,请检查网络或稍后再试网络不可达检查网络连接,稍后重试

Comments

Loading comments...