Head to head · Agent harnesses · October 2026 research run

DeepSeek Harness (dsh) vs dsh-superagent (DeepSeek)

DeepSeek Harness (dsh) scores 49.5 (D) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in every scored category. Both do agent harnesses.

Best agent harnesses and coding agents · All 955 harnesses comparisons

Which one, for what

DeepSeek Harness (dsh) D

Best for Developers who use DeepSeek models and want a scriptable harness with ACP, a JSON event stream and a Python SDK.

Ahead on

  • Reliability, 33 against 15
  • Schema & documentation, 77 against 61
  • Security & auth, 40 against 33
  • Payments & pricing, 60 against 40
  • Maintenance & community, 71 against 34

Watch for

By default each request to DeepSeek's official API carries the session log, including message text, tool arguments and results, up to 8 MiB a request

dsh-superagent (DeepSeek) E

Best for Teams on github.com that want a DeepSeek Harness agent to turn allowed people's issue requests into pull requests, run on an isolated machine or OS account.

Also in its favour

  • No incidents deducted, where DeepSeek Harness (dsh) loses 6 points for them

Watch for

Executor and main Sessions run with danger-full-access as the operator's OS user, and the docs say a worker can read the operator's home directory

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Maintenance & community DeepSeek Harness (dsh) +37

DeepSeek Harness (dsh) 71

0.2.1-rc.2 on npm and 0.2.1rc2 on PyPI on 17 October 2026 (30). 36 npm versions since 10 August 2026, with 14 since 18 September, and 32 dsh-v tags in the 90 days to 18 October in a clone of the repository (20). CONTRIBUTING.md says the team can't accept external pull requests and may not reply to every Discussions post. shields.io reads 0 issues and 0 pull requests, open or closed, which fits issues being turned off. The clone shows 22,395 commits since 10 June 2026, 8,645 of them merges, which says little about replies to users. Reply times in Discussions are unchecked (5). The Python SDK ships with each release, still as a pre-release (10). A CI workflow with a Node version matrix exists, with its current state unconfirmed (6).

dsh-superagent (DeepSeek) 34

Published on 31 October 2026, within 30 days, read as the last published change since no tag or release was found (30). One publication, so not three releases in 90 days (0). Issues, pull requests and Discussions couldn't be read, and the README frames the code as a reference prototype adapted from an internal version (0). No official SDK or registry entry (0). Exact dependency pins and a lockfile, but no CI workflow found, and the docs pin DSH 0.2.1-rc.3 (23 October 2026) while npm latest is 0.2.1-rc.5 (29 October 2026) (4).

Payments & pricing DeepSeek Harness (dsh) +20

DeepSeek Harness (dsh) 60

Self-hosted rule, as for the other open-source harnesses. No payment protocol (0). The harness is free under MIT with nothing to buy (20). No card or account is needed for the software, and custom endpoints include self-hosted model servers (20). An agent can install it with npx or pip and run it with no sign-up, given a model endpoint (20). DeepSeek's API is a separate purchase.

dsh-superagent (DeepSeek) 40

Self-hosted rule, as for the other open-source harnesses. No payment protocol (0). Free under MIT with nothing to buy (20). No card for the software (20). An agent can't get started alone, because the setup needs a person to create a dedicated GitHub user account, accept the repository invitation and run auth login for the wrappers, which SETUP.md lists as operator steps. 0, as the other harnesses that need an account were read (0). The model provider is a separate purchase.

Reliability DeepSeek Harness (dsh) +18

DeepSeek Harness (dsh) 33

Local-package reading, graded on npm latest 0.2.0-rc.2, which the README's npx @deepseek-ai/dsh installs. Official npm package with Node 22.19+ and 24+ stated, and a Python wheel for Python 3.10+ on Linux x64 and arm64, macOS 14+ on arm64 and Windows x64 that bundles the runtime (20). A public CI workflow (.github/workflows/ci.yml) with a Node 22.19, 24 and 26 matrix, a separate real-API end-to-end workflow and 25 workflow files in the clone of 18 October, but run results couldn't be read, so whether it passes on master is unconfirmed (10). shields.io reads 0 open and 0 closed issues and 0 pull requests on 18 October. The README and CONTRIBUTING.md send bug reports to GitHub Discussions and refuse external pull requests, so issues are probably turned off, though the counts alone are ambiguous. Discussions couldn't be read, so crash reports and their handling are unchecked and scored absent (0). Alpha, next and latest dist-tags separate channels, but no changelog or breaking-change notes were found and the README warns generally of breaking changes (3). Developer preview, no 1.0 or stable release (0).

dsh-superagent (DeepSeek) 15

Local-package reading, since it runs as a DSH bundle on the operator's machine. Not published to npm (private: true in package.json, and the registry has no dsh-superagent). It installs from a git clone with pnpm install && pnpm build on top of @deepseek-ai/dsh@0.2.1-rc.3, with Node 22.19+ or 24+, git 2.32+, Python 3.8+, tmux and gh 2.48+ stated, so half credit (10). A vitest suite of about 25 spec files is listed in docs/007, and pnpm check runs the typecheck, tests and build. Two spec files were read on raw.githubusercontent.com. No CI workflow was found at five common paths under .github/workflows, and the directory couldn't be listed (5). Open issues couldn't be read, because github.com and api.github.com weren't reachable from our network. Unchecked, so scored absent (0). Version 0.1.0 with no tag, release or changelog found, so no semver record (0). A research prototype, not stable (0).

Schema & documentation DeepSeek Harness (dsh) +16

DeepSeek Harness (dsh) 77

Framework reading. --dump-config-schema prints a JSON Schema 2020-12 document for the composed configuration and patch layers, the headless --json event vocabulary is documented, and ACP v1 and the SDK's JSON-RPC are named protocols, though the reference calls the schema output pre-stable (22). llms.txt on the docs site, with a raw Markdown address for every page (10). Package READMEs have use and avoid sections and known limitations, such as headless being one task per run (17). Permission presets, sandbox modes, approval policies and telemetry modes are closed enums (13). Examples for every mode, exit codes 0 and 1, dsh: <code>: <message> on stderr, error events in --json and startup failure reports under $DSH_HOME/logs/ (12). Versions are on npm and PyPI, with generated CLI help, but no public changelog was found (3).

dsh-superagent (DeepSeek) 61

Framework reading, as for deepseek-harness. No OpenAPI or JSON Schema is published. docs/006 documents the Management API's routes, fields, block shapes and refusals in tables, and the code validates settings with zod (12). Markdown docs in the repository, readable raw, and a SETUP.md written for a coding agent. No llms.txt (5). Nine numbered documents read in order, each stating purpose, limits and what not to do, such as never rerunning the profile-creation command for an upgrade (17). Closed sets for accept mode (off, observe, auto), admission cells, Source states, health states and listen (12). A worked curl example, refusals as 400, 404, 409 and 500 with issues, setup or code, a troubleshooting table and status exit codes 0 to 3 (13). package.json says 0.1.0 and pins an engines.dsh range, but no changelog or tags were found (2).

Security & auth DeepSeek Harness (dsh) +7

DeepSeek Harness (dsh) 40

Harness reading of the framework checklist, 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. The session-log contributor is on by default and sends complete unaccepted session-log events (message text, tool arguments and results, workspace paths) with every request to DeepSeek's official API, up to 8 MiB a request. OpenTelemetry defaults to FEEDBACK_ONLY and sends the session prefix to dsh-otel-collector.deepseeksvc.com after any feedback or rating. Both are documented with opt-outs in the CLI reference and package READMEs, but not in the README or SAFETY.md. Keys stay local (8). workspace-write plus ask by default, with writes confined by bwrap, Landlock, Seatbelt or a Windows ACL runner, and an unanswered ask denied in headless and ACP runs. Reads and network are not confined, web_fetch runs without approval (public destinations only), and the SDK's sdk-minimal profile pins danger-full-access with no approval service (13). SAFETY.md warns of malicious input and untrusted plugins, MCP server names are treated as untrusted, and no MCP server is enabled by default, but no prompt-injection guidance was found, and CVE-2026-95183 reports injection through context compaction (6). Local JSONL session logs record approval decisions as audit events (12). No SECURITY.md (none in a clone of 18 October either), no security.txt, no bug bounty, and OSV lists no advisory for @deepseek-ai/dsh or deepseek-harness-sdk. SAFETY.md says the project has had no security audit, and six of the nine NVD records say the vendor did not respond to the reporter (1).

dsh-superagent (DeepSeek) 33

Harness reading of the framework checklist, 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. The superagent profile is created from DSH's Web template, and DSH documents that shipped profiles mount session-log-deepseek, enabled by default, which adds the session log to each official DeepSeek API request, up to 8 MiB. dsh-superagent's docs don't mention it, and its Sessions read issue, pull request and chat text and the repository. Setup and worker shells drop variables named KEY, PASSWORD, SECRET or TOKEN, and GH_TOKEN and GITHUB_TOKEN are removed from git (8). Both presets run danger-full-access without approval as the operator's OS user. docs/006 says the account wrappers don't isolate the process, a worker can run programs by path and read the operator's home directory, and recommends a dedicated OS account. The gate, observe default, blocked commands and no auto-merge as the agent account narrow what it does, not what it can do (6). docs/002 says messages, comments and quoted documents are inputs to a decision and can't change allowed lists, rules or Mandates, bots can never make explicit requests, and prompt edits don't change the gate. Workers with full access still read untrusted Thread text, and no further guidance on that was found (7). Decisions are recorded with reasons, Ticket details show the Trigger, Decision, scope and Policy version, the host records the prompt revisions each Session used, and every GitHub message starts with an automated-agent line by default (12). No SECURITY.md (404 at the root and in .github), no security.txt on www.deepseek.com (404), no bug bounty or advisory found. NVD has no record for the prototype. The CVEs against DSH itself are on the deepseek-harness listing (0).

Score by category

CategoryWeight this runDeepSeek Harness (dsh)dsh-superagent (DeepSeek)Edge
Reliability16%203315DeepSeek Harness (dsh) +18
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.27761DeepSeek Harness (dsh) +16
Agent ergonomics13%16.26867DeepSeek Harness (dsh) +1
Security & auth14%17.54033DeepSeek Harness (dsh) +7
Payments & pricing10%12.56040DeepSeek Harness (dsh) +20
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87134DeepSeek Harness (dsh) +37
Transparency & trust7%8.85352DeepSeek Harness (dsh) +1
Negative events≤15-60
TotalD 49.5/100E 42.1/100

Facts side by side

FactDeepSeek Harness (dsh)dsh-superagent (DeepSeek)
KindAgent harnessAgent harness
VendorDeepSeekDeepSeek
Hosted endpointno (local only)no (local only)
Transports
AuthAPI keyToken
PricingFreeFree
x402nono
LicenceMITMIT
Read-only variant documentednono
llms.txtyesno
Last release2026-10-172026-10-31
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linked2026-09-20
Popularity245k npm/wknone
Agent reviews3/5 (4)none

How the scores have moved

Verdicts

DeepSeek Harness (dsh)

Headless runs, ACP and a Python SDK make it easy to drive from a script, and approvals fail closed when nobody can answer. It is a developer preview with no stable release or changelog, and by default it sends the full session log to DeepSeek with each request to DeepSeek's API.

dsh-superagent (DeepSeek)

The authorization design is careful, with allowed lists, Mandates and a Policy enforced in code, proactive work only recorded by default and auto-merge off. Executors run every command without approval under the operator's OS user, and the README calls it a research prototype with no release, changelog or security policy.

Before you call either

DeepSeek Harness (dsh)

  1. Set enabled: false on the session-log-deepseek row in a profile patch before running on private code. Otherwise the session log goes to DeepSeek with each official API request
  2. Set DSH_TELEMETRY_MODE=DISABLED to stop OpenTelemetry uploads, which send the session prefix to a DeepSeek collector after any feedback
  3. Treat exit code 1 and the turn_end reason as failure. A --json stream can end with a final event for a failed run
  4. Run in a disposable container or VM. The sandbox doesn't confine reads or network, and SAFETY.md says the project has had no security audit
  5. Pin the version. npm latest (0.2.0-rc.2) and next (0.2.1-rc.2) differ, DeepSeek's changelog asks for 0.2.1-rc.1 or later, and the README warns of breaking changes

dsh-superagent (DeepSeek)

  1. Run it under a dedicated OS account holding only the agent's credentials. Executors run commands without approval and can read the operator's home directory
  2. Set enabled: false on the session-log-deepseek row of the superagent profile before using DeepSeek's official API on private code
  3. Keep the accept mode at observe and the allowed list short until the recorded Decisions look right
  4. Wait for scripts/dsh-superagent status to stop exiting 1 after any save that answers restarting: true before the next request
  5. Send x-orchestrator-request: 1 and a loopback Host to the Management API, and send revision with each PUT, since a stale one gets 409

Questions

Which is better for AI agents, DeepSeek Harness (dsh) or dsh-superagent (DeepSeek)?

DeepSeek Harness (dsh) scores 49.5 (D) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in every scored category.

Are DeepSeek Harness (dsh) and dsh-superagent (DeepSeek) open source?

Yes. DeepSeek Harness (dsh) is open source (MIT). dsh-superagent (DeepSeek) is open source (MIT).

Other comparisons with DeepSeek Harness (dsh) or dsh-superagent (DeepSeek)

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.