Home / Guides / Step 5 Preview

Step 5 Preview code review benchmark: free, ties DeepSeek on small PRs, fails big ones

Published October 8, 2026 · route and catalog checked October 8, 2026 · applies to pgup-ai/jbot-review-action v0

Step 5 Preview is a reasonable free reviewer for small and medium pull requests, and the wrong choice for large ones. We ran it as J-Bot Review’s model on nine pull requests. On the six production changes it finished, 4 to 13 files each, it found 8 of 31 known issues and tied DeepSeek V4.1 Flash on the two where we could compare. Its median finished review took 16 minutes, and it was slower than DeepSeek on two of the three pull requests where we have a DeepSeek time. It failed both pull requests of 20 files and more.

Key results

StepFun · released Sep 16, 2026 · 1M context · free on OpenCode Zen

OpenCode Zen serves the model as opencode/step-5-preview-free at $0 per token, for a limited time. OpenCode’s announcement on October 8, 2026 put the free window at one week. Models.dev lists a 1,000,000-token context, 65,536 output tokens, and text, image and video input.

Set up Step 5 Preview code review in three steps

  1. Create an OpenCode API key. Sign in at opencode.ai, then save the key as the repository secret OPENCODE_API_KEY (Settings → Secrets and variables → Actions).
  2. Commit the workflow. Add the file below as .github/workflows/jbot-review.yml. J-Bot sends new models low effort by default, so the workflow sets high, the level we tested on production code.
  3. Open a pull request. J-Bot reads the base…head diff and posts diff-anchored findings with a verdict. A second session checks blocking findings before they post.
.github/workflows/jbot-review.yml
name: J-Bot Code Review
on:
  pull_request: { types: [opened, reopened, ready_for_review, synchronize] }

concurrency:
  group: jbot-review-${{ github.event.pull_request.number }}
  cancel-in-progress: true

permissions:
  contents: read
  pull-requests: write
  issues: write
  checks: read

jobs:
  review:
    if: github.event.pull_request.draft == false
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
        with: { fetch-depth: 0 }
      - uses: pgup-ai/jbot-review-action@v0
        with:
          model: opencode/step-5-preview-free
          model-options: '{"reasoningEffort":"high"}'
          # Large pull requests: give each review more time than the 30-minute default.
          # time-budget-minutes: 45
          opencode-api-key: ${{ secrets.OPENCODE_API_KEY }}
          github-token: ${{ secrets.GITHUB_TOKEN }}

No J-Bot update is needed. The OpenCode build J-Bot pins, 2.0.24, ships without an entry for this model, but it reads the models.dev catalog when it starts, so the id resolved on our first run.

Step 5 Preview on OpenCode Zen: free, 1M context

Model idOpenCode Zen

model: opencode/step-5-preview-free
opencode-api-key

PriceLimited time

Free input, output and cached reads in the Zen pricing table. OpenCode’s October 8 announcement said one week.

LimitsModels.dev

1,000,000-token context and 65,536 output tokens. Text, image and video in, text out. Tool calling and reasoning effort low, medium or high.

DataZen docs

OpenCode says the provider follows a zero-retention policy and does not train on your data.

Sources: the OpenCode Zen documentation (model list, pricing and privacy) and the models.dev catalog entry, both checked October 8, 2026. Free windows end, so check the pricing table before you depend on it.

Step 5 Preview vs DeepSeek V4.1 Flash on a public pull request

We started with pull request #286 in J-Bot Review’s own repository: 9 files on one review page. We ran it at low effort with verification off, the settings we had used for DeepSeek V4.1 Flash on the same change a day earlier. That DeepSeek run used an older J-Bot build (e824bd4, against 0906459 for Step 5).

Scroll horizontally to see every column.

ModelDateTimeCostTool calls (main / rules)Real bug foundKnown issues
Step 5 Preview · lowOct 88.2 min$037 / 17Yes0 / 2
DeepSeek V4.1 Flash · lowOct 74.4 min$0.08249 / 20Yes0 / 2

Both models found the same real bug. A telemetry helper had gained a workspace parameter that three backend call sites did not pass. Step 5’s write-up named all three call sites. Neither model found the two known issues, shell-parsing bugs fixed later in #287. Step 5 made fewer tool calls and still took 1.9 times as long on this pull request.

Step 5 Preview benchmark on eight production pull requests

Next we ran eight pull requests from a private TypeScript monorepo. An earlier audit had written an answer key for each one, 44 known issues in total. Each review ran once, at high effort, with one review pass, verification off and J-Bot’s default 30-minute budget. A script matched findings to the key by keyword, and we read every finding it did not match by hand. We label the pull requests A to H.

Scroll horizontally to see every column.

Pull requestFilesReview pagesTimeKnown issues found
A4217.7 min3 of 7
B8110.0 min1 of 5
C8114.6 min1 of 3
D9313.5 min2 of 8
E10219.8 min0 of 2
F13219.8 min1 of 6
G203Failed at 29.5 minNo review (3 in key)
H324Failed at 28.1 minNo review (10 in key)

J-Bot splits a diff into budgeted review pages and posts only when every page finishes. The raw numbers (JSON) include the DeepSeek reference runs and the cross-model comparison.

Scroll horizontally to see the whole chart.

Review time against files changed, eight production pull requests Step 5 Preview finished six pull requests of 4 to 13 files in 10.0 to 19.8 minutes. It failed a 20-file pull request at 29.5 minutes and a 32-file pull request at 28.1 minutes, against a 30-minute budget. 0 10 20 0 10 20 30 30 30-minute budget Files changed Minutes A B C D E F G, failed H, failed Finished Failed
Review time against files changed. Every pull request up to 13 files finished inside 20 minutes. Both larger ones failed with an unfinished page and posted nothing.

On the six pull requests it finished, Step 5 found 8 of 31 known issues. The median review took 16 minutes.

Step 5 Preview vs DeepSeek, MiMo, GLM and other models

We also ran J-Bot with other models on two of these pull requests, A and B, with the same settings as above: high effort, one review pass and verification off. A has 7 known issues and B has 5, so each row is scored out of 12. Every model ran once, except LongCat 2.5 Preview, which ran A twice, between September 26 and October 8.

Scroll horizontally to see every column.

ModelRouteDateKnown issues found, A + B (of 12)Time on ATime on B
Step 5 PreviewOpenCode Zen, $0Oct 84 (3 + 1)17.7 min10.0 min
DeepSeek V4.1 FlashDeepSeek APISep 264 (3 + 1)9.2 min12.0 min
MiMo V2.6 FlashOpenCode GoSep 284 (3 + 1)22.8 min17.8 min
GLM 5.3 FlashOpenCode GoSep 282 (1 + 1)14.5 min8.5 min
Qwen3.8-FlashQoder, $0Oct 11 (0 + 1)16.0 min8.3 min
Muse Spark 1.3OpenCode Zen, $0Sep 281 (0 + 1)3.5 min3.3 min
LongCat 2.5 PreviewOpenCode Zen, $0Sep 26 to 280 to 1 on A, two runs18 to 27 minNot run

One run per model (two on A for LongCat 2.5 Preview), on J-Bot builds that changed between September 26 and October 8. Flash-class models swing by about two known issues between identical runs, so the top three rows are a tie, not a ranking. MiMo’s 3 on A includes one finding we judged a likely match. Runs before October 8 were scored against an earlier answer key with one more issue on B, which no model found, and every row here leaves it out.

Scroll horizontally to see the whole chart.

Known issues found against total review time on two production pull requests, six models Out of 12 known issues, Step 5 Preview found 4 in 27.7 minutes, DeepSeek V4.1 Flash 4 in 21.2 minutes, MiMo V2.6 Flash 4 in 40.6 minutes, GLM 5.3 Flash 2 in 23.0 minutes, Qwen3.8-Flash 1 in 24.3 minutes and Muse Spark 1.3 1 in 6.8 minutes. 0 1 2 3 4 5 0 10 20 30 40 Minutes on A + B Known issues found (of 12) DeepSeek V4.1 Flash MiMo V2.6 Flash GLM 5.3 Flash Qwen3.8-Flash Muse Spark 1.3 Step 5 Preview, $0
Known issues found against total review time on A and B. Step 5 Preview, DeepSeek V4.1 Flash and MiMo V2.6 Flash each found 4 of 12. LongCat 2.5 Preview ran A only and is left out.

Step 5 Preview matched the best results in this group, DeepSeek V4.1 Flash and MiMo V2.6 Flash, and it was the only one of the three on a free route. DeepSeek was the fastest of the three on A, and Step 5 was the fastest of the three on B. GLM 5.3 Flash found half as many. Muse Spark 1.3 finished both reviews in under four minutes and found almost nothing.

Why the large pull requests failed

Each failure came from a single review page. On G, 20 files over three pages, one page returned an empty response, and its retry used up the rest of the budget. On H, 32 files over four pages, one page ended with a partial result.

J-Bot will not post a review that skips part of the diff. When a page fails after its retry, the whole run fails and nothing posts. That rule protects you from a review that looks complete and isn’t. With a slow model it also means one stuck page costs the entire review. This result decides how to use Step 5. A model that handles 13 files and stalls at 20 can’t be the default for a repository that opens large pull requests.

When to use Step 5 Preview

What this test can’t tell you

Each pull request ran once. Flash-class models swing by about two known issues between identical runs, so a single row can mislead in either direction. Eight production pull requests from one repository are a screen, not a benchmark.

The model comparisons are thin. The cross-model table rests on two pull requests with one run per model (two on A for LongCat), on J-Bot builds from September 26 to October 8, and we did not run the other models on C through H. The public pull request ran at low effort and the production ones at high, so the two tables don’t combine.

The production repository is private, so we can’t publish those diffs or findings. The public run can be checked against #286, #287 and #293, which fixed the telemetry bug.

Where the diff goes

FAQ

What is Step 5 Preview?

Step 5 Preview is a StepFun model that OpenCode Zen serves for free, for a limited time, as opencode/step-5-preview-free. Models.dev lists a 1,000,000-token context, 65,536 output tokens, text, image and video input, tool calling, and a release date of September 16, 2026.

Is Step 5 Preview free?

On OpenCode Zen, yes, for a limited time. OpenCode lists opencode/step-5-preview-free at $0 for input, output and cached reads. OpenCode’s announcement on 2026-10-08 said the free window lasts a week, so check the Zen pricing table before you rely on it.

Is Step 5 Preview good for code review?

On small and medium pull requests, yes. It found 8 of 31 known issues on six production pull requests of 4 to 13 files, and tied DeepSeek V4.1 Flash and MiMo V2.6 Flash on the two pull requests all three reviewed. It failed both pull requests of 20 and 32 files, so it is not a good default for repositories that open large changes.

Step 5 Preview vs DeepSeek V4.1 Flash: which is better for code review?

They tied on known issues in our runs, and DeepSeek was faster on two of the three pull requests we can compare. On two production pull requests both found 4 of 12 known issues. DeepSeek took 9.2 and 12.0 minutes, and Step 5 took 17.7 and 10.0. On a public 9-file pull request both found the same real bug, Step 5 in 8.2 minutes and DeepSeek in 4.4. Each comparison is one run per model on different J-Bot builds, and a swing of two issues between identical runs is normal, so treat the result as a tie.

What is the best free model for AI code review right now?

No free model wins on every count in our data. On the same two production pull requests, Step 5 Preview found 4 of 12 known issues at $0, the same as DeepSeek V4.1 Flash and MiMo V2.6 Flash and ahead of GLM 5.3 Flash (2), Qwen3.8-Flash (1) and Muse Spark 1.3 (1). Step 5 was slower than DeepSeek on one of the two and failed both large pull requests we gave it. Our DeepSeek and MiMo runs used paid routes. For the free routes, quotas and data terms of each model, see the free model guide.

How fast is Step 5 Preview at code review?

Slower than DeepSeek V4.1 Flash on most pull requests we can compare, with a median of 16 minutes per finished review. The six production reviews it finished took 10.0 to 19.8 minutes. Only three pull requests have a DeepSeek time, all on older J-Bot code. Step 5 took 8.2 minutes against 4.4 on a 9-file public pull request, 17.7 against 9.2 on A, and 10.0 against 12.0 on B. Both large pull requests failed with an unfinished page, after 29.5 and 28.1 minutes of J-Bot’s 30-minute budget.

Do I need to update J-Bot Review to use Step 5 Preview?

No. The OpenCode build J-Bot pins, 2.0.24, reads the models.dev catalog when it starts, so the new model id resolved on the first run. Set model: opencode/step-5-preview-free and pass an OpenCode API key.

Does OpenCode keep my code when I use Step 5 Preview?

Not according to OpenCode. Its Zen documentation says Step 5 Preview Free’s provider follows a zero-retention policy and does not use your data for model training. That is OpenCode’s statement, not a J-Bot guarantee. Read the Zen privacy section before sending private code.

Related