DEV Community

ServBay
ServBay

Posted on

DeepSeek V4.1 Flash 1017 hit 77.0 on DeepSWE. The harder half was deciding when to use it

People in my feed keep repeating one line about DeepSeek minor updates. I had my own reason to take it seriously this time. After the Thursday outage I assumed something was coming, and on Saturday, October 17, 2026 the release landed as DeepSeek V4.1 Flash 1017. Four digits changed in the name, no V4.2 badge appeared, and the web app, mobile app and API all moved over at once.

Most posts will spend their words on the score table. What I did not expect was that the useful part of this release, for me, would sit somewhere else. A benchmark score gets a model onto my shortlist. It does not tell me what to do at 11pm when a long agent run starts returning rate limit errors from one provider and the task still has forty steps left.

That gap, deciding which model handles a given request, is the thing I moved out of my own head this month. I run ServBay, a one-stop AI development management tool that keeps models and keys behind a single local endpoint, and most of the routing now lives there instead of in my notes. What follows is the spec sheet, the benchmark numbers, and the point where my manual judgement stopped paying for itself.

The spec sheet, without the framing

Parameters and licensing

DeepSeek V4.1 Flash 1017 is the October 17 iteration of DeepSeek V4.1 Flash, an open-source model with native image-text-to-text input. DeepSeek positions it around complex logical reasoning, cross-file code generation, multi-step tool calling and chart understanding.

Architecture data published on Hugging Face puts total parameters at roughly 763B (763,205,315,794 exactly). The weights stay under the MIT License, so modification and commercial use are allowed. The Safetensors checkpoint uses mixed precision, about 1.976B BF16 parameters, 42.3M F32 parameters, 204.015B FP8_E4M3 parameters and 557.171B Int8 parameters. The full weight pack runs around 510GB and the recommended context window is 1M tokens.

Eleven benchmarks in one table

The 1017 build improves on the original V4.1 Flash across all eleven published benchmarks, beats Kimi K3 and GLM-5.3, and on several long-horizon engineering projects passes Opus 5 and GPT-5.6 Sol outright.

Benchmark Area DS-V4.1-Flash-1017 DS-V4.1-Flash K3 GLM-5.3 GPT-5.6 Sol Opus 5
HLE w/o tools Deep reasoning 42.6 (44.0†) 36.8 (39.1†) 43.5 42.0† 44.5 56.3
Terminal-Bench 4.0 Terminal command line 42.3 31.2 12.6 37.9 39.9 51.8
DeepSWE v1.1 Real-world software fixes 77.0 74.2 67.5 66.9 73.0 74.0
ProgramBench Complex algorithm construction 29.1 20.3 17.5 19.0 23.0 37.0
NL2Repo-Bench Natural language to full repo 68.2 65.4 58.0 58.0 56.8 75.3
Automation-Bench v1.0.6 Multi-step automation workflows 60.5 54.8 46.7 48.8 45.8 50.3
Agents' Last Exam Long-horizon professional work 35.4 31.8 27.6 28.5 26.7 28.6
Apex Bench v1.1 End-to-end complex agent execution 72.1 64.6 47.8 56.6 54.3 65.8
Chartography (w/tools) Complex chart parsing 83.0 78.9 68.1 / 79.9 84.0
BabyVision (w/tools) Fine-grained visual understanding 92.5 89.6 85.7 / 88.9 94.1
ZeroBench-main (w/tools) Zero-shot hard visual reasoning 51.0 49.0 41.0 / 53.0 52.0

The † marks the text-only subset of HLE. Terminal-Bench 4.0 is measured with the Claude Code harness and DeepSWE v1.1 with the Mini-SWE-V2 harness.

01

The coding numbers I opened first

DeepSWE v1.1 sits at 77.0, the best score on that benchmark. It tests whether a model can find a bug in a real open-source project, edit several files and pass the tests. Opus 5 lands at 74.0 and GPT-5.6 Sol at 73.0.

Terminal-Bench 4.0 goes from 31.2 to 42.3. That is ahead of GPT-5.6 Sol at 39.9 and GLM-5.3 at 37.9, and more than three times K3 at 12.6. The score tracks what it feels like to have a model type commands, set up an environment, read logs and run scripts in a terminal.

ProgramBench reaches 29.1 and NL2Repo-Bench 68.2. ProgramBench improved by more than 43%. A few sentences of requirements is enough to stand up a whole repository rather than patch one file.

Agent tasks

All three agent benchmarks go to the 1017 build. Agents' Last Exam scores 35.4 against Opus 5 at 28.6 and GPT-5.6 Sol at 26.7, on a benchmark built for long-horizon professional workflows. Automation-Bench v1.0.6 comes in at 60.5 and Apex Bench v1.1 at 72.1. Both measure chained tool calls and the ability to correct course after an error. Sitting 6 to 10 points above Opus 5 in that territory shows up as fewer dropped threads across dozens of consecutive steps.

Vision and charts

The native vision encoder covers images, charts and front end interfaces. With tool use enabled the model scores 83.0 on Chartography, 92.5 on BabyVision and 51.0 on ZeroBench, roughly level with Opus 5. In daily work a screenshot of a failing UI, a data report or a mockup comes back read as code.

Wish-driven programming, and what it does not replace

Four demos

DeepSeek gave the release a plain label, wish-driven programming. Asking a model to hand-roll a large project used to be awkward. The developer could picture the result but could not describe the architecture in professional terms, and did not know the low-level details either. The 1017 build uses self-feedback reinforcement learning to strengthen building large projects, games and 3D scenes from scratch. A short prompt, a few reference assets and very few interaction turns are enough to reach something close to finished.

Four demos came with the release.

02

  1. A Forbidden City 3D scene built from a short request, with the Hall of Supreme Harmony, red walls, corner towers, and attention to light and material.
  2. A browser-based 3D racing game with track collision physics, vehicle handling and a dashboard UI.
  3. Portal 2 rebuilt from scratch in the Godot engine, with spatial portal mechanics and physical switches.
  4. The Valley of Ages, a 3D scene with terrain, water reflections, vegetation and building ruins.

Where a human still sits

Engineering reality deserves a paragraph here. A model that produces a high-completion first version from a short prompt removes a large amount of scaffolding and boilerplate work. It does not remove the work of turning that version into a commercial project.

Complex internal business logic and cross-platform dependencies still get refined over several rounds, with a developer in the loop. Whether the generated code runs on a particular machine depends on toolchain, runtime and dependency setup. Wish-driven programming lowers the interaction barrier. The developer moves from typing every line to reviewing and steering the project.

The decision worth automating

Leaderboards move faster than my config files

The table above shows the trend plainly. DeepSeek V4.1 Flash 1017 leads on fixing open-source bugs and on long agent runs. For pure terminal work or a specific repository generation, Opus 5 still comes first. My own needs move between those categories inside a single afternoon.

If following the leaderboard means editing configuration and API keys inside Claude Code, Codex and the project code every time, the cost of switching eats the gain from switching. That is the gap a cc-switch alternative gets asked to fill. A switcher answers which provider am I on. A gateway answers how this request should travel. Only the second question is worth my attention.

What moved out of my head

Model selection is the obvious one. ServBay puts DeepSeek, Claude, OpenAI and other mainstream models behind one local endpoint and takes over Claude Code and Codex with a single click, so the choice happens in a settings panel instead of a config file and a shell session.

03

The fallback logic is the second. One provider hitting a rate limit or a short outage used to mean stopping the work and going back to the terminal. Channel priority and automatic failover handle that now, and a model mapping rule covers the cheaper version of the same problem, for example sending a request for an expensive model to a cheaper one when a quota runs low or a project budget is nearly spent.

Two smaller habits changed with the same setup. Each project gets its own virtual key while the upstream keys stay encrypted on the machine and never go up, and a budget threshold blocks spending before it happens instead of after the invoice arrives.

Local deployment is a hardware conversation first

The hardware bar

Weights and inference code went up on release day. The Hugging Face repository is at https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017 and ModelScope carries the same repository for faster downloads. The repository and weight files are under the MIT License and ship as shards in BF16, F32, FP8 and Int8 precision.

Open weights do not mean a desktop can run them. At 763B parameters a single consumer card, an RTX 4090 or 5090 for instance, will not load the original weights. The full checkpoint wants a professional multi-GPU server, eight H100/H200/B200 cards, or several A100/H800 machines, or research into a heavily quantized distributed variant. More than 500GB of disk plus the VRAM requirement is the sort of thing to size before starting a download, not after.

The encoding trap

This part breaks silently and costs an afternoon. DeepSeek V4.1 Flash 1017 does not ship a traditional Jinja chat_template. Drop the default Transformers template in and tool calling, thinking mode and image input all fail.

The official route is the encoding.py script in the repository's encoding directory, or in production the deepseek-recipe library written in Rust with Python bindings (https://github.com/deepseek-ai/deepseek-recipe). V4.1 also requires DSML tool-call tags to carry a space, as in <|DSML| calls>, and it accepts an integer from 1 to 100 to control the reasoning budget precisely (reasoning_effort, default 75).

Conversion and inference

Weights convert to an 8-way tensor-parallel layout with expert layers in FP4, then inference starts across the same number of processes.

04

# 1. Convert the weights into an 8-way parallel format
export HF_CKPT_PATH=/path/to/DeepSeek-V4.1-Flash-HF
export SAVE_PATH=/path/to/DeepSeek-V4.1-Flash-TP8
export MP=8

python convert.py \
  --hf-ckpt-path "${HF_CKPT_PATH}" \
  --save-path "${SAVE_PATH}" \
  --model-parallel "${MP}" \
  --expert-dtype fp4 \
  --tokenizer-path "${HF_CKPT_PATH}"

# 2. Start multi-GPU interactive inference
torchrun --nproc-per-node "${MP}" generate.py \
  --ckpt-path "${SAVE_PATH}" \
  --config config.json \
  --interactive \
  --temperature 0.6
Enter fullscreen mode Exit fullscreen mode

DeepSeek's recommended sampling parameters are temperature 1.0, top_p 1.0, a context window of 1M tokens and a max output length of at least 256K tokens.

Encoding messages in Python

With the official encoding.py, thinking mode and the reasoning budget are set at encode time.

from encoding import encode_messages, parse_message_from_completion_text

messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Check the current codebase and fix the failing unit tests."},
]

# Encode thinking mode and the reasoning budget with the official encoding.py
prompt, media = encode_messages(
    messages,
    thinking_mode="thinking",
    reasoning_effort=75,  # 1-100, or "low" (50) / "high" (75) / "max" (100)
    return_multi_modal_data=True,
)

# Parse what the model returns
completion = "Found the boundary condition bug.</think>Fix below...<|end▁of▁sentence|>"
parsed = parse_message_from_completion_text(completion, thinking_mode="thinking")
Enter fullscreen mode Exit fullscreen mode

Cost, free access and one date to calendar

What is free and what is billed

The official web app and mobile app are free to use, and the open weights can be downloaded and used commercially at no cost. API calls are billed at the existing token prices, 0.02 CNY per million cached input tokens and 4 CNY for output during off-peak hours, double that at standard hours. A high context cache hit rate keeps the total per call at a small fraction of comparable overseas flagship models.

The Search and Fetch change

The API adds two web tools, Search and Fetch, both driven by DeepSeek's in-house search engine, at 5 CNY per 1,000 successful calls. Requests triggered through server-side tool calls inside DeepSeek Harness, Claude Code and Codex start being billed per call from 00:00 Beijing time on November 1, 2026. Anyone running agents on a schedule should put that date somewhere visible.

Questions that keep coming up

Is DeepSeek V4.1 Flash 1017 free?

The web app and mobile app cost nothing, and the MIT-licensed weights can be used commercially for free. API usage is billed per token at the prices above, and Search and Fetch cost 5 CNY per 1,000 successful calls.

05

Does it accept images?

It is an image-text-to-text model. Chartography at 83.0 and BabyVision at 92.5 come from that capability, and screenshots of interfaces, charts or mockups can be read directly.

Can it run on a personal computer?

The full 763B model at around 510GB does not fit an ordinary desktop. It needs a multi-GPU server with substantial VRAM. Desktop work is better served by the web app, WorkBuddy, or a local gateway such as ServBay, which reaches the DeepSeek API and other providers from one place while you work.

What context length does it support?

A recommended context window of 1M tokens and a recommended max output length of at least 256K tokens.

What license applies?

The model repository and the weight files are both under the MIT License, which permits commercial use and redistribution.

What I am keeping from this release

DeepSeek V4.1 Flash 1017 looks like a date suffix and behaves like a different generation. For my own work the change is not that there is now a better model to call. It is that the question of which model to call has stopped taking up space in my day. Bulk coding and long agent runs go to the 1017 build at roughly 1.5 CNY per task, and a genuinely hard architectural problem moves to Opus 5 in a couple of seconds when the mapping rule sends it there.

The teams that get the most out of it are the ones already running agents through a toolchain, with DeepSeek Harness upgraded to 0.2.1-rc.1 or later, or through Claude Code, Codex, CodeBuddy and WorkBuddy. A bare chat session rarely reproduces the build-a-whole-project result. Local deployment stays a project of its own, with the 763B compute bar and the missing Jinja template as the two gates to clear. Search and Fetch billing starts on November 1, 2026, which is close enough to check before a long run lands on that date.

What this release actually changes is a boundary. Code generation, tool calling, web search and project scaffolding now sit in one workflow, and the routing between them can sit in a gateway instead of in my head. That is the part I will still be using after the next minor update arrives.

Top comments (0)