Vibeleaderboard
Index / tool

DeepSeek Harness

deepseek.com
Visit deepseek.com
Category
AI Agents
Rank
Pricing
Open Source
Type
TOOL
Use case
Agent Building
Interfaces
Web · CLI · SDK · API
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

More in Intel

Tags

agent-harnessdeepseekplugin-architectureopen-sourceagent-frameworkdeveloper-previewcoding-agent

Tech Stack

Node.jsTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.