Coding

free-llm-installer

Try it

一键安装并实测验证已验证可用的免费 LLM 到 WorkBuddy/Claude Code,无需注册、无需 API Key。当用户说「装免费模型」「加免费模型」「免费 LLM」「免费模型一键装」「验证免费模型可用吗」「免费模型怎么接入」「帮我配几个免费模型」「监控免费模型」「免费模型挂了吗」「kilo 网关」「kilo-auto」「nemotron 免费」「space-bunny」「智谱 glm 免费」「zhipu 免费」「glm-4-flash」「glm-4.7-flash」「glm-z1-flash」「glm-4v-flash」「探测国外免费模型」「国外平台免费 llm」「优先用免费模型」「读图桥接」「vision bridge」「给 glm-4-flash 加读图」「不读图的模型怎么看图」「阶跃星辰」「stepfun」「step 5」「step-5-preview」「限时免费模型」「ccproxy 读图转发」「给 claude code 加读图」时使用。也用于验证已有免费模型配置是否真的可用(tool calling 是否支持、是否限流、是否支持读图),以及定期 watch 监控免费模型是否下线/限流/失去工具调用能力。

What it does

**「标 free」不等于「真能用」。** 本技能内置的模型都是逐个发真实请求 (含 function calling)验证过的。使用者不需要自己再验证一遍。

The skill document

免费 LLM 一键安装与实测验证

核心原则

「标 free」不等于「真能用」。 本技能内置的模型都是逐个发真实请求 (含 function calling)验证过的。使用者不需要自己再验证一遍。

已踩过的坑,不要重复:

坑表现正确做法
模型 id 被简化kilo-auto-free → 401 PAID_MODEL_AUTH_REQUIRED必须写完整 provider/model:free
空 apiKey回落宿主平台 token → 鉴权失败Kilo 用字面量 "anonymous";智谱填真实 key
假多模态返回 200 但 image_tokens=0,模型瞎猜Kilo 纯文本模型写 supportsImages: false;omni 经 base64 图实测可识别,写 true
假工具调用能对话但从不返回 tool_calls必须发带 tools 的请求实测;glm-z1-flash / glm-4v-flash 不输出结构化工具调用,标记 supportsToolCall: false
Cloudflare拦 UA403 code:1010必须带浏览器 User-Agent(脚本已内置)
Zen 免费层封 API 直连(2026-10-11)space-bunny-free → 403 "free tier can only be used from within OpenCode"上游政策收紧,本地配置无解,已从默认清单移除。如需使用需走 OpenCode 客户端
WorkBuddy ≥5.8.0 拒纯空白 key单空格 " " 被 UI 判为「未配置接口地址或 API key」标红禁用Kilo 用 anonymous(实测 200,trim 后非空可过校验)
Kilo 假 key 会 401Bearer free/x/0 → 401 INVALID_TOKENKilo 匿名 token 只有两个:空串和字面量 anonymous。占位一律用 anonymous
智谱免费档高峰过载glm-4.7-flash 高峰 429;glm-4.6v-flash 持续 1305「访问量过大」日常用 glm-4-flash(永久免费·最稳);glm-4.7-flash 非高峰用;glm-4.6v-flash 暂不可用
推理模型吃 tokenmax_tokens 太小 → 响应被截断成无 choices推理模型 verify/probe 时 max_tokens 给到 ≥400~600
智谱视觉模型用「文本框」伪工具调用glm-4.1v-thinking-flash / glm-4.6v-flash 发 tools 请求 → finish_reason=stop、tool_calls=None,把调用写成 `<begin_of_box
1×1 像素图被智谱拒智谱视觉模型对极小图报 400「图片输入格式/解析错误」用 ≥64×64 的正常图测读图,非模型问题
StepFun 空 content 偶发推理模型个别 prompt 返回 content 为空(答案进了 reasoning_content),stop=max_tokens、0 字属低概率 flakiness,非必现;ccproxy 已加空回复自动重试(retry_empty 默认 2),非流式请求空回复自动重发,实测 5/5 稳定返回正文;仍偶发空时换一次即可。WorkBuddy 直连在 profile 设 effortLevel: medium 也最稳
ccproxy 现已转发图片(2026-10-12 修复)旧版 ccproxy 把 Anthropic image 块直接丢成 [image omitted],导致走 ccproxy 的模型(StepFun / omni 等)在 Claude Code 里不能原生读图新版 ccproxy.py 把 base64 / http(s) 图源转成 OpenAI image_url 块(配置 forward_images: true,默认开)。一次修复解锁所有 ccproxy 路由模型的原生读图。个别上游拒 base64 图时置 forward_images: false 回退旧行为
profile 复用导致显示名≠实际后端(2026-10-12 踩到)为省事直接复用 spacebunny 的 env 写 kilo-bridge profile,模型名写成 space-bunny[1m];但 ccproxy 启动带 --model kilo-auto/free 会无视请求里的模型名、全部转发到 Kilo 免费网关 → Claude Code 横幅显示 space-bunny 而实际跑的是 kilo-auto/free,用户以为 space-bunny 挂了显示名纯标签、不影响功能;但在切换器 profile 里把模型名写成真实后端(如 kilo-auto/free[1m])即可消除混淆。ccproxy 日志第一行 listening on ... -> (kilo-auto/free) 是判断实际后端的唯一权威来源
kilo-auto/free 是随机轮换池(2026-10-13 实测)它会轮换免费模型,抽到重推理模型时 7 分 30 秒只出 161 token 就报错;同一 prompt 有时 3s 有时 7min不要用 auto 路由,锁定具体模型 id(liquid/lfm-2.5-2.6b:free 实测 5/5 稳定、2-3.3s、agentic 两步全对,完胜 120B/550B 大模型)。代理参数无需动——问题在模型选择不在参数
上下文窗口照抄大模型 → 400 爆上下文(2026-10-13 踩到)给 64k 的 liquid/lfm-2.5-2.6b:free 填了 CLAUDE_CODE_AUTO_COMPACT_WINDOW=1000000(照抄 Step5 的 1M)→ Claude Code 以为有 1M,从不触发自动压缩,涨到 68918 才被上游拒:maximum context length is 65536 tokens按模型真实 ctx 填窗口:先查上表 context_length,再设 AUTO_COMPACT_WINDOW ≈ 真实值 - 8000;同时设 CLAUDE_CODE_MAX_OUTPUT_TOKENS=16000(默认预留 32000 会白占一半预算)。例:LFM65536 → 56000 + 16000
auto-mode 校验器跑在会话模型上 → 慢模型把工具全堵死(2026-10-13 踩到)Claude Code auto mode 的安全校验用会话模型判定 Bash/WebFetch 是否安全;会话模型是免费共享档时抖动超时,报 X is temporarily unavailable (timed out), so auto mode cannot determine the safety of Bash,所有需审批动作全被卡死三条路:① 会话模型换 DeepSeek 等稳定模型;② 用户级 settings 写 "permissions": {"defaultMode": "default"} 关掉 auto mode(逐次手动确认,不调校验器;只认用户级来源,项目级无效;切换器不碰这个键所以切模型不会丢);③ 想让校验器用快模型得让桥接支持按模型名分流多上游——CLAUDE_CODE_AUTO_MODE_MODEL 这个env 存在但未公开,且 ccproxy --model 会强制覆盖所有模型名,设了也无效
SSL: UNEXPECTED_EOF_WHILE_READING(2026-10-14 踩到,误判成模型失效)报upstream connect failed: [SSL: UNEXPECTED_EOF_WHILE_READING],第一反应以为模型下架/欠费——其实模型好好的(直连2-4s 正常)。真凶是代理配错了,最常见是把 SOCKS5 端口写成 http://(如 http.proxy=http://127.0.0.1:10808 而 10808 其实是 Shadowsocks 的 SOCKS5 端口)→ TLS 握手必断先怀疑代理链路,别急着换模型。① 查端口到进程的映射再判断:http:// 只对 HTTP 代理端口(Shadowsocks 的 ss_privoxy HTTP 桥之类),SOCKS5 端口要用 socks5h://(注意 ccproxy 基于 urllib,不支持 socks)② 找端口:PowerShell Get-NetTCPConnection -State Listen + Get-Process ③ 直接最省事:--proxy "" 强制直连 ④ git push 报同样错就查 ~/.gitconfig 的 http.proxy,设成空字符串(删掉会回落到环境变量)
git push 报 TLS EOF(2026-10-14 长期问题根因)本机 git 一直报 TLS connect error: ...unexpected eof while reading,换网络/换命令都无效根因是 ~/.gitconfig 里写死了 http.proxy=http://127.0.0.1:。修复:git config --global http.proxy "" 和 https.proxy ""(必须空字符串;--unset 后 git 会回落到环境变量)。验证:直连 git ls-remote 多次全OK 即坐实。另:env -u *_proxy 对 git 无效,git 只认自己的 config

内置模型(2026-10-11 实测)

免 key 梯队(Kilo Gateway,无需注册)

模型 id端点真实上下文工具调用读图实测(2026-10-13)
liquid/lfm-2.5-2.6b:free ⭐Kilo Gateway65536✅❌4/4~5/5 稳定、2.1-3.3s、agentic 两步全对 → 免费 agent 首选
nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:freeKilo Gateway256k✅✅(base64 图实测可识别)读图兜底;偶发空回复
nvidia/nemotron-3-super-120b-a12b:freeKilo Gateway262k✅❌可用但 3/5(2 次空回复)、波动 2.6-14.4s → 不推荐
kilo-auto/free ⚠️Kilo Gateway不确定(轮换)✅❌随机轮换池,会抽到重推理模型 → 实测 7min/161token,不要用
nvidia/nemotron-3-ultra-550b-a55b:freeKilo Gateway1000k✅❌agentic 第 2 步退化,不推荐

⭐ 最重要的一条:kilo-auto/free 的官方描述就是 "Rotates through available free models" ——它是随机轮换池,每次可能给你不同的模型,抽到重推理的就极慢。 正确做法:锁定具体模型 id(如上面的 LFM2.5),别用 auto 路由。 探网关有什么可选(免 key):

curl -s -H "Authorization: Bearer anonymous" \
  https://api.kilo.ai/api/gateway/v1/models | python -c "import json,sys; [print(m['id'],m.get('context_length')) for m in json.load(sys.stdin)['data'] if 'free' in m['id']]"

omni 模型是免费读图兜底:免 key(apiKey 填 anonymous)、能读图、能调工具。 注意 reasoning 模型会先吐 reasoning 吃 token,max_tokens 给到 ≥1024 否则响应会被截断。

智谱 BigModel 梯队(需 key,但有永久免费档,效果最好)

用 --zhipu-key 安装;key 形如 xxxxxxx.YYYYYYYY(用户已有,见 glm profile)。 | 模型 id | 免费性质 | 工具调用 | 读图 | 推理 | |---|---|---|---|---| | glm-4-flash | 永久免费 | ✅ | ❌ | ❌ | 日常主力·最稳 | | glm-4.7-flash | 免费·高峰易 429 | ✅ | ❌ | ✅ | 带推理·质量更好 | | glm-z1-flash | 完全免费 | ❌ | ❌ | ✅ | 数学/代码推理,不输出结构化工具(仅聊天/推理用) | | glm-4v-flash | 永久免费 | ❌ | ✅ | ❌ | 免费读图,无工具(仅聊天/读图用) | | glm-4.1v-thinking-flash | 免费 | ❌ | ✅ | ✅ | 视觉+推理最强,但工具调用是智谱自定义「文本框」格式(非标准 tool_calls),不能用于 agent / 不能进切换器;读图实测可用(仅 WorkBuddy 聊天/读图用) | | glm-4.6v-flash | 免费·高峰持续 1305/500 | ❌ | ✅ | ❌ | 与 4.1v 同为视觉模型,但服务端极不稳定(实测连续 429→500→429),工具调用格式同为文本框。暂不可用,不加 |

Claude Code 切换器只放支持标准工具调用的模型(glm-4-flash / glm-4.7-flash), 因为 Claude Code 靠工具调用干活;z1/v/4.1v/4.6v 都不输出结构化 tool_calls,加切换器会断 agent 循环,仅 WorkBuddy 聊天/读图用。

已移除 / 不可用

  • space-bunny-free(OpenCode Zen):2026-10-11 起上游 403 封 API 直连,暂不可用。
  • glm-4.6v-flash:持续 1305 服务器过载,用户侧无解,不加。

国内外平台免费格局(时效内 + 效果好)

平台免费模型状态能力本机可达
智谱 BigModel(需 key)GLM-4-Flash / GLM-4.7-Flash / GLM-Z1-Flash / GLM-4V-Flash✅ 永久/限时免费文本/工具/推理/读图✅ 直连 200
Kilo 网关(免 key) ⭐lfm-2.5-2.6b / nemotron-omni / nemotron-super 等✅ 稳定文本/工具/读图(omni)✅ 直连 200
硅基流动 SiliconFlow(需国内手机注册)GLM 系列蒸馏 / DeepSeek-R1-Distill 等✅ 免费·1K RPM文本为主本机暂无 key
阶跃星辰 StepFun(需 key,限时免费)Step 5 Preview(1M ctx·多模态·工具调用·推理)⚠️ 限时额度,耗尽即全模型 402(2026-10-13 实测三模型同时 402,key 仍有效)文本/工具/读图/推理全开✅ 直连 200
OpenRouter(需 key)15 个 :free 模型列表免 key 200,推理 401("No cookie auth credentials found")多数文本⚠️ 免 key 用不了;但 Kilo 代理了同一目录
OpenCode Zengrok-code 等列表 404 / 调用 "Model is unavailable"—❌ 需 key
Cerebras / NVIDIA NIM若干403 / SSL 超时—❌ 需 key
Groq / Together / HF / Mistral / Google各有免费档❌ 国内被 CF/代理封—❌ 不可达/需 key

2026-10-13 普查结论:目前唯一免 key 免注册能用的聚合网关就是 Kilo(它的模型 id 就是 OpenRouter 的命名,本质是 OpenRouter 目录的匿名代理)。其他平台都要 key —— 所以要扩免费模型池, 正确路径是在 Kilo 里换模型 id,而不是换平台。 ⚠️ StepFun 类"限时免费"额度耗尽是账号级的:实测 step-5 / 3.5 / 3.7 全变 402,而 /v1/models 仍返回 200(key 有效)。所以别把关键工作流挂在限时免费模型上。

结论:本机最稳的免费组合 = GLM-4-Flash(文本+工具)+ GLM-4V-Flash(读图)+ GLM-Z1-Flash(推理)(智谱一个 key,30 并发,永久免费)+ Kilo 两个免 key 模型作零注册备用。DeepSeek-V4 是付费的,自动模式易烧钱,非必要别用。

执行流程

场景 A:用户要装免费模型

python scripts/install_free_llms.py                 # 装 Kilo 免 key 三件套 + 验证
python scripts/install_free_llms.py --zhipu-key KEY # 额外装智谱 GLM 永久免费梯队

建议把 liquid/lfm-2.5-2.6b:free(Claude Code 重活)或 glm-4-flash(日常对话)设为默认。别用 kilo-auto/free(随机轮换池,会抽到极慢的模型)。

场景 B:用户要验证已有配置

python scripts/install_free_llms.py --verify

发真实请求逐个验证。标记 supportsToolCall:false 的模型(glm-z1/v)只验证对话可用,不要求工具调用。 常见失败原因:

  • 429 → 免费池高峰限流,等几分钟重试,不是配置错
  • 401 → apiKey 写错或 id 被简化
  • 未调工具 → 该模型不支持 function calling,不能用于 agent
  • HTTP404 → 模型已下线,用 --refresh 拉当前清单

场景 C:用户问「现在还有哪些免费模型 / 国外平台有免费吗」

python scripts/install_free_llms.py --probe-foreign   # 探测国外平台免费 LLM
python scripts/install_free_llms.py --refresh --dry-run  # 从 Kilo 拉实时清单

--probe-foreign 会实测各国外平台可达性,并从 OpenRouter 公开列表拉出当前所有定价为 0 的免费模型。 注意:新拉到的模型不在实测清单内,必须先 --verify 确认工具调用可用再推荐。

场景 D:用户要定期巡检(定时任务 / 每周报告)

python scripts/install_free_llms.py --report          # 一轮体检 + 国外探测,输出汇总
python scripts/install_free_llms.py --watch           # 常驻后台,状态变化才报告

--report 适合做成自动化(每周跑一次,出变化报告)。 --watch 长期挂机(Windows 可交给计划任务),每 30 分钟一轮,只在状态变化时打印。

python scripts/install_free_llms.py --watch --watch-interval 1800
python scripts/install_free_llms.py --watch --watch-rounds 3 --watch-interval 3600

状态持久化在 ~/.workbuddy/free_llm_watch_state.json;变化写 ~/.workbuddy/free_llm_watch.log。

场景 E:用户要清理

python scripts/install_free_llms.py --uninstall

只移除本脚本添加的(按 vendor 识别),保留用户自己的模型。

场景 F:给不读图的模型加读图桥接(MCP)

问题:glm-4-flash(及多数免费文本模型)不读图,但 Claude Code 又依赖它的标准 工具调用干活。智谱能读图的模型(glm-4.1v-thinking-flash 等)用的是自定义「文本框」 伪工具调用(见上方踩坑表),不能进 Claude Code 切换器。

方案:用 tools/vision_bridge_mcp.py 起一个 MCP server,提供 read_image(path) 工具。 glm-4-flash 遇到图片路径时调 read_image,MCP 把图发给读图后端、回填文字描述—— 纯文本模型也能「看」图,且不破坏 agent 循环(比透明代理更安全、调试简单)。

读图后端优先级(自动回退):

  1. 智谱 glm-4.1v-thinking-flash(免费,需 ZHIPU_API_KEY,质量最好)
  2. Kilo Omni nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free(免 key,兜底)

部署步骤:

# 1) (可选但推荐)设置智谱 key;不设置也能用,只是直接走 Kilo 兜底
export ZHIPU_API_KEY=你的智谱key   # Windows: set ZHIPU_API_KEY=...

# 2) 在 ~/.claude/settings.json(或某个 profile)注入 mcpServers:
{
  "mcpServers": {
    "vision-bridge": {
      "command": "python",
      "args": ["/绝对路径/free-llm-installer/tools/vision_bridge_mcp.py"]
    }
  }
}
# 3) 重启 Claude Code。对话里把图片本地路径给它,模型会经 read_image 自动看图。
  • command 填 python(任意 Python 3 即可,脚本零依赖仅用标准库);若 python 不在 PATH,改成绝对路径(如 Windows 隔离 python.exe)。
  • 想只在某些 profile 启用:把上面的 mcpServers 写进对应 ~/.claude/profiles/xxx.json 即可,切换 profile 时自动带上/卸下。
  • 已内置容错:智谱过载/未配 key 会自动降级到 Kilo,不会让「看图」整体失败。

场景 G:接入阶跃星辰 StepFun Step 5 Preview(限时免费·全能力)

特点:step-5-preview 是阶跃星辰旗舰,OpenAI 兼容(/v1/chat/completions,Bearer ), 支持 1M 上下文 + 工具调用 + 多模态(base64 读图) + 推理。免费 = 限时试用(平台额度), 非永久,重任务白嫖期可用,长期默认仍建议 glm-4-flash(永久免费)。本机已实测 tool_calls / base64 读图 / reasoning 全部可用。

接入三选一(推荐全做):

# 1) WorkBuddy models.json(直连,保留完整读图/工具/推理能力)
python scripts/install_free_llms.py --stepfun-key <你的StepFun Key>
#   会写入 id=step-5-preview、supportsToolCall/Images/Reasoning 全 true 的条目。
#   不给 key 不会安装(与 --zhipu-key 同机制)。
# 2) Claude Code profile(走 ccproxy 透明代理 → Anthropic 格式)
#    在 ~/.claude/profiles/stepfun.json 写入(key 明文或环境变量):
{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "",
    "ANTHROPIC_BASE_URL": "http://127.0.0.1:3459",
    "ANTHROPIC_MODEL": "step-5-preview",
    "API_TIMEOUT_MS": "600000",
    "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "1000000"
  },
  "model": "step-5-preview",
  "modelSettings": { "step-5-preview": { "effortLevel": "medium" } }
}

ANTHROPIC_AUTH_TOKEN 必须填你本机 ccproxy 生成的 client_token(首次启动 ccproxy 时 写入 ~/.claude-code-proxy.json 的 client_token 字段,或启动日志里的 "generated a client token")。 每个安装实例不同,不要照抄别人的值,否则网关拒连(401 authentication_error)。

# 3) 切换器按钮(tools/claude_model_switcher.py 已内置两个 StepFun 按钮):
#    ·「StepFun Step 5 (推理·限时免费)」  → port 3459,思考开(默认)
#    ·「StepFun Step 5 (无推理·限时免费)」→ port 3460,加 --no-reasoning(思考关,秒回)
#    key 从环境变量 STEPFUN_API_KEY 读取,不写死在脚本里,避免随技能泄密。
#    启动:pythonw tools/claude_model_switcher.py  (Windows 双击也可,.cmd 启动器见仓库外本地副本)
#    点按钮后重启 Claude Code 即可。
#
# 无推理网关手动启动(Claude Code 走 ccproxy 时才需要,直连 WorkBuddy 不用):
#    python tools/ccproxy.py --port 3460 \
#      --upstream https://api.stepfun.com/v1/chat/completions \
#      --model step-5-preview --key $STEPFUN_API_KEY --no-reasoning

推理 vs 无推理(按需切换):

  • step-5-preview 是推理模型,答题前默认先"想"很久 → 墙钟慢(重 agentic 任务可达数分钟)。
  • 加 --no-reasoning 后 ccproxy 向上游发 chat_template_kwargs: {"enable_thinking": false}, 模型直接出答案,同 prompt 约快 2 倍(实测 10s → 5s)。
  • 两个 profile:~/.claude/profiles/stepfun.json(3459,思考开)、 stepfun-nothink.json(3460,思考关)。切换器两个按钮分别对应,互不冲突(不同端口)。

关键注意(必读):

  • Claude Code 经 ccproxy 现在也能原生读图了:本技能内置的 ccproxy.py 已修复图片转发 (2026-10-12),把 Anthropic image 块转成 OpenAI image_url 直发上游。所以 StepFun / omni 在 Claude Code 里贴图即看,无需 vision bridge 兜底。
  • 想用 vision bridge 给纯文本模型加读图,仍走场景 F;StepFun 自带读图,直接用即可。
  • StepFun 偶发空 content(上游 quirks):个别请求返回 200 但 content 为空。本技能内置 ccproxy.py 已加 空回复自动重试(retry_empty,默认 2 次),非流式请求空回复会自动 重发,实测 5/5 稳定返回正文;流式不受重试保护。仍偶发空时换一次即可。
  • effortLevel: medium / forward_images: true:关重推理避免空 content,开图片转发。
  • StepFun 免费非永久,监控下线用 --watch(平台额度耗尽会变 401)。

桥接层专项优化(ccproxy 已内置,针对"推理模型很慢"):

项配置作用
Prompt Cache 头对 stepfun.com 自动加 Stepfun-Prompt-Cache: enable缓存 system/上下文,第二轮起 TTFT 减半
固定 reasoning_effortpin_reasoning_effort: "medium"动态映射会让缓存永久 miss;置空回退旧的按 thinking budget 推导
缓存命中日志log_cache_hit: true + include_usage: true每次调用打印 cached_tokens 与 HIT (x% cached) / MISS,不用靠 TTFT 猜
思考链回传reasoning_to_thinking: truereasoning_content → Anthropic thinking 块;不回传会让 Claude Code 工具调用异常
大输入告警warn_input_tokens: 80000单轮输入超阈值 stderr 提示 /clear
流式透传—逐 chunk write+flush,不预加载全量(SSE 不被缓冲)
重试退避retry_backoff: 0.5 / retry_empty_backoff: 0.5连接失败重试与空回复重试的等待秒数。别调大——Claude Code 自己有截止时间,桥接侧干等只会烧掉它(免费模型抖动时更容易触发 auto-mode 校验超时)
  • WorkBuddy 直连 vs Claude Code 经 ccproxy:能力完全一致(都走官方 OpenAI 端点),区别仅在于 Claude Code 多一层本地代理;代理已支持图片,无能力损失。

其他命令

python scripts/install_free_llms.py --list                # 列出已配置的模型
python scripts/install_free_llms.py --dry-run             # 只看要做什么,不写文件
python scripts/install_free_llms.py --force               # 覆盖同 id 的现有配置
python scripts/install_free_llms.py --zhipu-key KEY      # 安装智谱 GLM 梯队
python scripts/install_free_llms.py --deepseek-key sk-xxx # 顺便加 DeepSeek(付费!)
python scripts/install_free_llms.py --stepfun-key KEY    # 安装阶跃星辰 Step 5 Preview(限时免费)
python scripts/install_free_llms.py --models /path/to/models.json
python scripts/install_free_llms.py --watch --watch-log /path/to/watch.log

监控相关参数

参数默认说明
--watch关开启定期探测模式
--watch-interval1800(秒)两轮之间的间隔
--watch-rounds无限跑够 N 轮后自动退出
--watch-gap2.0(秒)同轮内模型间的请求间隔
--watch-log~/.workbuddy/free_llm_watch.log变化日志路径

关键实现细节

  • 配置文件位置:~/.workbuddy/models.json(脚本自动探测,也支持 XDG_CONFIG_HOME)。
  • 原子写入:先写 .tmp 再 os.replace,避免写一半损坏。
  • 每次写入前自动备份到 backups/models.json.bak-install-free-<时间戳>。
  • 网络抖动重试:SSL 中断等 NET 类错误自动重试 2 次(间隔 3s);429 在工具验证阶段重试 2 次(间隔 8s)。

故障诊断:SSL: UNEXPECTED_EOF_WHILE_READING

报这个错时先怀疑代理链路,不要先怀疑模型(2026-10-14 踩坑:误以为模型下架,实测模型完全正常)。 ~/.claude-code-proxy.json 的 upstream.proxies 是易腐配置——本地代理端口会随 VPN 客户端 重启/换节点漂移,出现「端口还在监听但对该站 TLS 握手必断」的情况。

三路对比定位(一次跑完就知道是哪条链路坏):

python - <<'PY'
import json, time, urllib.request
URL='https://api.kilo.ai/api/gateway/v1/chat/completions'
BODY=json.dumps({'model':'liquid/lfm-2.5-2.6b:free','max_tokens':200,
                 'messages':[{'role':'user','content':'hi'}]}).encode()
def t(label, opener):
    t0=time.time()
    try:
        r=urllib.request.Request(URL,data=BODY,headers={'content-type':'application/json',
                          'Authorization':'Bearer anonymous'})
        with opener.open(r,timeout=45) as resp: resp.read()
        print('%-18s %.1fs OK' % (label,time.time()-t0))
    except Exception as e:
        print('%-18s FAIL %s: %s' % (label,type(e).__name__,str(e)[:70]))
t('direct',   urllib.request.build_opener(urllib.request.ProxyHandler({})))
t('env-proxy',urllib.request.build_opener(urllib.request.ProxyHandler()))
PY

再单独试配置里那个代理端口(换成实际端口号),哪条 FAIL 就是哪条的问题。

修复:启动时加 --proxy ""(强制直连、忽略环境变量、清空 proxies 池):

python tools/ccproxy.py --port 3461 \
  --upstream https://api.kilo.ai/api/gateway/v1/chat/completions \
  --model liquid/lfm-2.5-2.6b:free --key anonymous --proxy ""

启动日志会打印 [ccproxy] upstream route: direct(或代理列表)确认生效。 VPN 是 TUN 透明模式时直连就等于已走隧道,不需要再套一层本地代理。

  • 非法 JSON 拒绝写入:配置损坏时报错退出,不覆盖用户数据。
  • 必须带浏览器 UA:Kilo / Zen 前有 Cloudflare,Python 默认 UA 会被拦。
  • 推理模型 token 预算:verify/probe 对 supportsReasoning 模型自动放大 max_tokens,避免 reasoning 截断。

注意事项(转述给用户时用)

  • 免费模型不适合当生产主力:额度小,agent 循环一轮要 5-20 次调用。
  • 免费池高峰会 429(尤其智谱 glm-4.7-flash / Kilo omni 偶发 16/16)。kilo-auto/free 的自动路由能缓解这个问题。
  • 国外平台(Groq/Together/HF/Mistral/Google)从国内网络基本不可达或被封;唯一稳定可达且免 key 的是 OpenRouter 公开列表。
  • 免费渠道的数据可能进上游训练集,不要放密钥、用户数据、生产代码。
  • 政策随时变。--refresh / --probe-foreign 能查到当前真实情况,但「能列出来」≠「能调用」,仍需 --verify 确认。
  • 免费模型会突然限流或下线。--watch / --report 挂后台跑就能第一时间知道。

Related skills

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

More from oracis

Browse all skills

把本地 Skill 打包并发布到 SkillHub(腾讯 skillhub.cn)与 ClawHub,覆盖预检、发布、状态回读与竞品对标全链路,并在上传被拒时用二分/ddmin 脚本把「服务端 WAF 拦内容(566)」与「包结构/字段问题」精确区分开。当用户说「发布技能到市场」「上架 skill」「SkillHub 提交失败」「Failed to fetch」「566」「上传 zip 报错」「技能审核状态」「版本号被拒」时使用。也讲清「入库成功 ≠ 已公开」——用 `mine` 的 `reviewStatus`、重发探测 `409 VERSION_EXISTS`、`/versions/<v>/signature` 三个探针判断版本到底走到哪一步。

by oracis1 installs1 stars

平台只有网页后台、没有上传 API 时,用本机已装的 Chrome/Edge + CDP 自动化走完上传/发布/填表流程——复用真实登录态、零安装(不下载 500MB Chromium)、能给文件选择框塞文件;并实测富文本编辑器(公众号 / CMS / 邮件模板)里到底哪些 CSS 能活下来,以及在决定是否接入平台自带的「一键排版 / AI 美化」前先抓它输出做结构化 diff。当用户说「只能网页上传」「后台发布」「网页填表自动提交」「发布到技能市场/各平台控制台」「复用已登录的浏览器」「公众号排版样式不生效/保存后样式没了」「一键排版要不要用」「点了按钮没反应/提交没成功也没报错」时使用。

by oracis2 installs

在中国大陆网络环境下用 yt-dlp 下载视频(含 Windows GUI 封装)。当用户要下载 YouTube、Bilibili、SoundCloud 等 yt-dlp 支持的站点内容,或遇到「yt-dlp 装不上 / 下载报 502 / Tunnel connection failed / ffmpeg not found / 缺 JS runtime / TLS fingerprint / watch?v=&list= 把整个列表都下了 / Sign in to confirm you're not a bot / The page needs to be reloaded / 下到一半突然下不动 / 下回来的视频糊、有拖影残影 / 下载速度特别慢」等问题时使用。

by oracis2 installs

聚合搜索百度网盘/夸克网盘/阿里云盘等网盘分享链接。当用户想按作者名、课程名、剧名、书名、软件名找网盘下载路径,或提到「网盘搜索」「PanSou」「盘搜」「找到下载链接」「夸克/百度/阿里网盘资源」时使用。包含已验证的 PanSou 协议端点、绕过系统代理的必要写法、以及可直接运行的本地 Web 应用 panradar.py。

by oracis2 installs

在 WorkBuddy(Windows)环境里交付零依赖本地 Web 应用,并绕开官方测试技能完全不覆盖的本机专属坑。当用户要在本机跑起来一个本地 Web 应用 / 单文件工具 / 案例库 / 看板 / 小工具,或要验证刚写完的 HTML/JS/Python 交付物真的能工作时使用。独家覆盖:Bash 缺 coreutils、bash 是 WSL 启动桩、rm 是坏 shim、PowerShell 不回显 stdout、cwd 漂移、预览面板靠 HEAD 探活——这些在干净 Linux 环境里遇不到。

by oracis1 installs

把B站横屏中长视频(读书解读/知识类)自动改造为微信视频号9:16竖屏短视频切片。当用户说"B站视频转视频号""横屏转竖屏切片""读书视频切片""视频号短视频制作""横屏改竖屏"时使用。覆盖下载→转写→选段→横转竖→烧字幕→封面全流程, 含本机环境坑与画质/字幕优化。

by oracis1 installs