DeepSeek Harness Tutorial

DeepSeek HarnessDeveloped by DeepSeek AI and officially open-sourced in August 2026Agent Harness, licensed under the MIT License, with the code written in TypeScript.
DeepSeek Harness AdoptsEverything is a PluginOpen architecture: all Agent capabilities such as models, tools, skills, sessions, sandbox, storage, loops, scheduling, UI, etc. are composed of plugins, which can be freely replaced and flexibly reorganized—Customize your own Agent at the configuration layer without modifying source code。
DeepSeek AI Official Philosophy:Agent = Model + HarnessOfficial slogan:Everything is a Plugin. (Everything is a Plugin)
Who is this tutorial for?
This tutorial is intended for the following types of readers:
Developers / Engineers: want a local AI coding assistant with fully controllable capability boundaries, where every component can be replaced and reorganized—rather than a black box locked into fixed functionality by the vendor.
AI/ML practitioners: interested in Agent architecture—the underlying layer is driven by the Cordis plugin system, the event-driven design is supported by academic papers, and the PTC pattern allows models to combine multi-step tool calls using TypeScript programs.
Efficiency tool enthusiasts: Wish to embed Agents into their workflow using a Web UI graphical interface, headless command line, or Python SDK.
Researchers: Needs an observable Agent—every run writes to append-only session logs, allowing system prompts, chain-of-thought, tool calls, and sub-agent scheduling to be viewed in the Trajectory view.
Users who value open-source and controllability: MIT open-source license, free composition at the configuration layer, no telemetry, no cloud lock-in, fully self-controlled.
Prerequisite knowledge before reading
This tutorialNot requiredAI research background or in-depth machine learning knowledge. You need to have:
| Skills | Requirement level | Description |
|---|---|---|
| Basic command line operations | Required | Ability to execute commands in the terminal and set environment variables |
| Node.js Basics | Required | Install and start dsh via npx / pnpm |
| Basic API concepts | Familiarity is enough | Know what an API Key is and how to apply for a DeepSeek API Key |
| Plugin / configuration file concepts | Familiarity is enough | Used in the advanced chapters (plugin development, configuration layer composition) |
| Git basics | Optional | Used when installing from source or contributing |
Operating system requirements: Linux, macOS, or Windows (can be run after installing Node.js).
Core features
DeepSeek Harness Features:
🧩 Everything is a plugin— The Cordis kernel is only responsible for plugin loading, unloading, and dependency management; all capabilities such as models, tools, skills, sessions, sandbox, storage, loops, scheduling, UI, etc. are provided by plugins, which collaborate through services and events, with free composition at the configuration layer
📜 Every run leaves a trace— Everything the model sees (system prompts, chain-of-thought, tool calls and results, sub-agent scheduling, context injection) is written to append-only session logs; the Trajectory view filters by source, and resume, fork, search, and replay share the same event stream.
🛠️ Four operating modes— Standard Mode (fully functional coding Agent), PTC Mode (model composes multi-round tool calls with a TypeScript program), Minimal Mode (two tools, for model benchmarking), Creative Mode (runtime checks + plugin experiments + custom preset creation).
🌐 Multiple form factors— Web UI (default http://127.0.0.1:3080), headless (run once, print the final answer, and exit), CLI, Python SDK, TypeScript SDK
🔌 Rich tools and extensions— File editing, Shell, file and web retrieval, Skills, planning, goals, sub-agents, workflows; event-driven extension points (session/Agent/capability three-level events), any capability can be replaced by patches
🔒 Open and controllable— MIT open-source; Profile + composition pack layered configuration,
dsh --profile web --dump-configView the complete configuration tree that was actually launched; no privileged kernel, all registrations are reversible.🤖 Model-agnostic— Fill in the DeepSeek API key and it's ready to use; supports other providers and custom OpenAI-compatible endpoints; model routing without restart
🔬 Research-ready— Fully observable event stream and configuration tree, open design for Agent architecture research (the underlying Cordis is supported by academic papers)
Related resources
Official resources
| Resources | Links |
|---|---|
| Official Website | deepseek.com/harness |
| GitHub repository | github.com/deepseek-ai/deepseek-harness |
| Official Documentation · Quick Start | deepseek-harness.github.io/deepseek-harness/guide/quickstart |
| npm package | @deepseek-ai/dsh(npx @deepseek-ai/dsh webone-click startup) |
| Plugin Community | GitHub topics: dsh-plugin |
| Community Support | GitHub Discussions |