
DeepSeek Harness
deepseek.com- Category
- AI Agents
- Rank
- No. 660Tools index
- Pricing
- Open Source
- Type
- TOOL
- Use case
- Agent Building
- Interfaces
- Web · CLI · SDK · API
- Builder
- deepseek-ai
- GitHub
- 241.0k stars
- Latest release
- dsh-v0.2.0-rc.2
- Date
About
An open-source, plugin-based agent harness from DeepSeek where every capability—model, tools, skills, sessions, sandboxing, storage, scheduling, UI—is a swappable plugin composed via the Cordis kernel. It logs every model input/output to an append-only trajectory for replay, forking, and debugging, and ships with Standard, PTC (code-mode), Minimal, and Creative agent modes.
What it does
DeepSeek Harness is a command-line and desktop agent runtime where nearly every internal component, from how it talks to a language model to how it stores files or runs shell commands, is registered as an interchangeable module rather than baked into one binary. A model conversation is broken into turns and steps, with each exchange, tool call, and system message written to a durable event log that other parts of the system can read back later. Bundled setups called profiles decide which modules load for a command-line run, a browser-based session, or an SDK server, and a desktop app wraps the same runtime in Electron.
Why it's ranked here
Version 0.1.6-alpha.2 and an explicit warning that breaking changes are coming should temper expectations, but the architecture behind that number is unusually deliberate: a documented event model, a turn-and-step lifecycle diagram, and dozens of verification scripts that check package boundaries, license compliance, and documentation accuracy on every build. That is the profile of a team building for the long term, not a weekend demo, even before the API stabilizes.
What's good
The desktop application locks down its browser windows properly: context isolation and sandboxing are turned on, Node access is disabled inside the page, and window navigation is restricted to the app's own origin unless a link is explicitly handed off to the system browser. The core session model is equally careful, distinguishing facts that must survive a restart from live status events, and documenting exactly what happens if a network request is cancelled mid-stream so no half-written turn corrupts the log.
Tradeoffs
The project says outright that its interfaces will keep changing, so pinning to a specific version and rereading release notes before upgrading is the safe posture, not paranoia. Building it from source pulls in a large monorepo with its own custom build, lint and verification toolchain rather than a plain compiler step, which raises the bar for contributors who just want to patch one plugin. Desktop packaging targets Mac and Windows; nothing suggests a native Linux desktop build exists yet.
How to use it well
This suits a team building its own agent product on top of someone else's plumbing: swap in a different model adapter, a custom tool, or an alternate storage backend without rewriting the surrounding loop. Trying it needs almost no setup, a single command starts a local web session. Building from source and shipping a customized desktop or server variant is a bigger investment, and the developer-preview status means today's plugin interface may not be tomorrow's. Teams that need a frozen, versioned API right now should wait for a stable release.
Technical notes+
The runtime is organized as a Cordis plugin tree assembled at boot from named profiles (web, headless, sdk, sdk-minimal, acp) described in docs/architecture.md, with package.json defining a pnpm workspace across vendor, packages, native/system, apps and website plus a long list of verify-*/gen-* scripts that check invariants like package licenses, doc cross-references and Cordis config shape. docs/agent-lifecycle.md gives a full Mermaid sequence for the turn/step loop, spanning session/event writes (turn/start, step/start, assistant/message, tool/call, tool/result, turn/end) and live agent/* events (agent/pre-step, agent/request, agent/assistant-stream), and docs/capability-seams.md enumerates dozens of ctx.* service seams (ctx.tools, ctx.sandbox, ctx.credentials, ctx.storage, ctx.llm) each owned by one package and consumed by others. apps/desktop/src/main.ts shows the Electron shell creating BrowserWindow instances with contextIsolation, sandbox, and nodeIntegration:false all set, an IPC sender check (assertProductSender) that rejects calls from any frame other than the main window's, and a will-navigate handler that blocks in-app navigation to any origin besides the app's own custom scheme or same-origin http. README.md and package.json both give MIT licensing.
Observed
- License
- MIT licensed, per both README.md and package.json.
- Language
- Written in TypeScript; built with tsc and tsdown, linted with oxlint, tested with Vitest per package.json scripts.
- Distribution
- Distributed as the npm package @deepseek-ai/dsh (run via npx) and as a from-source pnpm monorepo build.
- Interfaces
- Interfaces: a CLI (dsh), a local Web UI, an SDK JSON-RPC server profile, and a separate automation-only ACP server profile.
- Desktop sandboxing
- Ships an Electron desktop application whose renderer windows are created with context isolation, sandboxing, and Node integration disabled.
- SDK
- Also exposes a Python SDK that launches the same dsh CLI runtime rather than a separate implementation.
- Session state
- Session state is split into a durable, replayable event log and a separate set of live, non-durable coordination events.
Read from README.md, package.json, docs/architecture.md, docs/agent-lifecycle.md, docs/capability-seams.md, apps/desktop/src/main.ts.
What it can do
Swap or recombine agent capabilities (model, tools, skills, sessions, sandboxing, storage, scheduling, UI) via configuration
Configuration settings → Recomposed agent runtime
Log every model input/output to an append-only trajectory
Model input/output data → Append-only trajectory log
Replay or fork recorded agent trajectories for debugging
Trajectory log → Replayed or forked session
Run agents in different preset modes (Standard, PTC/code-mode, Minimal, Creative)
Mode selection → Agent behavior configured to selected mode
Intel on DeepSeek Harness
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.