deepseek-harness vs LangGraph

Both are catalogued under Agent Frameworks. The figures come from the GitHub API; the assessments are ours.

At a glance

At a glancedeepseek-harnessLangGraph
LicenseMITMIT
LanguagesTypeScriptPython, TypeScript
DeploymentSelf-hosted / Runs locallySelf-hosted / Managed cloud
MaturityGrowingEstablished
Stars116k39.8k
Star growth over the last 7 days+14 ★
Forks11.4k6.7k
Open issues0695
Last commit13 Aug 202616 Aug 2026
ActivityActiveActive

What each one does

deepseek-harness

`dsh` is the agent harness DeepSeek AI develops itself. `npx @deepseek-ai/dsh web` brings up a Web UI on `http://127.0.0.1:3080`, and the architecture behind it is one where everything is a plugin, powered by the Cordis runtime, so it suits people who intend to extend a harness rather than only operate one. The caveat comes from the project itself: it is labelled a developer preview and warns in capitals that there will be compatibility-breaking changes, so plugins written today should budget for rework. It is also a poor fit if you want a documented scripted or embedded entry point right now, since the README covers only the `web` command and a source checkout, and links out to a development guide and architecture documentation without saying what either contains.

Full entry →

LangGraph

Models an agent as an explicit graph of nodes and edges rather than a loop you cannot inspect. Durable checkpoints let a run pause for human approval and resume later, which is what makes it viable for workflows that touch production systems. The trade-off is verbosity: simple tool-calling agents need noticeably more setup here than elsewhere.

Full entry →

What you can do

deepseek-harness

  • Get a Web UI running from one commandWith Node.js installed, npx @deepseek-ai/dsh web starts the harness and serves its Web UI at http://127.0.0.1:3080 by default.
  • Build on the plugin architectureThe harness is powered by the Cordis runtime under an everything-is-a-plugin architecture; the README's Development section points at a development guide (docs/development.md) and architecture documentation (docs/architecture.md).
  • Make your plugin discoverableAdding the dsh-plugin GitHub topic to a plugin repository is the route the README gives for discoverability, with feedback and bug reports going through GitHub Discussions or the project's Discord.
  • Run and modify the harness from sourceClone the repo, then pnpm install, pnpm run build and pnpm dsh web to launch your own checkout instead of the published package.
  • Hand the repo to a coding agentThe README directs agents working in this codebase to follow AGENTS.md at the repo root.

LangGraph

  • Resume a run after failureDurable execution persists state as the graph advances, so an agent that dies mid-run restarts from exactly the step it left off rather than the beginning.
  • Pause for human approvalInterrupts halt execution at a chosen node so a person can inspect and modify the agent state before letting it continue.
  • Trace state transitions in LangSmithDebugging is handed to LangSmith, a separate LangChain product paired with the graph: it visualises execution paths, captures state transitions and reports runtime metrics, so a wrong result is traced back to the node that produced it.
  • Start higher up with Deep AgentsDeep Agents is a package built on top of LangGraph for agents that plan, delegate to subagents and use a file system, saving you the graph wiring for those patterns.
  • Build the same graph in TypeScriptLangGraph.js is the equivalent library for JS/TS runtimes, so a Node service is not forced onto a Python sidecar.

Other comparisons