Hightower's AI Harness Engineering

Hightower's AI Harness Engineering

DeepSeek Harness Launches, DeepSeek Harness vs. Grok Build, Are they the Claude Code Killer?

Claude Code Set the Stage with MCP, Agent Skills, Plugins. DeepSeek Might Be Writing a new chapter in Harness Engineering.

Rick Hightower's avatar
Rick Hightower
Aug 14, 2026
∙ Paid

Claude Code and Cursor built this category. Anthropic showed real leadership with Skills, plugins, hooks, and subagents; MCP was their product decision first. They are trendsetters that many other coding agents have followed suit. Codex, OpenCode, and Grok Build adopted the same vocabulary. Now DeepSeek is joining the fray with its own contributions. DeepSeek Harness shipped its own harness on Thursday; it mounts Claude Code and Codex as subagent providers, and part of it was written on Codex branches. The kernel idea inside it is genuinely new. The star count is not the story, but it is huge.

A glowing kernel core on a hexagonal socket board with cyan plugin cards labeled MODELS, TOOLS, SKILLS, SESSIONS, STORAGE, SCHEDULING and UI, while an amber card labeled AGENT LOOP is lifted out for replacement and a ribbon of log lines streams into the distance

I will not tell you that Claude Code is dead. I use it daily, and it powers a lot of real work. Claude Code led to Claude Cowork, Claude Managed Agents, and Claude Agent SDK. It also inspired a whole genre of new applications (such as Codex desktop) and frameworks (such as LangChain DeepAgents). Other people will say Claude Code is dead. Which is as silly as a take that RAG is dead because LLM Wikis exist. People say stupid things. This article covers what the star counter hides.

But let me be clear: I think DeepSeek Harness has many good ideas for eval and plugin architecture, and these ideas will become more mainstream over time. Even the harness loop is a plugin!

I did not run DeepSeek Harness. I do run Claude Code, Grok Build, and Codex daily (until recently, I used OpenCode daily). Everything below comes from vendor documentation, the GitHub API, the npm registry, the xAI model documentation, and the Hacker News API. I read every number again on Friday, August 14, 2026.

Who set the primitives?

DeepSeek did not invent this category on Thursday. Claude Code and Cursor built it in public over an extended period.

Anthropic created the Model Context Protocol and released it as an open standard. Every serious runtime now speaks it, including both harnesses in this article. Claude Code shipped skills, plugins, hooks, subagents, slash commands, headless mode, and layered permissions. Cursor built a parallel ecosystem of rules and extensions around the editor. The primitives that read as obvious in August 2026 were product decisions that somebody had to make first.

Diagram showing Claude Code and Cursor setting the primitives MCP, skills, plugins, hooks, subagents, slash commands, headless mode and permissions, with arrows leading to Codex, OpenCode, Grok Build and DeepSeek Harness under the caption adopted the same set

Look at what the newer entrants ship. Codex, OpenCode, and Grok Build all offer the same set: MCP servers, skills, plugins, hooks, slash commands, headless mode, and sandboxing. The Grok Build documentation lists exactly those items. Converging on a single vocabulary helps you by making runtimes comparable and reducing the cost of moving between them. Google now has a standard plugin system that they are promoting with others, whilst xAI has adopted Claude Code plugins as more or less the de facto standard, and over time, existing plugin systems tend to look more and more like Claude Code’s and Claude Coworks' plugin systems. Anthropic has done nothing but show leadership in this space. Oftentimes, six to 9 months ahead of everyone else. Almost all the commands I use in Claude Code are available in Codex and Grok Build (and, for that matter, OpenCode).

Side note: Look, OpenCode was also innovative, and others, of course, but Anthropic, through plugins, agent skills, and MCP, set the standards that everyone else followed. Anthropic led the charge, and Codex, GitHub Copilot CLI, Gemini CLI (now Antigravity CLI), LangChain DeepAgents, and Grok Build all followed. Grok Build can just consume Claude Code plugins, skills, and MCPs with no config changes. Grok Build is a drop-in that can work side by side or independently.

Ok now on to the subject at hand.


Share

If you enjoy this topic, support this Substack by subscribing and sharing. It helps feed the algorithm, which keeps me writing.


Two facts in the DeepSeek repository make the leadership point better than any argument.

DeepSeek Harness ships subagent providers for Claude Code and for Codex. A commit titled "fix(bundle): exclude product subagents from base records" details the change. It states that the Codex and Claude Code subagent providers were production dependencies of @deepseek-ai/dsh-base. The Cordis composition mounted both. Every install of the base bundle, therefore, carried two providers that only some products require. The commit removes both from the base bundle. The examples keep them as explicit dependencies. A new first-party runtime that treats two incumbents as mountable subagents is a statement about where the field's center lies. I often run Codex, Grok Build, and Claude Code side by side. I have some Agent Skills to review plans and finished products alike for tech councils. It is one thing to do this on your own. It is another when a Harness just ships with it.

Part of DeepSeek Harness was written by Codex. One practitioner on X claimed the harness was heavily developed using Codex, with “at least ~20% of commits and PRs coming from Codex worktrees”. Unverified by me.

Claude Code still leads on the parts that only appear in production. Permission layers an administrator can pin. A deny list that runs before any classifier. Managed settings for a fleet. Those are unglamorous, and they are what a platform team asks about in week two.

Rivalry is real, and the new ideas are real. Take the ideas seriously, but don't take the star count seriously.

What DeepSeek shipped

DeepSeek Harness went up on Thursday, August 13, 2026, at 11:56 UTC. The repository is deepseek-ai/deepseek-harness. The license is MIT. The language is TypeScript. The README calls it a developer preview and states the risk in capitals: THERE WILL BE COMPATIBILITY-BREAKING CHANGES.

Install it with npx @deepseek-ai/dsh web. The command starts the Web UI at

http://127.0.0.1:3080

by default. The npm package @deepseek-ai/dsh currently ships 0.1.0-rc.6.

The product page carries two taglines. The first is “Everything is a plugin”. The second is “Every run is traceable”.

DeepSeek Harness offers four modes.

Standard is the full coding agent. It covers file editing, shell, file and web search, skills, planning, goals, subagents, and workflows.

Code provides the Standard capabilities, but it exposes the tools via the Code Mode SDK. The model then combines multi-step operations into a single TypeScript program, rather than a single tool call at a time.

Minimal is a two-tool coding agent. The two tools are a persistent bash session and str_replace_editor. Reach for this mode when you benchmark, because it removes almost every variable.

Creator exists to build custom agent presets. It adds runtime inspection, plugin experiments, and preset-authoring guidance on top of Standard.

Read that mode list again and notice what it is. It is the established feature set, rearranged. Skills, subagents, planning, and workflows were shipped primitives before DeepSeek Harness existed.

DeepSeek Harness: What “everything is a plugin” actually means

The phrase is literal and the most interesting thing in the release. The runtime sits on Cordis, a TypeScript meta-framework under an MIT license. The Cordis kernel mounts and unmounts plugins and their dependencies at runtime.

Plugins provide the models, tools, skills, sessions, sandboxes, storage, loops, scheduling, and UI. You swap any of them in configuration. You do not fork the DeepSeek Harness source to change the loop.

The last item in that list is the claim worth testing. The agent loop itself is a plugin.

Let’s do some level setting here: DeepSeek Harness is one or two days old in public. The default branch carries a single day of public commits. There are zero releases and zero git tags. Nobody has run a plugin kernel of this shape in production for a quarter and reported back. An architecture claim in a developer preview is a promise, not a result.

It is too soon to tell. But this seems like something significant.

DeepSeek Harness: The part that held the thread

“Every run is traceable” does not mean a dashboard screenshot. The session log is append-only, and it records what the model saw. The product page names the contents: system prompts, reasoning, tool calls and results, subagent scheduling, and every context injection.

A trajectory view inspects that stream by source. Resume, fork, search, and replay all operate on the same event stream. One record backs all four operations.

Diagram of an append-only session log holding system prompts, reasoning, tool calls and results, subagent scheduling and context injections, with four arrows leading down to Resume, Fork, Search and Replay under the caption one event stream, four operations

The Hacker News thread is item 49285244, titled “DeepSeek Harness developer preview” and submitted by bjin. It stood at 696 points and 282 comments when I read it on Friday morning. The practitioners in that thread did not argue about whether a harness matters. They argued about what a first-party harness is allowed to hide. They argued Node against Go and Rust. They argued first-party runtimes against OpenCode, Pi, and Cascade.

The honest counterweight belongs right here, because the trace is where the fan writing starts. Claude Code already writes one append-only JSONL transcript per session under ~/.claude/projects/, and it resumes from those files. My own machine holds 56 of them for this one project. The record is not a DeepSeek invention. DeepSeek made the record a headline feature with a first-class viewer, rather than a file you find when you look for it.

The real question is not who logs. The real question is what each vendor lets you see, keep, and export. Judge on that, not on a slogan.

The numbers, and the lock underneath them

I read the GitHub API on Friday, August 14, 2026. The table below is that reading.

Stars and forks moved fast for DeepSeek Harness. The repository was created on Thursday at around 12 UTC and reached about 89,000 stars in roughly a day. Stop! Read that again. This is either the hottest thing since sliced bread, toasted with gasoline and an industrial blowtorch, or the best bot farm in the world. This looks like serious traction. You thought showing your six-pack on Instagram was viral. Holy Snikey Batman!

My own earlier readings ran from about 27,000 to 30,000 at launch, to 59,223 on Thursday evening Pacific, to 88,187 on Friday morning. The rate is real attention. It is not a verdict on the kernel.

Issues and pull requests are off on both repositories. For DeepSeek Harness, has_issues is false, and has_pull_requests is false. A request to the pull-requests endpoint returns HTTP 404. Grok Build matches on both flags and switches Discussions off as well. DeepSeek Harness at least leaves Discussions on and points people to Discord. This makes me wonder why. Seems suss.

Releases and tags are empty on both. DeepSeek Harness has no GitHub releases and no Git tags. The string 0.1.0-rc.5 appears only inside the last merge commit message, while npm ships 0.1.0-rc.6. Pin the npm version, because there is no tag to pin.

The problem is not the fork count. The problem is a permissive license on a repository that accepts neither issues nor pull requests. You can read the code and fork the code. You cannot send a fix back. Two labs in one month made the same choice, so treat it as an industry pattern rather than a DeepSeek quirk.

Grok Build is the closer comparison

Grok Build is the better yardstick for DeepSeek Harness, because it is also a first-party lab runtime released as open source.


If you are a paid subscriber, thank you. Your support makes this work possible.

If you are a free subscriber and find these articles useful, please consider upgrading. A paid subscription is $80 per year or $8 per month.

Free subscribers typically receive access to the full versions of paid articles after one to two months.

If you want to read the rest of this article today, either write me a nice note or become a paid subscriber.

User's avatar

Continue reading this post for free, courtesy of Rick Hightower.

Or purchase a paid subscription.
© 2026 Rick Hightower · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture