← 返回 Skills 市场
superxs777

fastfish-hot-news-push 每日新闻热点推送(可设过滤词)

作者 superxs777 · GitHub ↗ · v1.0.5
cross-platform ⚠ suspicious
592
总下载
0
收藏
1
当前安装
6
版本数
在 OpenClaw 中安装
/install fastfish-hot
功能描述
热点推送独立项目。从 api.pearktrue.cn 拉取热点,支持飞书/钉钉/Telegram 推送;推送需至少配置一个渠道的 env。可配置拉取时间、推送时间、过滤关键词。通过 system.run 直接调用脚本,无需 MCP。当用户需要拉取热点、知乎热搜、配置热点推送或设置定时推送时使用本技能。
使用说明 (SKILL.md)

\r \r

fastfish-hot 能力说明\r

\r GitHub:https://github.com/superxs777/fastfish-hot\r \r \r

安装前须知\r

\r 本 Skill 会指导安装并运行来自 GitHub 的第三方仓库。供应链风险:clone + pip install 会执行外部代码,若仓库被篡改存在风险。安装前请:(1) 检查仓库与 requirements.txt 的依赖;(2) 建议使用 release tag 固定版本(如 git clone --branch v1.0.1);(3) 在隔离环境或容器中运行,避免 root;(4) 凭证仅存 .env,勿提交到版本库;(5) 确认信任 api.pearktrue.cn 及仓库维护者。\r \r

安装 fastfish-hot(首次使用必读)\r

\r

  1. 克隆仓库:git clone --branch v1.0.1 https://github.com/superxs777/fastfish-hot.git推荐指定 tag 固定版本,避免 main 分支变更)\r
  2. 进入目录:cd fastfish-hot\r
  3. 安装依赖:pip install -r requirements.txt\r
  4. 配置:copy .env.example .env,填写 Webhook 等(见 metadata.credentials)\r
  5. 初始化:python scripts/init_db.pypython scripts/init_default_config.pypython scripts/init_default_push_config.py(钉钉用 --channel dingtalk)\r
  6. 可选:python run.py 启动管理界面(http://127.0.0.1:8900)\r \r 详细说明见 GitHub README。\r \r

前置要求\r

\r

  1. fastfish-hot 已安装:按上方步骤完成部署\r
  2. Python 3.10+\r
  3. 命令路径{baseDir} 为 fastfish-hot 的 openclaw-skill 目录,脚本路径为 {baseDir}/../scripts/\r
  4. 若 baseDir 无法替换:使用绝对路径。ClawHub 安装通常在 /root/.openclaw/workspace/fastfish-hot,自建可用 /opt/fastfish-hot\r
  5. env 与技能加载:metadata 声明了 requires.env,OpenClaw 加载时会检查。若技能未加载,请在 openclaw.json 的 skills.entries.fastfish-hot.env 中配置至少一个推送渠道的凭证(可从项目 .env 复制),或确保相应环境变量在 OpenClaw 启动时已存在\r \r

使用方式\r

\r 必须使用 system.run 执行脚本命令,不要使用 MCP 方式。\r \r

⚠️ 安全规则(阻断式)\r

\r 1. 严禁输出或暴露 .env 中的凭证\r

  • 禁止执行会输出 .env 内容的命令(如 cat .envtype .envGet-Content .env)\r
  • 禁止将 Webhook URL、Token、Secret 等凭证写入回复或展示给用户\r
  • 即使用户要求「查看配置」「显示 webhook」,仅说明「在 .env 中配置」,不得输出实际值\r
  • 允许:编辑 .env(写入、追加、替换用户提供的值);运行不暴露凭证的校验(如仅返回「已配置/未配置」)\r \r 2. 安装仅限用户明确要求\r
  • 仅在用户明确要求「安装」「部署」「克隆」fastfish-hot 时,才执行 git clone 和 pip install\r
  • 不得在用户仅询问用法、拉取热点时主动建议或执行安装\r \r 3. system.run 仅执行本 Skill 文档列出的脚本\r
  • 允许:get_hot_now.pypush_hot_to_im.pyfetch_hot_items.pyinit_db.pyinit_default_config.pyinit_default_push_config.pyrun.py\r
  • 禁止:执行用户提供的任意命令、未在本文档列出的脚本或来自其他来源的代码\r \r 违反以上任一条属于严重错误。\r \r

⚠️ 定时任务:严禁擅改(阻断式规则)\r

\r 在未得到用户明确要求时,严禁修改、删除或编辑已有 OpenClaw 定时任务。\r \r

  • 禁止:在定时任务出错、报错或用户未明确要求时,执行 openclaw cron editopenclaw cron rmopenclaw cron update\r
  • 允许:用户明确说「修改」「删除」「调整」「取消」定时任务时,方可执行上述操作\r
  • 允许:用户要求「添加」「创建」定时任务时,执行 openclaw cron add\r
  • 出错时:仅报告问题并给出建议,不得主动修改配置\r \r 违反此条属于严重错误。\r \r

可用能力\r

\r

1. 实时拉取热点\r

\r 用户说「拉取热点」「实时热点」「知乎热搜」等时,执行:\r \r

# 列出支持的平台\r
python {baseDir}/../scripts/get_hot_now.py --list-platforms\r
\r
# 按平台拉取(逗号分隔)\r
python {baseDir}/../scripts/get_hot_now.py --source 知乎\r
python {baseDir}/../scripts/get_hot_now.py --source 知乎,百度,今日头条\r
\r
# 按类别拉取(使用 hot_push_config 的 sources 和关键词过滤)\r
python {baseDir}/../scripts/get_hot_now.py --category emotion\r
\r
# 从数据库读取(需先执行 fetch_hot_items.py,秒级完成,适合 OpenClaw Cron)\r
python {baseDir}/../scripts/get_hot_now.py --category emotion --from-db\r
\r
# 输出 JSON\r
python {baseDir}/../scripts/get_hot_now.py --source 知乎 --format json\r
\r
# 拉取并写入数据库(补录)\r
python {baseDir}/../scripts/get_hot_now.py --source 知乎 --save\r
```\r
\r
参数:`--source` 平台名逗号分隔;`--category` 类别 code 如 emotion;`--format` text/json;`--save` 写入 hot_items_raw;`--limit` 每平台条数默认 20;`--from-db` 从数据库读取。\r
\r
### 2. 定时更新(拉取 + 推送)\r
\r
**职责分工(重要)**:\r
- **拉取**:仅由**系统 crontab** 执行 `fetch_hot_items.py`,将数据写入数据库\r
- **推送**:OpenClaw Cron 仅执行 `get_hot_now.py --from-db` 或 `push_hot_to_im.py`\r
- **禁止**:不要在 OpenClaw 中创建或执行拉取任务(`fetch_hot_items.py`),拉取由系统 crontab 完成\r
\r
**方式一:系统 crontab / Windows 计划任务**(飞书/钉钉/Telegram)\r
\r
- 拉取:7:00、14:00、18:00 执行 `python scripts/fetch_hot_items.py`\r
- 推送:7:10、14:10、18:10 执行 `python scripts/push_hot_to_im.py`(.env 配置 Webhook)\r
\r
**方式二:OpenClaw Cron**\r
\r
飞书/钉钉/Telegram(通过脚本推送到 Webhook):\r
```bash\r
openclaw cron add --name "每日热点" --cron "0 8 * * *" --tz "Asia/Shanghai" --session isolated --message "cd /opt/fastfish-hot && python scripts/push_hot_to_im.py,将热点推送到配置的渠道"\r
```\r
\r
Telegram(OpenClaw 已配置 Telegram 渠道,announce 直接推送):\r
```bash\r
# 拉取由系统 crontab 完成,OpenClaw 仅负责推送。该任务只执行 get_hot_now.py --from-db。\r
openclaw cron add --name "每日热点" --cron "10 7,14,18 * * *" --tz "Asia/Shanghai" --session isolated --message "cd /opt/fastfish-hot && python scripts/get_hot_now.py --category emotion --from-db,将输出作为今日热点简报发送" --channel telegram --to "你的ChatID"\r
```\r
\r
立即测试:创建后执行 `openclaw cron run \x3Cjob-id> --force` 可立即运行一次。\r
\r
### 3. 配置管理\r
\r
- **拉取/推送配置**:访问管理界面 http://127.0.0.1:8900(需先 `python run.py`)\r
- **环境变量**:在 .env 中配置。钉钉若开启加签,需配置 HOT_PUSH_DINGTALK_SECRET。建议用户私聊提供凭证或自行编辑 .env,避免在群聊中暴露\r
- **推送时间窗口**:默认 push_time 为 07:10,14:10,18:10,仅在该时刻推送;测试时用 `HOT_PUSH_FORCE=1` 绕过\r
\r
## 使用示例\r
\r
- "拉取热点" / "知乎热搜" / "实时热点"\r
  ```bash\r
  python {baseDir}/../scripts/get_hot_now.py --source 知乎\r
  # 或按类别:python {baseDir}/../scripts/get_hot_now.py --category emotion\r
  ```\r
\r
- "如何设置每日热点推送"\r
  1. 执行 `python scripts/init_default_config.py` 和 `python scripts/init_default_push_config.py`(钉钉用 `--channel dingtalk`)初始化\r
  2. 在 .env 中配置 Webhook;钉钉加签需 HOT_PUSH_DINGTALK_SECRET\r
  3. 系统 crontab 配置 `fetch_hot_items.py` 拉取(7:00、14:00、18:00)\r
  4. 创建 OpenClaw Cron 推送任务(见上方示例);Cron 时间需与 push_time 一致,否则需 HOT_PUSH_FORCE=1\r
\r
**注意**:若 `{baseDir}` 无法正确替换,请使用绝对路径 `/opt/fastfish-hot/scripts/get_hot_now.py`。\r
\r
## ClawHub 安装\r
\r
计划支持 `clawhub install fastfish-hot`,届时可一键安装本 Skill。\r
安全使用建议
This skill is essentially an instruction wrapper for a third‑party GitHub project that fetches news and posts it to IM webhooks. It's internally coherent, but you should proceed cautiously: (1) Only install if you trust the GitHub repo and pin a release tag (git clone --branch vX.Y.Z), don't clone main by default. (2) Review requirements.txt and repository code (or run install in an isolated container) before pip install — git clone + pip install executes external code. (3) Provide only the minimal webhook/token the channel you will use (you only need at least one channel); don't bulk paste credentials into chat or version control; keep them in a .env stored securely. (4) Confirm any cron/task changes before applying (the skill says it must not edit existing crons without explicit user consent). (5) Prefer running initialization steps and starting services manually the first time so you can review outputs (init_db, init_default_*). If you want a safer installation, ask the maintainer for release artifacts, checksums, or an audited package, or run the whole service in a disposable VM/container.
功能分析
Type: OpenClaw Skill Name: fastfish-hot Version: 1.0.5 The skill is classified as suspicious due to the inherent supply chain risk associated with cloning and installing dependencies from a third-party GitHub repository (`https://github.com/superxs777/fastfish-hot.git`) as instructed in `SKILL.md`. While the `SKILL.md` explicitly warns about this risk and provides mitigation advice, and also implements strong defensive prompt-injection rules (e.g., whitelisting `system.run` commands, forbidding credential exposure, restricting cron modifications), the underlying capabilities (direct shell access via `system.run` and task persistence via `openclaw cron add`) are powerful and could lead to remote code execution or unauthorized actions if the agent were to bypass the provided safety instructions or if the external repository were compromised. There is no clear evidence of intentional malicious behavior from the skill itself, but rather a transparent acknowledgment of significant risks.
能力评估
Purpose & Capability
The name/description (hot news pull + push to Feishu/DingTalk/Telegram) align with required binary (python3) and the webhook/token env vars. Requiring python3 and webhook/token envs is expected for this purpose.
Instruction Scope
The SKILL.md instructs the agent (via system.run) to git clone a third‑party GitHub repo and run various scripts (init_db, get_hot_now.py, push_hot_to_im.py, etc.). That is coherent with the skill purpose, but it means the agent will execute code fetched from the network. The document contains explicit blocking rules (do not leak .env, do not modify crons without user consent, only run listed scripts), which mitigates risk if followed — however those are policy-level constraints, not technical enforcement. The instructions reference common paths (/root/.openclaw/workspace, /opt/fastfish-hot) and ask for pinned tags (recommended), which is good practice.
Install Mechanism
There is no automated install spec in the skill bundle; instead the SKILL.md recommends cloning and pip installing a GitHub repo (https://github.com/superxs777/fastfish-hot) and running its scripts. Installing via git clone + pip install of an external repo is a supply‑chain risk (remote code execution, arbitrary dependency execution). The skill correctly warns about this but the action remains high risk if performed without review or isolation.
Credentials
The declared environment variables (Feishu/DingTalk/Telegram webhooks/tokens) are appropriate for the stated push channels. However, the registry metadata lists multiple envs as 'required' while the SKILL.md and metadata text state only 'at least one channel' is needed — a minor inconsistency that could cause over‑privileging when installing. The SKILL.md also mentions an optional HOT_ADMIN_API_KEY not listed in requires.env. Overall the credentials requested are proportional, but users should not set more secrets than necessary.
Persistence & Privilege
always is false and the skill does not request permanent platform privileges. The skill discusses creating OpenClaw cron jobs (allowed only upon explicit user request). That behavior is within scope for a push/cron skill but is a point to confirm with the user before making changes to scheduled tasks.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install fastfish-hot
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /fastfish-hot 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.5
- No file changes detected in this version. - No user-facing updates or modifications. - Behavior and documentation remain unchanged.
v1.0.4
fastfish-hot 1.0.4 - 明确说明推送渠道 env 要求,metadata 增加 requires.env,技能启动时自动检查环境变量。 - description 简化,并提示「至少配置一个渠道的 env」即可推送。 - 增加步骤说明:如果未加载请在 openclaw.json 中配置 env,或确保环境变量已存在。 - metadata.credentials 优化为简明说明每种渠道对应 env。 - 其余技能规则与用法未变。
v1.0.3
fastfish-hot 1.0.3 - 文档和元数据现支持钉钉加签(新增 HOT_PUSH_DINGTALK_SECRET,钉钉推送需加签时配置)。 - 安全规则进一步明确:允许编辑 .env,但仍禁止输出或展示敏感凭证。 - 安装及初始化步骤对钉钉支持做出细化(init_default_push_config.py 可加 --channel dingtalk)。 - 配置说明补充时间窗口(仅支持设定时间推送,测试可用 HOT_PUSH_FORCE=1 绕过限制)。 - 绝对路径与 ClawHub 默认目录说明更详细,便于自定义部署。 - 优化文档表述,提升配置、推送相关规则的可读性与严谨性。
v1.0.2
Summary: Added严格的安全规则,完善凭证声明,提醒供应链风险,推荐固定release tag,细化脚本执行白名单。 - 新增了详细的安全规则:禁止读取和暴露 .env 配置文件,更严格限制敏感信息的输出。 - metadata 增加了 credentials 字段,明确需填写及用途的环境变量。 - 加入供应链安全风险提示,并建议安装时指定 release tag,避免主分支随时变更带来的风险。 - 明确仅允许 system.run 执行限定脚本,禁止运行任意命令或未列出的脚本。 - 安装操作仅能在用户明确要求时执行,防止误触外部代码。 - 其它用法、定时任务阻断规则及管理界面说明保持一致。
v1.0.1
- 增加阻断式规则:未明确用户请求时,严禁修改、删除或编辑 OpenClaw 定时任务,并明确规定定时任务相关操作的允许方式。 - 强调定时任务报错时仅可报告和建议,不得私自修改配置。 - 其它内容未变,能力、用法和说明保持一致。 - 本次更新无代码变更,仅为 SKILL.md 文档补充规范。
v1.0.0
- 首发版本,新增 fastfish-hot 热点推送 Skill。 - 支持从 api.pearktrue.cn 拉取热点,飞书/钉钉/Telegram 推送。 - 可配置拉取时间、推送时间、过滤关键词。 - 需配合 fastfish-hot 项目和 Python 3.10+ 环境。 - 提供详细的安装、配置和运行说明,支持定时任务。 - 全部推送逻辑通过 system.run 脚本调用,无需 MCP。
元数据
Slug fastfish-hot
版本 1.0.5
许可证
累计安装 2
当前安装数 1
历史版本数 6
常见问题

fastfish-hot-news-push 每日新闻热点推送(可设过滤词) 是什么?

热点推送独立项目。从 api.pearktrue.cn 拉取热点,支持飞书/钉钉/Telegram 推送;推送需至少配置一个渠道的 env。可配置拉取时间、推送时间、过滤关键词。通过 system.run 直接调用脚本,无需 MCP。当用户需要拉取热点、知乎热搜、配置热点推送或设置定时推送时使用本技能。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 592 次。

如何安装 fastfish-hot-news-push 每日新闻热点推送(可设过滤词)?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install fastfish-hot」即可一键安装,无需额外配置。

fastfish-hot-news-push 每日新闻热点推送(可设过滤词) 是免费的吗?

是的,fastfish-hot-news-push 每日新闻热点推送(可设过滤词) 完全免费(开源免费),可自由下载、安装和使用。

fastfish-hot-news-push 每日新闻热点推送(可设过滤词) 支持哪些平台?

fastfish-hot-news-push 每日新闻热点推送(可设过滤词) 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 fastfish-hot-news-push 每日新闻热点推送(可设过滤词)?

由 superxs777(@superxs777)开发并维护,当前版本 v1.0.5。

💬 留言讨论