Back to Explore
NewsVibeFix 编辑部Updated Oct 18, 2026

DeepSeek Launches V4.1-Flash-1017 with "Wish-Driven" Programming, Open Search & Fetch APIs

On October 17, DeepSeek released V4.1-Flash-1017: all 11 benchmarks improved over September, weights open-sourced under MIT, API name and pricing unchanged — and its in-house search engine opened as public Search & Fetch APIs at $0.75 per 1,000 successful requests. We break down the scores, the billing rules, and why official web retrieval as API infrastructure matters to vibe coders.

Official DeepSeek logo (whale icon and wordmark in brand blue) centered on a dark navy background

On October 17, DeepSeek fired three shots in a single day: V4.1-Flash was upgraded to V4.1-Flash-1017 (live simultaneously on web, app, and API, with pricing untouched), the weights went up on Hugging Face and ModelScope under an MIT license, and — arguably the heaviest of the three for developers — DeepSeek packaged its in-house search engine into two public APIs, Search and Fetch, opening them to every developer. This is not a routine patch release. It is the first time a Chinese coding-model vendor has turned "model + live web retrieval" into official API infrastructure. Understand what that means before deciding whether to follow.

1. What actually happened: three things, one day

Facts first. DeepSeek-V4.1-Flash-1017 is a minor update to V4.1-Flash, released September 10. The naming follows DeepSeek's date-snapshot convention — 1017 is October 17; the previous generation was called V4-Flash-0731. The official wording is restrained: the model card's first sentence calls it a "minor update." But the 11-benchmark comparison table shows the new version beating the September release across reasoning, coding, agentic, and visual benchmarks, while completing tasks faster and producing shorter outputs. The official phrase is "a Pareto improvement in performance and cost."

The most convenient part for existing users: the API calling convention and pricing are completely unchanged. The deepseek-flash name you've been using now serves 1017 under the hood; even the retired names deepseek-v4-flash and deepseek-v4-flash-vision-exp still work, now answered by the new version at Flash pricing. This is the second time DeepSeek has pulled the "interface stays, engine swaps" move — it did the same when V4.1-Flash launched last month. Zero migration cost for users is what lets it iterate this aggressively.

On the weights side: the full weights are open-sourced under MIT on Hugging Face and ModelScope. Note there is no new technical report this time — the 1017 model card keeps the positioning statement, the benchmark table, and inference guidance, while the technical report carries over from the previous release. If you plan to self-host: the weights ship as large FP8/INT8-packed files, so size your hardware by precision and memory yourself; community projects are already working on adaptation.

2. Benchmarks: all 11 up, and the biggest gains are all coding

Numbers first, interpretation after. The three largest jumps in the model card's old-vs-new comparison:

  • Terminal-Bench 4.0: 31.2 to 42.3 (+11.1). Terminal agent tasks measured under the Claude Code harness — an 11-point jump in one release, ahead of GPT-5.6 Sol (39.9) in the same table, though still behind Opus 5 (51.8).
  • DeepSWE v1.1: 74.2 to 77.0 (+2.8). Software-engineering agent tasks under the Mini-SWE-V2 harness. The new 77.0 beats Opus 5's 74.0 and GPT-5.6 Sol's 73.0 in the same table — at least on DeepSeek's own scoreboard, it tops both.
  • NL2Repo-Bench: 65.4 to 68.2 (+2.8). Generating complete repositories from natural-language requirements — the core vibe-coding scenario.
Grouped bar chart comparing DeepSeek V4.1-Flash (September) vs V4.1-Flash-1017 (October 17) on Terminal-Bench 4.0 (31.2 vs 42.3, +11.1), DeepSWE v1.1 (74.2 vs 77.0, +2.8), and NL2Repo-Bench (65.4 vs 68.2, +2.8)

The other eight all rose too: ProgramBench 20.3 to 29.1 (+8.8), Apex Bench v1.1 64.6 to 72.1 (+7.5), HLE without tools 36.8 to 42.6 (+5.8), Automation-Bench v1.0.6 54.8 to 60.5 (+5.7), Agents' Last Exam 31.8 to 35.4 (+3.6), Chartography (with tools) 78.9 to 83.0, BabyVision (with tools) 89.6 to 92.5, and ZeroBench-main (with tools) 49.0 to 51.0. Gains range from 2.0 to 11.1 percentage points; nothing regressed.

Two sobering notes. First, every score is self-reported by DeepSeek; no independent evaluation has been published yet — the media outlets relaying the news added that caveat, and I pass it on verbatim. Second, the comparison opponents in the model card (K3, GLM-5.3, GPT-5.6 Sol, Opus 5) were chosen by the publisher; the table is naturally flattering to its author. My advice is at the end: run your own task set — it beats any table.

But one signal is solid: the largest gains (Terminal-Bench, ProgramBench, DeepSWE, NL2Repo) are uniformly agentic coding tasks. DeepSeek's optimization direction this round is unambiguous — not general chat, but "making the model work inside tools." That's the same story as the "wish-driven programming" narrative in the next section.

3. "Wish-driven programming": what 1017 is really selling

DeepSeek told a very concrete story for 1017: reinforcement learning with self-feedback, training the model to develop complete projects end-to-end from scratch. According to the official announcement (as relayed consistently by multiple media outlets), the demos include recreating Portal 2 in the Godot engine, a web racing game, and a 3D model of the Forbidden City. Demos are demos — but the direction matters: DeepSeek says the new version is specifically tuned for its own DeepSeek Harness (v0.2.1-rc.1 or later recommended), plus Tencent's CodeBuddy and WorkBuddy.

In plain terms: 1017's target user is not "someone chatting in a web dialog box" but "someone embedding the model into programming tools." The model card's "faster task completion, shorter outputs" is the other side of the same logic — when an agent runs a task, output tokens are literally money and time. Shorter outputs mean fewer tokens and faster runs for the same task. Behind the "performance–cost Pareto improvement" phrasing is a hard engineering stance: this generation optimizes not "how well it answers" but "how cheaply it works."

A few technical details developers should note. Context window is 1M tokens; the official recommendation is temperature 1.0, top_p 1.0, max_tokens at least 256K — a temperature of 1.0 signals confidence in output stability, and hints that in agentic settings they want you to keep sampling diversity. Unusually, this release ships no Jinja-format chat template. The official replacement is a two-piece kit: a self-contained Python reference implementation in the repo's encoding folder (encoding.py, with test cases for multi-turn conversations, tool calling, thinking mode, numeric reasoning effort, mid-conversation system messages, and interleaved image content), plus the newly released deepseek-recipe — Rust libraries with Python bindings that convert Messages, Chat Completions, and Responses API requests into a unified Conversation format, encode them into V4/V4.1 prompts or token IDs, and parse model output back into complete or streamed responses. Model inference, tool execution, and HTTP transport are left to the caller. If you self-host: prompt assembly must follow this official path now — don't reuse old templates.

4. The real headline: Search and Fetch APIs go public

Apart from the model update, on the same October 17, DeepSeek turned its in-house search engine into two public APIs. This is the first time a Chinese coding-model vendor has made "official web retrieval" part of its API infrastructure, and it deserves its own breakdown.

Search API (POST https://api.deepseek.com/v1/tools/search): structured web results for a query, powered by DeepSeek's in-house search engine. The request schema is restrained: query (required, 1–128 characters), count (default 10, max 50), ori_question (the user's original question that triggered the search, 1–128 characters, used to improve query understanding), localization (an IP address used to localize results), and need_content (whether to return page content, default false). Query syntax passes through intact, with a full set of operators: site:, -site:, -, -"...", "...", lang:, after:, before: — the official docs give ready-made examples like "DeepSeek site:github.com OR site:huggingface.co lang:en after:2025".

Each result carries nine fields; three are the most informative: rerank_score (a 0–3 relevance score combining relevance, authority, and freshness, with 1.5+ counting as high quality), summary (a 600–800 character long summary, documented as "intended to be read by a model"), and authority (a 0–4 authority tier, 3+ meaning highly authoritative sources). snippet is a 100–200 character short summary for UI display; content is only populated when need_content=true. The field design shows this API was built for agents and RAG pipelines from day one — not for human browsing.

Fetch API (POST https://api.deepseek.com/v1/tools/fetch): simpler — pass one URL, get the page's title and Markdown content back. Fetching is subject to the target site's availability and access policies; unreachable pages return 404-class errors.

The billing is characteristically DeepSeek: per successful request, not per token, not per result. Search and Fetch each cost $0.75 per 1,000 successful requests, and "successful" is strictly defined — HTTP 200 with actual results (Search must return a non-empty results array; Fetch must return page content). Failed requests, empty results, and timeouts are not billed. count only controls how many results come back; it doesn't change the unit price. Rate limits are account-level, with Search and Fetch each independently capped at 5 QPS; Fetch additionally has a per-domain QPS limit, and overages return 429.

One more time window: if you use the DeepSeek API through DeepSeek Harness, Claude Code, or Codex, server-side tool calls to Search/Fetch are currently free, with per-request billing starting at 00:00 Beijing time on November 1, 2026. That's a two-week free testing window — more on how to use it below.

5. Why this matters so much to vibe coders

The conclusion first: the "last mile" of getting an agent online used to mean either a third-party search API (expensive, tight quotas, uneven result quality) or a hand-rolled crawler (anti-bot measures, parsing, maintenance — all pain). DeepSeek has now stuffed its in-house search engine — officially described as handling hundreds of millions of queries a day across an index of hundreds of billions of pages, filtering SEO spam and low-quality AI-generated content — directly into its own API, billed per success with failures free. For anyone building RAG or agents, web retrieval now has an official, cheap, one-stop option from the model vendor itself.

The combination punch matters more. 1017 is an agentic-coding-oriented model (shorter outputs, faster tasks, tuned for Harness and CodeBuddy); MIT weights allow private deployment; OpenRouter and other channels cover cloud calls; and now official Search/Fetch completes the picture — private deployment, cloud, and live web all covered. A vibe coder can wire it like this: run 1017 locally or in the cloud for code generation, and whenever it needs the latest docs, API changes, or error-message lookups, call official Search/Fetch for structured results to feed back into the model — no separate search infrastructure to maintain in between. The rerank_score and authority fields even do the "is this result trustworthy" judgment for you.

Consider the competitive landscape. OpenAI's and Anthropic's web capabilities are largely locked inside their own products and agent frameworks; neither exposes a "search engine" as a standalone per-call public API. Third-party search APIs are a separate business from a separate vendor — when something breaks, you're debugging across two suppliers. DeepSeek has now made "model + search" one vendor, one key, one bill, which shortens the debugging chain considerably. That's what I mean by "API infrastructure" — it's not selling a feature, it's selling a new default configuration: for coding agents, web retrieval stops being an external dependency that needs its own vendor selection.

The boundaries deserve honesty too. A 5-QPS account-level limit won't carry high-concurrency workloads; Fetch's per-domain limit is a hard constraint on "bulk-crawl one site" patterns; and the ranking behind summary and rerank_score is DeepSeek's own — its authority tiers may not match your standards, so cross-validate on consequential decisions, or at least down-weight results with authority below 3. These are things to handle in your own engineering; the official docs lay out error codes and retry guidance clearly, so follow them.

6. Getting started: the free window runs to November 1 — test before you switch

Practical advice for vibe coders who want to follow up:

First, max out the two free weeks. Using the DeepSeek API through DeepSeek Harness, Claude Code, or Codex, server-side Search/Fetch calls are free until 00:00 Beijing time on November 1. That's the ideal window to measure the retrieval link's quality and latency: build a fixed test set (say, 20 programming tasks that require looking up current documentation), record pass rates, per-task time, and search calls per task — then, after November 1, do the math at $0.75 per thousand and decide whether to keep it.

Second, run your own task set before switching your default model. Official tables are official tables. Switching to 1017 costs nothing — the API name and price are unchanged — but "zero-cost switching" is not "zero-risk switching." Run your representative tasks (especially tool-calling agent tasks) on both versions, compare pass rates and per-task token consumption, and only switch the default when the data says so. Note that temperature 1.0 is the official recommendation — don't blindly carry over your old low-temperature habits.

Third, spend half an hour on the Search query operators. site: for domains, lang: for languages, after:/before: for dates — combined, they cover the single most frequent need: "latest English official docs." Don't leave ori_question empty — passing the user's original question is documented to improve query understanding, and a quick test will tell you whether it's worth it. need_content defaults to false; only enable it when you actually need body text, so you're not pulling unused content every time.

Fourth, self-hosters should start with encoding and deepseek-recipe. No Jinja template means the old prompt-assembly logic no longer applies; the official encoding.py reference implementation and the Rust toolkit are the only sanctioned path. Get the reference implementation working first, then productionize with deepseek-recipe.

7. Sources, wording, and one reminder

The factual basis of this article comes from three primary sources: the DeepSeek-V4.1-Flash-1017 model card on Hugging Face (benchmark table, sampling parameters, the encoding and deepseek-recipe notes, MIT license), DeepSeek's official API documentation for the Search & Fetch guide (endpoints, fields, operators, billing, and rate limits in full), and October 17 media coverage (ABMedia and others relaying the official announcement consistently, used to confirm the release date and the demo cases). One honest note: the original WeChat official-account post could not be read directly due to anti-scraping restrictions, so the October 17 date rests on consistent multi-outlet relay.

And the most important reminder, once more: all benchmark scores are self-reported by DeepSeek; independent verification has not appeared. The model card's comparison table uses opponents of the publisher's choosing, scored by the publisher. The direction of 1017 is right (agentic coding + official web retrieval + pay-per-success), and the free window is real — but the decision to "switch your default model" should be voted on by your own task set. Two weeks is enough for one full round.

Views 0Comments 0

Comments (0)

ME
0/1000
Loading comments...

Sources

Browse projectsPublish your project

Related articles

Official Liquid AI chart comparing LFM2.5-24B-A2B against three rival models across 16 benchmarks
News
Liquid AI Releases LFM2.5-24B-A2B: Open-Weight 24B MoE Tuned for Fast On-Device Agents

On October 13, Liquid AI released LFM2.5-24B-A2B: an open-weight 24B MoE with ~2B active parameters per token, built for fast on-device agents. Its real story is the training recipe — agentic RL inside real harnesses like OpenCode, Pi, OpenClaw and Hermes Agent. We break down the five-stage post-training, the 16 vendor-run benchmarks (strong on tool use and instruction following, weak on knowledge-heavy coding), and who should actually deploy it.

Industry TrendsModel UpdatesAI Agent
Product photo of an off-brand Android TV box of the kind used in Anthropic's experiment
News
Anthropic Red Team: Small Models Months Away from Self-Replicating on IoT Devices

Anthropic's Frontier Red Team (Oct 12) ran a 26B model across 15 $55 Android TV boxes at 0.39 tokens/s, and projects small models will reach GLM-5.2's replication level by end of 2026. We separate what was measured from what is projected, explain the ECI math, the upper-bound caveat, and what it means for agent sandboxes — contrasted with the real CyberXero attack.

Industry TrendsModel UpdatesAI Agent