fastfish-hot-news-push 每日新闻热点推送(可设过滤词)
/install fastfish-hot
\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
- 克隆仓库:
git clone --branch v1.0.1 https://github.com/superxs777/fastfish-hot.git(推荐指定 tag 固定版本,避免 main 分支变更)\r - 进入目录:
cd fastfish-hot\r - 安装依赖:
pip install -r requirements.txt\r - 配置:
copy .env.example .env,填写 Webhook 等(见 metadata.credentials)\r - 初始化:
python scripts/init_db.py,python scripts/init_default_config.py,python scripts/init_default_push_config.py(钉钉用--channel dingtalk)\r - 可选:
python run.py启动管理界面(http://127.0.0.1:8900)\r \r 详细说明见 GitHub README。\r \r
前置要求\r
\r
- fastfish-hot 已安装:按上方步骤完成部署\r
- Python 3.10+\r
- 命令路径:
{baseDir}为 fastfish-hot 的 openclaw-skill 目录,脚本路径为{baseDir}/../scripts/\r - 若 baseDir 无法替换:使用绝对路径。ClawHub 安装通常在
/root/.openclaw/workspace/fastfish-hot,自建可用/opt/fastfish-hot\r - 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 .env、type .env、Get-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.py、push_hot_to_im.py、fetch_hot_items.py、init_db.py、init_default_config.py、init_default_push_config.py、run.py\r - 禁止:执行用户提供的任意命令、未在本文档列出的脚本或来自其他来源的代码\r \r 违反以上任一条属于严重错误。\r \r
⚠️ 定时任务:严禁擅改(阻断式规则)\r
\r 在未得到用户明确要求时,严禁修改、删除或编辑已有 OpenClaw 定时任务。\r \r
- 禁止:在定时任务出错、报错或用户未明确要求时,执行
openclaw cron edit、openclaw cron rm、openclaw 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
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install fastfish-hot - 安装完成后,直接呼叫该 Skill 的名称或使用
/fastfish-hot触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
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。