监控 OpenRouter 免费模型到期通知及新模型,自动每日检查并推送飞书通知
OpenRouter Free Helper
功能概述
OpenRouter Free Helper是一项面向实际任务的技能,主要用于监控 OpenRouter 免费模型的两类关键信息:;到期通知 - 识别 "Going away [日期]" 警告,提前提醒;
核心要点
- 新模型发现 - 自动发现新加入的免费模型;
- 🚀 快速开始;
- 1. 安装 bb-browser (可选,用于增强发现链路);
使用与执行
2. 配置 Chrome 调试模式;bb-browser 需要 Chrome 在调试模式下运行(。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
OpenRouter Free Helper
监控 OpenRouter 免费模型的两类关键信息:
- 到期通知 - 识别 "Going away [日期]" 警告,提前提醒
- 新模型发现 - 自动发现新加入的免费模型
🚀 快速开始
前置依赖
1. 安装 bb-browser(可选,用于增强发现链路)
# 使用 Homebrew 安装 brew install bb-browser # 或使用 npm 全局安装 npm install -g bb-browser
2. 配置 Chrome 调试模式
bb-browser 需要 Chrome 在调试模式下运行(端口 9222):
# 手动启动 Chrome 调试模式 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --remote-debugging-port=9222 --no-first-run --no-default-browser-check
或者:脚本会自动检测并启动 Chrome 调试模式(首次启动可能需要 10-15 秒)
3. Python 依赖
pip3 install requests beautifulsoup4
安装技能
# 使用 ClawHub 安装 clawhub install openrouter-free-helper
配置
编辑配置文件 ~/.openclaw/workspace/skills/openrouter-free-helper/config/config.json:
{
"check_time": "08:00",
"notify_channel": "feishu",
"notify_target": "user:ou_xxxxxxxxxxxxxxxxxxxxx",
"status_file": "~/.openclaw/workspace/skills/openrouter-free-helper/data/status.json",
"openclaw_config": "~/.openclaw/openclaw.json"
}
参数说明:
notify_target: 飞书用户 ID(格式:user:ou_xxx)check_time: 每日检查时间(24 小时制)status_file: 状态文件路径(自动创建)
启用自动化
⚠️ Cron 场景必须使用
--no-notify,禁止脚本自行发送通知,统一交给 cron delivery 输出一次最终结果。
技能安装后不会自动创建 Cron 任务。如需每日自动检查,请手动添加一条 Cron,并让它读取固定任务说明文件。
示例:每日 08:00 执行
openclaw cron add --job '{
"id": "openrouter-monitor-001",
"name": "OpenRouter Free Model Monitor",
"schedule": {"kind": "cron", "expr": "0 8 * * *", "tz": "Asia/Shanghai"},
"sessionTarget": "isolated",
"wakeMode": "now",
"payload": {
"kind": "agentTurn",
"message": "Read /Users/neoshi/.openclaw/workspace/skills/openrouter-free-helper/references/cron-task.md and follow it exactly. Keep the run self-contained in an isolated session rooted at /Users/neoshi/.openclaw/workspace. Return only a brief plain-text summary suitable for Feishu delivery.",
"timeoutSeconds": 300
},
"delivery": {
"mode": "announce",
"channel": "feishu",
"to": "user:ou_xxxxxxxxxxxxxxxxxxxxx"
}
}'
检查 Cron 状态:
openclaw cron list openclaw cron runs --jobId openrouter-monitor-001
📖 使用指南
手动检查
# 基础检查(静默模式,仅在变化时通知) python3 ~/.openclaw/workspace/skills/openrouter-free-helper/scripts/check-models.py # 详细输出(查看执行过程) python3 ~/.openclaw/workspace/skills/openrouter-free-helper/scripts/check-models.py --verbose # 模拟运行(不发送通知) python3 ~/.openclaw/workspace/skills/openrouter-free-helper/scripts/check-models.py --verbose --dry-run # Cron / agent-run 场景:禁止脚本自行发通知,交给上层 delivery python3 ~/.openclaw/workspace/skills/openrouter-free-helper/scripts/check-models.py --no-notify
⚠️ Cron 场景必须使用
--no-notify,否则脚本内通知与 cron delivery 可能重复发送。
查询 bb-browser 适配器
# 获取所有免费模型列表 bb-browser site openrouter/free-models --json --openclaw # 查询特定模型的到期信息 bb-browser site openrouter/model-expiry google/gemma-4-26b-a4b-it:free --json --openclaw
查看状态文件
cat ~/.openclaw/workspace/skills/openrouter-free-helper/data/status.json
状态文件结构:
{
"last_check": "2026-04-10T21:59:06.858640",
"known_models": ["openrouter/google/gemma-4-26b-a4b-it:free", ...],
"expiring_soon": [
{
"model": "arcee-ai/trinity-large-preview",
"going_away_date": "2026-04-22",
"days_left": 11,
"url": "https://openrouter.ai/arcee-ai/trinity-large-preview"
}
]
}
🔔 通知规则
到期提醒(分级推送)
| 级别 | 条件 | 行为 |
|---|---|---|
| 🚨 紧急 | ≤1 天到期 | 立即推送 |
| ⚠️ 警告 | ≤3 天到期 | 推送提醒 |
| 📅 预告 | >3 天到期 | 仅首次发现时推送 |
去重机制:
- 同一模型的到期通知,只在首次发现或日期变化时推送
- 避免每天重复发送相同提醒
新模型发现
- 仅在首次发现时推送
- 每次最多显示 10 个新模型
- 自动过滤已配置的模型
静默规则
以下情况不发送通知:
- 无新模型发现
- 到期通知无变化(且不在紧急/警告级别)
- 抓取失败(避免误报)
🛠️ 故障排查
Chrome 调试模式问题
症状:bb-browser 报错 "Chrome not connected"
解决:
# 1. 检查 Chrome 是否运行 ps aux | grep "remote-debugging-port=9222" # 2. 手动启动 Chrome 调试模式 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome --remote-debugging-port=9222 # 3. 验证端口是否可访问 curl http://127.0.0.1:9222/json/version
bb-browser 适配器问题
症状:bb-browser site openrouter/free-models 返回空列表
检查:
# 查看适配器是否存在 ls -la ~/.bb-browser/sites/openrouter/ # 测试适配器 bb-browser site openrouter/free-models --json --openclaw
修复:重新安装技能或手动创建适配器(见 references/openrouter-structure.md)
Python 依赖缺失
症状:ModuleNotFoundError: No module named 'requests'
解决:
pip3 install requests beautifulsoup4
📁 文件结构
~/.openclaw/workspace/skills/openrouter-free-helper/
├── SKILL.md # 技能文档
├── config/
│ └── config.json # 配置文件
├── data/
│ └── status.json # 状态文件(自动生成)
├── scripts/
│ ├── check-models.py # 主检查脚本
│ └── fetch_page.py # 网页抓取模块
├── references/
│ ├── cron-task.md # Cron 任务说明
│ └── openrouter-structure.md # OpenRouter 结构分析
└── adapters/
└── openrouter/ # bb-browser 适配器(在 ~/.bb-browser/sites/)
🔧 高级配置
修改检查频率
编辑 Cron 配置:
openclaw cron edit
将 0 8 * * * 改为其他时间(如每小时检查:0 * * * *)
添加更多监控模型
编辑 ~/.openclaw/openclaw.json,在 agents.defaults.models 或 agents[].model 中添加 :free 后缀的模型 ID:
{
"agents": {
"defaults": {
"models": {
"openrouter/google/gemma-4-26b-a4b-it:free": {},
"openrouter/google/gemma-4-31b-it:free": {}
}
}
}
}
脚本会自动识别并监控这些模型的到期状态。
📊 技术实现
页面抓取策略
- Layer 1:
requests(优先,稳定且快速) - Layer 2:
urllib(标准库兜底)
说明:本地 Python 脚本不再伪装调用 OpenClaw 工具。工具型抓取属于 agent 运行期能力,不应在脚本里用 subprocess 硬模拟。
新模型发现链路
- 优先尝试
bb-browser site openrouter/free-models --json --openclaw - 若失败,则回退到 OpenRouter 内部 API:
- 端点:
https://openrouter.ai/api/frontend/models - 无需认证,可直接提取免费模型列表
- 端点:
Chrome 调试模式管理
- 自动检测 Chrome 调试端口是否可用(
http://127.0.0.1:9222/json/version) - 若不可用,可启动独立 profile:
/tmp/openclaw-chrome-debug - 设计目标是不干扰用户现有 Chrome 会话
🌟 特性亮点
- ✅ 零打扰:无变化时静默执行
- ✅ 分级提醒:紧急/警告/预告三级通知
- ✅ 去重机制:避免重复推送相同信息
- ✅ 自动修复:Chrome 未运行时自动启动
- ✅ 多层兜底:三层抓取 + API fallback
- ✅ 时区感知:所有时间计算基于 Asia/Shanghai
📝 更新日志
v1.0.10 (2026-05-09)
- 修正新模型发现链路:使用
endpoint.model_variant_slug替代顶层slug,确保返回带:free后缀的完整端点 ID
v1.0.9 (2026-04-16)
- 调整发现顺序:API 优先,bb-browser 作为 fallback(更稳定,主路径不依赖 Chrome)
v1.0.8 (2026-04-16)
- 摘要输出现在包含具体的模型名称和到期详情(不再只说数量)
- 收紧 cron prompt,禁止 async exec completion 后输出任何消息(不只是禁止重复摘要)
- 给 cron 命令加
--verbose让模型能看到详细信息并整合到最终摘要
v1.0.7 (2026-04-15)
- 为已配置但未带
:free后缀的openrouter/*模型增加轻量页面探测,补抓“实际免费但未显式标 free”的模型 - 收紧 cron prompt,强制
--no-notify并避免 async exec completion 后重复转述 - 保持检测策略轻量,不引入完整 pricing 系统复杂度
v1.0.5 (2026-04-14)
- 新增
--no-notify模式,供 cron 场景避免脚本内直接发通知 - 收紧 cron-task 规则,禁止中间态与“已推送”类措辞
- 脱敏发布内容,移除用户特定默认通知目标
v1.0.1 (2026-04-11)
- 修正配置模型读取路径
- 修正状态文件与 JSON 读取容错
- 收紧到期提醒去重策略,避免重复提醒
- 精简抓取链路,改为 requests + urllib 的诚实 fallback
- 新增 cron-task.md 作为 cron 固定任务说明
v1.0.0 (2026-04-10)
- 初始版本发布
- 支持到期通知检测
- 支持新模型发现
- 分级提醒机制
- 智能 Chrome 管理
- 多层 fallback 机制
🤝 贡献
问题反馈或功能建议,欢迎通过 GitHub Issues 提交。
最后更新: 2026-04-10
维护者: Silvermoon
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习