OpenCode 的模型列表里上周悄悄多了一行:step-5-preview-free。阶跃星辰 9 月底刚发的旗舰,官方参数摆出来确实唬人——600B 稀疏 MoE、27B 激活、1M 上下文,原生吃图片和视频。我在列表里看到它的第一反应是:这要是能白嫖,前面那篇 OpenCode 免费模型中枢 里的选手得全部重排座次。
于是连着测了三天,结论先放在最前面:参数是真的,免费入口也真挂在列表里,但我用第三方 agent 直连,7 次全挂。
官方参数:确实是对着 Agent 场景做的
以下数据来自 StepFun 开放平台文档,不是二手转述。
| 规格 | Step 5 Preview |
|---|---|
| 模型 ID | step-5-preview |
| 架构 | 稀疏 MoE,总参数 600B,每 token 激活 27B |
| 上下文窗口 | 1M tokens |
| 最大输出 | 64K tokens |
| 输入类型 | 文本、图片、视频 |
| 输出类型 | 文本 |
| 图片 | 单次最多 60 张,JPG/PNG/WebP/静态 GIF,细节级别 low / high |
| 视频 | MP4 / QuickTime / MKV,单个 MP4 小于 128MB,建议 5 分钟内 |
| 工具调用 | 支持 |
| 结构化输出 | JSON Mode + JSON Schema |
| 推理强度 | low / medium / high(Chat API 用 reasoning_effort) |
| 提示缓存 | 支持 |
| 发布 | 2026-09 |
两处细节值得单独拎出来。一是 max_tokens 默认 INF,由模型自己决定写多长,这和大多数模型必须显式给上限不一样,接的时候别想当然塞个 4096 进去。二是推理强度三档在 Chat Completions 和 Messages 两个 API 里参数名不同——前者是 reasoning_effort,后者是 output_config.effort,照抄一边的代码到另一边会静默失效。
价格:缓存命中便宜 20 倍
StepFun 官方定价页的原价(人民币 / 1M tokens):
| 项目 | 价格 |
|---|---|
| 输入(缓存未命中) | 7 元 |
| 输入(缓存命中) | 0.35 元 |
| 输出 | 20 元 |
缓存命中价是未命中的 1/20。Agent 场景里 system prompt、工具定义、长文档这三块几乎每轮重复,正好落在命中区,所以真实成本比标价低得多。OpenRouter 上挂的是 $1 / $2.70,按当前汇率折回人民币约 7.1 元 / 19.2 元,和官方价基本对齐,说明这价格是厂商定的,不是渠道加价。
横向比一下:同为 1M 上下文的免费档里,deepseek-v4.1-flash 走 KV cache 890 字节/token 的路线吃内存效率,nemotron-3-ultra-free 拿 550B 参数硬堆,Step 5 选的是”27B 激活”这条线——参数看着最大,每个 token 实际算的最少。理论上它是这批里最该又快又强的那个。
实测:列表里有,调用全挂
10 月 9 日实测,OpenCode 两个端点的模型池:
| 端点 | 模型总数 | 带 -free |
step-5-preview-free |
|---|---|---|---|
opencode.ai/zen/v1 |
22 | 8 | 在列表 |
opencode.ai/zen/go/v1 |
38 | 2 | 在列表 |
调用结果——7 次全部失败,无一例外:
HTTP403 {"error":{"type":"server_error",
"message":"Upstream request failed: Endpoint is unavailable."}}
不带 -free 后缀的 step-5-preview 和 step-5 更直接,400 Model is unavailable——压根不在池子里。所以 OpenCode 挂出来的就是那个 -free 变体,而它转不出去。
是不是我设置错了?11 条路径全试了
这是我当时最想排除的可能,因为上一篇文章里 minimax-m2.7 就是被我用错鉴权头冤枉过一次。这次把矩阵铺满:
| 路径 | 结果 |
|---|---|
| go/v1 标准参数 | 403 Endpoint is unavailable |
go/v1 去掉 max_tokens |
403 同上 |
go/v1 加 temperature |
403 同上 |
| go/v1 带 system + 多轮 | 403 同上 |
zen/v1 + x-opencode-session |
403 free tier can only be used from within OpenCode |
go/v1 /messages + Bearer |
401 Missing API key |
go/v1 /messages + x-api-key |
400 Model does not support this protocol |
zen/v1 /messages + x-api-key |
403 同上 free tier 挡 |
| 对照:kimi-k3 同参数 /messages | 200 出内容 |
| 对照:claude-haiku-5-5 同参数 | 200 出内容 |
三条证据叠起来,指向就很清楚了:
- 同症状不止它一个。
kimi-k2.6和minimax-m2.5报的是一模一样的Endpoint is unavailable,而kimi-k3在同一时刻 200。这不是模型坏了,是转发层这一批模型的上游端点没配好。 - 两种协议报两个不同的错。走 OpenAI 协议说”找不到上游端点”,走 Anthropic 协议说”不支持这个协议”——说明它在目录里注册了,但上游没接通。参数写错解释不了这个组合。
- 对照组同参数 200,我的请求构造没问题。
换句话说:不用找了,没有特殊设置能让它通。
唯一我没证伪的可能性
zen/v1 那句 free tier can only be used from within OpenCode 是个硬边界——它说明 OpenCode 的免费层有一道客户端归属校验。我只能测第三方 agent 这条路,没法证明 OpenCode 官方客户端里也用不了。
所以真实情况很可能是两层:
- 第三方 agent 直连(Codex / Cline / Roo / Hermes 这类):测过了,不通。
- OpenCode 官方客户端内:未知,得在它自己的客户端里开一次会话才知道。
如果你手头能开 OpenCode 客户端,跑一句 /model step-5-preview-free 再随便问点什么,就能把这个问号消掉。
和上一篇那 13 个免费模型摆一起看
10 月 4 日那篇 OpenCode Zen 免费模型中枢 里,我给出的结论是 36 个模型 30 个可用。五天过去,池子动了:
| 项目 | 10-04(上一篇) | 10-09(本文) |
|---|---|---|
zen/v1 模型数 |
86(13 个 free) | 22(8 个 free) |
zen/go/v1 模型数 |
36 | 38 |
| 全量探测可用 | 30 / 36 | 27 / 38 |
| 端点挂着但调不通 | 5 个(deepseek-v4-flash-free 等) |
3 个(step-5-preview-free、kimi-k2.6、minimax-m2.5) |
zen/v1 从 86 掉到 22 是这五天最大的变化——上次那 13 个 -free 现在只剩 8 个。这批免费池明显在换血,列表里有什么和能用什么是两回事,这正是上一篇就写过的老问题:当时 deepseek-v4-flash-free 就是”目录挂着但后端无路由”,0/6 全挂。这次 Step 5 是同一个坑换了更大的主角。
Step 5 和那批免费模型的定位差异也值得记一笔:
| 模型 | 厂商 | 参数 / 激活 | 上下文 | 今天状态 |
|---|---|---|---|---|
step-5-preview-free |
阶跃星辰 | 600B / 27B | 1M | ❌ 上游端点未接通 |
deepseek-v4.1-flash |
DeepSeek | 552B / 8B·16B | 1M | ✅ 可用 |
longcat-2.5-preview-free |
美团 | 1.6T / ~48B | 1M | ✅ 可用 |
mimo-v2.6-flash |
小米 | 309B / 15B | 1M | ✅ 可用(支持视频音频) |
glm-5.3 |
智谱 | 未公开 | 1M | ✅ 可用 |
qwen3.8-max |
阿里 | 未公开 | 1M | ✅ 可用 |
kimi-k3 |
月之暗面 | 未公开 | 1M | ✅ 可用 |
注意 mimo-v2.6-flash 同样支持视频输入,而且今天实测可用——想在第三方 agent 里跑”看视频”的需求,现在它才是唯一能落地的,Step 5 在这一项上暂时只能看参数。
结论
- 参数不是吹的:600B MoE / 27B 激活 / 1M 上下文 / 原生视觉,官方文档写得很细,推理强度、JSON Schema、提示缓存一个不少。
- 价格也不贵:7 元 / 20 元每百万 token,缓存命中降到 0.35 元,Agent 重复上下文吃满这个折扣。
- 但今天用不上:第三方 agent 直连 7/7 全挂,11 条路径试完确认不是设置问题,是 OpenCode 上游没接通。
- 别等它:真要 1M 上下文 + 现在就能用,
deepseek-v4.1-flash走的是省 KV cache 的路子;要多模态,mimo-v2.6-flash是当下唯一在第三方 agent 里跑得通的视频输入。
下次它真接通了,多半会在模型列表里静静躺着直到有人偶然测到——所以上面那个 OpenCode 客户端的验证,如果你试出来结果,评论区丢一句就能帮后来的人省掉十一次请求。