免费模型不是没有,问题是怎么稳定地用上。Free Ride 专门管理 OpenRouter 上的免费模型池:按上下文长度、能力参数、新旧程度、供应商可信度算一个综合分,把最优的那个设成主模型,再按分数排一串降级模型顶在后面。限流了就自动往下掉,掉完了再回到主模型。整包 18.5 kB,安装 198.7k、下载 60.9k,效率榜常客。
它的野心写在名字里:Unlimited free AI。但「无限」是相对的——真正的机制是「用一串免费模型的额度,接力顶住持续调用」。理解这一点,才不会对它产生不切实际的期待。版本 v1.0.11,主程序 main.py 34.4 kB,另有一个 5.3 kB 的守护脚本 watcher.py。
百度网盘下载:https://pan.baidu.com/s/1mUw6zrQ8ajZrJqtofU675w?pwd=kfht(提取码:kfht)
通过网盘分享的文件:shaivpidadi-free-ride-1.0.11.zip
链接: https://pan.baidu.com/s/1mUw6zrQ8ajZrJqtofU675w?pwd=kfht 提取码: kfht 复制这段内容后打开百度网盘手机App,操作更方便哦
一、基本信息
| 项目 | 内容 |
|---|---|
| 技能名称 | Free Ride – Unlimited free AI(freeride) |
| 维护方 | Shaivpidadi(个人开发者) |
| 定位 | OpenRouter 免费模型智能选型与降级链管理 |
| 版本 | v1.0.11 |
| 社区数据 | 安装 198.7k · 下载 60.9k |
| 安全认证 | CLS 安全性认证(2026-05-07) |
| 运行环境 | Python 3 + requests,环境变量 OPENROUTER_API_KEY |
| 写入范围 | 仅 ~/.openclaw/openclaw.json 的 model / models 两个键 |
| 包体大小 | 整包 18.5 kB(main.py 34.4 kB、watcher.py 5.3 kB) |
| 下载安装 | shaivpidadi-free-ride-1.0.11.zip(网盘,提取码 kfht) |
| 标签 | openrouter、free-ai、model-management、rate-limit、fallback-chain |
二、它解决什么问题
OpenRouter 上长期挂着几十个免费模型,标价 0,但没人告诉你怎么选。列表里的信息是原始参数:上下文长度、支持的参数、创建时间、供应商。这些数字拼不出一个直观结论——上下文最长的不一定最强,最新的不一定最稳,最稳的可能三天两头限流。
更麻烦的是限流。免费模型共享一个额度池,热门模型被打爆是常态。你正在跑一个长任务,主模型突然 429,任务就断了。手动去换模型,意味着改配置、重启网关、重新验证——一次五分钟,一天三次就是十五分钟。
第三件事是降级链的维护成本。理论上你可以手写一串 fallback,但模型池每周都在变:新的上线、旧的下架、某个厂商突然收紧额度。手写的列表一周就过期。
它解决的不是「有没有免费模型」,而是「免费模型一直在变,怎么让配置自动跟上」。
三、核心功能
3.1 四维打分排名
选型逻辑是显式的加权评分,四个维度的权重写死在代码里:
| 维度 | 权重 | 计算方式 |
|---|---|---|
| 上下文长度 | 0.4 | 按 100 万 token 归一化,越长分越高 |
| 能力参数 | 0.3 | 支持的参数数量,最多按 10 个归一化 |
| 新旧程度 | 0.2 | 按创建时间衰减,一年前的模型清零 |
| 供应商可信度 | 0.1 | 白名单排序:google、meta-llama、mistralai、deepseek、qwen 等 |
这个权重分配透露了取向:上下文权重最高(0.4),说明它假设你的主要用途是长文本处理。如果你的场景是短对话,这个排名未必最优——但你可以用 freeride switch 手动指定。
过滤环节也做了两件事:只保留纯文本输出的模型(排除图像、音频生成),以及只保留 pricing.prompt == 0 或 id 带 :free 的模型。这两条过滤避免了「以为免费结果被计费」的坑。
3.2 降级链与自动切换
核心命令就一条:
freeride auto # 选最优免费模型作主模型,并配 5 个 fallback
freeride auto -c 10 # 配 10 个 fallback
freeride auto -f # 保留现有主模型,只补 fallback
freeride switch qwen3-coder # 指定某个模型为主
freeride list -n 30 # 看全部免费模型排名
写配置的方式很克制:只动 agents.defaults.model 和 agents.defaults.models 两个键,其他配置原样保留。这一点比很多「一把梭改配置」的工具靠谱——它不会顺手把你的其他设置清掉。
降级链的运行逻辑在 OpenClaw 侧:主模型 429,自动掉到第一个 fallback;再 429,继续往下。这条链的长度决定了你能扛多久的限流。
3.3 watcher 守护进程
watcher.py 是可选组件,负责持续巡检:发现某个 Key 被限流,就把它标记进冷却池(默认 120 秒),冷却到期自动放回轮换。它支持配置多个 API Key(OPENROUTER_API_KEY 可以传 JSON 数组),把额度池从一份变成多份。
这个设计针对的是「全链限流死锁」——如果所有免费模型同时限流,光靠 fallback 是救不回来的,必须换 Key 或者等冷却。watcher 解决的是前者。
3.4 缓存与刷新
模型列表缓存 6 小时,避免每次调用都打 OpenRouter 的 /models 接口。freeride refresh 强制刷新。freeride status 看当前主模型与 fallback 链。freeride fallbacks 只更新降级链不动主模型。
四、真正有价值的地方
把「选模型」变成可复算的公式。四个维度加权,权重写在代码里,不用猜。你觉得不合理可以改,但至少有一套默认逻辑在跑,而不是靠感觉。
只改两个配置键。这是一个很克制的工程决定。很多工具为了「一步到位」会重写整个配置文件,结果把用户的定制项弄丢。它只碰 model 相关字段,升级时也不会冲突。
限流被当成常态处理。不是「避免限流」,而是「限流了怎么办」。fallback 链 + Key 冷却池,两层兜底。这个思路符合免费额度的现实。
多 Key 支持是隐藏亮点。免费账号可以多注册几个,Key 用 JSON 数组传进去,额度直接翻倍。虽然文档没大声宣传,但这是最实用的一招。
体积小、依赖少。34.4 kB 主程序,只依赖 requests。想审计它到底改了什么配置,半小时能读完。
五、绕不开的问题
「免费」有代价。免费模型普遍存在三个问题:上下文虽长但注意力衰减快、指令遵循不如付费版稳定、高峰期排队。用它做实验没问题,做需要稳定输出的生产任务会很难受。
模型池变化快,排名会漂移。今天排第一的模型,下周可能下架或收紧额度。缓存 6 小时意味着你看到的排名可能是半天前的。想稳定,得定期 refresh 并接受结果会变。
全链限流仍可能发生。fallback 再长也是有限的。五个免费模型同时 429 的情况不罕见,尤其是热门时段。watcher 能缓解,但救不了「所有 Key 都冷却」的极端场景。
调试成本被低估。出问题时你要判断是模型能力不足、还是限流、还是配置格式错了。OpenClaw 的模型 id 格式是 openrouter/<provider>/<model>:free,少一个斜杠就静默失效,排查起来很费劲。
把全部流量押在一个聚合商上。OpenRouter 本身是中间层,它的可用性、计费策略、模型准入都影响你。免费模型的供给方随时可能撤出。
这些问题的共同点是「不会报错」。免费模型变慢、变笨、开始漏格式,都不会给你一个明确的失败信号,你只会觉得「今天效果怎么差了」。所以监控不能只看请求成功与否,还得定期抽样检查输出质量——每周拿同一批固定提示词跑一遍,对比结果,比看日志更能发现模型退化。另外,把每次的排名结果存一份,回头能对上「哪天开始变差」和「哪个模型上位」的因果关系。
六、官方风险表与解读
| 风险场景 | 级别 | 缓解措施 |
|---|---|---|
| 全链限流死锁 | 高 | 启用 freeride-watcher 守护,或配置多 API Key 分散风险 |
| 模型突然下架 | 中 | 定期 freeride refresh 同步最新可用列表 |
| API Key 泄露 | 中 | 环境变量或 openclaw config set 配置,不硬编码 |
| 配置冲突 | 低 | 首次使用后执行 /status 验证主模型格式 |
| 代码风险 | 无 | 无恶意代码,仅访问 openrouter.ai |
风险表的核心是第一条。免费模型的问题从来不是「不能用」,而是「用着用着不能用」。把限流当故障处理,而不是当异常处理,心态就对了。
一条实用纪律:上线前先手动跑一轮「主模型限流」演练——把 Key 换成一个无效的,观察 fallback 是否按预期接管。/status 显示的主模型不对,说明格式配错了。
3.5 免费模型的真实能力边界
把免费模型当「够用的替代品」是常见误判。实际跑下来,能力边界大致在三个维度上。
上下文长,但等效长度短。排名第一权重给的是 context_length,可 100 万 token 的窗口不等于 100 万 token 的注意力。免费模型普遍在 3-5 万 token 之后开始丢前文信息,长文档问答时常出现「前面说过但没记住」。真实可用长度大概标称值的三分之一,按这个估计做分片,比按标称值切靠谱。
指令遵循弱于付费版。简单指令没问题,多约束条件(比如「输出 JSON,字段必须这三个,不能有额外说明」)就开始漏。需要严格格式时,加一层校验和重试,别指望一次成功。做结构化抽取类任务,失败率通常是付费模型的两三倍。
高峰期排队明显。免费额度是共享池,工作日下午和晚上最容易撞上限流。批量任务建议安排在凌晨或清晨,成功率能差一倍。这也是 watcher.py 存在的意义——它把「撞墙」变成「等一会再来」。
三条合起来的结论:免费模型适合「容错高、格式松、不着急」的任务,比如草稿、摘要、分类、初筛。反过来,凡是要求一次做对、格式严格、有截止时间的,都该切付费。
七、适合谁,不适合谁
| 类型 | 是否适合 | 理由 |
|---|---|---|
| 个人开发者 / 研究者 | 适合 | 降低实验成本,验证工作流不必先付费 |
| 轻量级场景(补全、文案、问答) | 适合 | 对稳定性要求不高,免费额度足够 |
| 已有 OpenClaw 环境的用户 | 适合 | 改两个配置键即可,迁移成本近乎为零 |
| 生产级客服 / 交易系统 | 不适合 | 免费模型的稳定性和一致性撑不住 |
| 需要严格 SLA 的商业应用 | 不适合 | 上游供给方随时可能撤出,无保障 |
| 需要多模态输出的场景 | 不适合 | 它明确只筛纯文本模型 |
八、落地路径
- 拿 Key。openrouter.ai/keys 注册,免费额度无需绑卡。多个账号的 Key 用 JSON 数组塞进环境变量。
- 装 CLI。解压后
pip install -e .,确认which freeride有输出。 - 看排名。
freeride list -n 20,先看清楚有哪些免费模型、分数多少、上下文多长。 - 自动配置。
freeride auto,然后openclaw gateway restart让配置生效。 - 验证。发
/status看当前主模型,格式必须是openrouter/...:free。 - 上限流保护。需要长时运行就起
watcher.py,设好冷却时间。
九、文件构成与安装
| 文件 | 大小 | 作用 |
|---|---|---|
main.py |
34.4 kB | 主程序:模型拉取、打分、配置写入、全部子命令 |
watcher.py |
5.3 kB | 守护进程:Key 冷却池、周期巡检 |
SKILL.md |
4.4 kB | 技能说明与命令示例 |
README.md |
9.5 kB | 完整使用文档 |
setup.py / requirements.txt |
0.7 kB | 安装入口与依赖(仅 requests) |
skill.json |
1.3 kB | 技能元数据与权限声明 |
安装就两步:解压到技能目录,pip install -e .。没有编译、没有原生依赖。它声明的写入范围只有 openclaw.json 的两个键和自家缓存文件,这一点在审计时很好核实。
十、常见问题
真的是「无限」吗?
不是。它的机制是「多个免费模型的额度接力」。总量是各模型免费额度的总和,不是无限。把 fallback 配长一点、Key 多准备几个,能撑更久。
免费模型质量够用吗?
做草稿、分类、摘要、简单问答够用。做复杂推理、长链工具调用、严格格式输出,会明显感到吃力。建议双轨:免费模型跑日常,关键任务切付费。
为什么配完没生效?
九成是没重启网关。改 openclaw.json 后必须 openclaw gateway restart,再用 /status 确认。
fallback 配多少个合适?
默认 5 个是合理起点。任务越关键配越多,但注意:链越长,单次请求的失败检测耗时也越长。
多个 Key 怎么配?
环境变量里传 JSON 数组:export OPENROUTER_API_KEY='["sk-or-v1-a","sk-or-v1-b"]'。watcher 会轮换使用,某个 Key 429 就进冷却。
它会不会改坏我的配置?
只碰两个键,且会先读原文件再改。但任何自动改配置的工具都建议先备份一次 openclaw.json。
能用它切换付费模型吗?
它的定位是免费模型管理,switch 会在免费列表里匹配。要切付费模型,直接改配置文件更直接。
免费模型会不会偷偷计费?
它做了两层过滤:优先看 pricing.prompt == 0,其次看 id 是否带 :free。但 OpenRouter 侧偶尔会有「限时免费结束」的调整,配好的模型可能变成付费。建议每月看一次 OpenRouter 的用量账单,确认没有意外扣费。
能只用某个供应商的模型吗?
不能直接按供应商过滤,但可以用 freeride list 找到目标模型后 switch 指定。供应商白名单只影响打分权重,不是硬过滤条件。
缓存文件能删吗?
能。~/.openclaw/.freeride-cache.json 只是模型列表缓存,删掉下次会重新拉取。发现排名异常时,删缓存比等 6 小时过期更快。
换模型后原有对话会乱吗?
不会,但上下文会重算。不同模型的 tokenizer 不一样,同一个对话切模型后,历史消息会被重新编码,偶尔出现「它忘了刚说过什么」。重要任务建议中途不切模型。
模型评分能自己改吗?
能。RANKING_WEIGHTS 里四个权重是常量,改数值即可重新分配侧重。比如你主要做短对话,把 context_length 从 0.4 降到 0.1,把 recency 提到 0.5,排名会更贴近实际需求。改完记得删缓存重新拉取。
watcher 需要一直开着吗?
建议开。它是常驻进程,负责把 429 的 Key 放进冷却池并到期放回。不开的话,所有请求都挤在同一个 Key 上,撞限流的概率高得多。用 systemd 或 supervisor 托管,别裸跑。
结语
Free Ride 是一个想得很清楚的工具:免费模型不稳定是客观事实,那就别假装稳定,而是把「不稳定」用降级链和冷却池管起来。四维打分不算精致,但足够可解释;只改两个配置键,是对用户环境的尊重。
它的正确用法是「过渡」而不是「终点」:用它把想法验证完、把流程跑通,等哪天真要上线了,再换成付费模型。免费额度撑得住探索期,撑不住生产期——这句话它没写在宣传里,但代码逻辑已经说得很明白。
另外提一句数据流向:免费模型的提供方各不相同,你的 prompt 会发到哪家服务器、是否被用于训练,取决于具体模型的条款。处理客户数据或内部文档时,先确认这条链路是否可接受;不确定就切换到自建或付费通道,别拿合规去换那点免费额度。
通过网盘分享的文件:shaivpidadi-free-ride-1.0.11.zip
链接: https://pan.baidu.com/s/1mUw6zrQ8ajZrJqtofU675w?pwd=kfht 提取码: kfht 复制这段内容后打开百度网盘手机App,操作更方便哦
免费模型 OpenRouter 模型调度 降级链 限流
百度网盘下载:https://pan.baidu.com/s/1mUw6zrQ8ajZrJqtofU675w?pwd=kfht(提取码:kfht)














暂无评论内容