After spending an entire night experimenting with DeepSeek Harness, I found that it is outperforming Claude Code in a Minecraft-like way.
On the night of August 13, DeepSeek did two major things.
It first announced API price adjustments, and a few hours later, released the developer preview of DeepSeek Harness v0.1, fully open-sourced under the MIT license.
We installed it the very same night. It only takes one line of command:
- npx @deepseek-ai/dsh web
Open your local URL in the browser and you're in.
It's necessary to explain what Harness is right here, because we have a hunch that this term is about to go viral soon.
Its original meaning refers to the gear for horses, reins. In the context of agents, it refers to the complete set of engineering shell outside the model — the system that enables the model to read files, call tools, manage context, retry after failures, and work continuously for hours.
According to DeepSeek's official statement, the model is the soul of an agent, while the harness enables the agent to understand situations, use tools, and work continuously in the real world. After Claude Code achieved commercial success, this layer has become a must-win battlefield for all model companies. Back in March this year, DeepSeek hired Cui Tianyi, a former engineer from Jane Street, and formed a dedicated team to work on this project.
At that time, everyone thought DeepSeek was going to build its own version of Claude Code.
Until DeepSeek Harness went online.
1
A uniquely designed product
When you open DSH, you see a web-based coding agent.
The left side is the session list, organized by workspace, where each workspace corresponds to a local project directory on your device. The middle part is the conversation area: you submit requirements, it reads files, writes code, runs commands, and every tool call is fully displayed on the timeline. The overall experience sits somewhere between Claude Code and a web IDE, except that it runs on your own local machine, with the interface opened in your browser.
It comes with four built-in modes.
The standard mode is the full-featured version: file editing, shell, file and web search, skills, planning, goal management, sub-agents, and workflows, forming a complete programming agent.
The PTC mode adopts a different working method — tools are exposed to the model through a Code Mode SDK, and the model directly writes a TypeScript program, merging ten rounds of back-and-forth tool operations into a single execution.
The minimal mode is streamlined, leaving only two tools: a persistent bash and a file editor. The official says this mode is designed for model benchmark testing — all fancy features of the shell are removed to test the bare performance of the model itself.
The creation mode is the most special one, which is used to create new modes, and this is the part I most want to elaborate on later.
Apart from the modes, DSH has another underrated design in our opinion, called Trajectory. Everything the model sees — system prompts, reasoning processes, tool calls and results, sub-agent scheduling, every context injection — is all recorded in an append-only session log. You can check these records one by one by source in the Trajectory view, and operations including session restoration, session forking, search, and playback are all performed on the same event stream. It is equivalent to a built-in black box for every agent run, so that when something goes wrong, you can fully review exactly what it saw and why it took those actions.
Up to this point, it seems to be a very well-designed solid alternative to Claude Code: free, open source, runs locally, and fully traceable.
Then we opened its plugin page.
We didn't sleep a wink that whole night.
2
288 plugin repositories, and a whale girl
DeepSeek's slogan for Harness is: Everything is a plugin.
The entry point of DSH's plugin ecosystem is very simple: there is a topic called dsh-plugin on GitHub, and any repository tagged with this label can be discovered. The community has already built a directory site, and one of the repositories called awesome-dsh-plugins provides daily compatibility tracking. When we checked it, it had included 288 plugin repositories.
Note that this is a product that has been released for less than 24 hours.
These 288 repositories did not pop up overnight. If you look into the dsh-external community organization, you will find repositories such as "DSH internal test group chat archive" and "internal test user leaderboard" — this ecosystem has been under construction for more than a month during the internal testing phase.
We started picking and installing plugins from the directory.
We tried several first:
dsh-plan-execute, a dual-model routing plugin. The plan mode uses a reasoning-focused model to make plans, and automatically switches to an execution model to do the work after user approval. The two models do what they are good at respectively, which can greatly cut your API bill.
dsh-vision, which adds a pair of eyes to the text-only DeepSeek model. It adds a view_image tool that bridges any OpenAI-compatible vision model: DeepSeek is responsible for thinking, while the other model is responsible for processing images.
After installing these two plugins, I suddenly realized that one of them changes "which model to use", and the other changes "what capabilities the model has".
But in Claude Code, users are not allowed to touch these two things at all — the model is decided by Anthropic, and the capabilities are provided by Anthropic.
But in DSH, these operations are as simple as changing a theme skin.
It's that easy. DeepSeek thinks these are nothing more than skins.
Then I found that even the model itself has no special status in this system.
DeepSeek's own models are no exception. They are just another plugin.
With this line of thinking, other plugins start to look even more unrestrained.
dsh-qq2006, which changes the entire interface to the 2006 QQ skin. dsh-ui-whale, a hand-drawn pixel whale that stays in the title bar, blinks at ordinary times and wags its tail occasionally. There is also whale-girl, a QQ Pet-style whale girl desktop pet that can be dragged around and fed.
dsh-ads, a plugin that made us burst into laughter the moment we saw its introduction — "Brothers, come click me!", which adds 2005 Chinese website-style sidebar ads to DSH's web interface. And right next to it in the directory is a plugin called dsh-anti-ads, specially designed to block the ads from the previous plugin.
Ads are plugins, and ad blocking is also a plugin. This ecosystem has already completed a round of attack and defense on its own.
dsh-stock-market, its introduction says word for word: "It effectively fixes the BUG that your account cannot lose money at the same time when you write code."
dsh-lazyfish, a casual entertainment panel on the right side, with a built-in Bilibili player. dsh-gomoku, play Gomoku with AI, or let two AIs play against each other to see which one has stronger chess power.
Who wouldn't get addicted to playing with these?
3
Isn't this just Minecraft?
After installing a bunch of these and having a lot of fun, a sense of familiarity grew stronger and stronger.
Skins, desktop pets, mini games, mods that can modify everything, community directory sites, modpacks — this set of things is extremely familiar to us.
This is exactly Minecraft.
The DSH itself is the vanilla survival mode, fully functional but simple and restrained; plugins are mods; directory sites like awesome-dsh-plugins are the equivalents of CurseForge and Minecraft Wiki; those packaged and released repositories in the community — dsh-mega even calls itself "DSH modpack".
Even deepseek-harness-distro is simply called a custom distribution — its author is a modpack creator; the education version dsh-edu corresponds to Minecraft Education Edition.
There is even a counterpart to the mod loader: the dsh-external organization actually has a plugin called fabric, whose introduction says "a hook processor similar to Minecraft Fabric". Fabric is one of the most mainstream mod loaders for Minecraft. Obviously, the developer who named this plugin had the exact same thought as me after playing with DSH for a while.
The interesting part of this analogy lies in the commercial history of Minecraft.
The original Minecraft has never been the whole of the game. Precisely because the vanilla version is simple enough and highly modifiable, the mod community has grown countless different versions of Minecraft for it, making this game continue to thrive even after more than a decade. What Mojang sold was never a pre-packaged game, but a foundation that can be infinitely modified.
DSH is also regarded by the community as such a foundation.
4
Unoriginal hot swapping is taken to a whole new level
Then I started to look at the official introduction of its technical details. In fact, the reason why these mods can be installed and uninstalled freely just like in Minecraft relies on a very hardcore technical base.
The kernel of DSH is called Cordis. It comes from the Koishi community — a chatbot framework that almost every developer making QQ bots in China knows, whose author is Shigma on GitHub.
Cordis is a microkernel extracted from Koishi: it features dependency injection, plugins communicate with each other through services and events, and the most critical feature is called "reversible side effects" — all side effects generated during the registration of each plugin are tracked, and will be automatically recycled when the plugin is uninstalled, leaving no garbage or memory leaks.
This feature translates to the user experience as hot swapping.
Installing a plugin, uninstalling a plugin, or changing the entire UI does not require a restart. The system can replace part of itself while it is still running. During our process of installing and uninstalling more than 20 plugins, DSH never restarted even once.
And the most core functions, including models, tools, skills, sessions, sandboxes, storage, loops, scheduling, and UI — are all explicitly listed in the official documentation as plugins. Even the interface you see when you open your local URL is just a plugin mounted by default.
In terms of sandboxes, there are three sandbox plugins in the community: sandbox-micro, sandbox-mxc, and sandbox-nono, corresponding to three different isolation solutions. You can just pick one and replace it, which means what kind of "cage" the agent runs code in is also a configurable item.
In addition, the DSH ecosystem has a whole row of "remote channel" plugins: qqbot, dsh-weixin-bot, dsh-feishu-bot, dsh-wecom-bot, and telegram. After installing them, DSH can become a bot that can be @mentioned in QQ groups, WeChat, and Feishu.
So Cordis was extracted from the chatbot framework to serve as the agent kernel for DeepSeek, and the first batch of things the community built with it includes connecting this agent back to QQ and WeChat.
After a full circle, the soul of Koishi is back.
5
It's not just another Claude Code, it's here to kill Claude Code
The third batch of plugins I installed in the late midnight were all targeted at competing products.
dsh-cc-tui, which changes DSH's interaction to the Claude Code-style full-screen terminal, with a pixel whale title bar, glowing streamer text, and double-click Esc to roll back. dsh-opencode-server, which implements the opencode API for DSH, so you can directly use opencode's TUI as the frontend of DSH. dsh-pi-adapter, which allows the extensions of the pi coding agent to run directly in DSH. official-plugins-port, which ports the official plugins of Claude Code and Codex to DSH plugins.
dsh-session-hub and cross-harness-cite go even further: the former imports the session history of opencode, Claude Code, and Antigravity into DSH to become resumable sessions, while the latter allows you to directly reference historical conversations from Claude Code in your DSH chats.
I tried importing my own Claude Code session records and continued the conversation, and it worked perfectly.