Head to head · Agent harnesses · October 2026 research run
dsh-superagent (DeepSeek) vs Harness²
dsh-superagent (DeepSeek) and Harness² score within a point of each other on agent readiness, 42.1 (E) and 42 (E). Harness² leads on reliability and security & auth. Both do agent harnesses.
Best agent harnesses and coding agents · All 955 harnesses comparisons
Which one, for what
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.
Ahead on
- Schema & documentation, 61 against 51
- Agent ergonomics, 67 against 59
Also in its favour
- Free to start without a card
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
Harness² E
Best for Researchers who want to reproduce or extend the paper's per-task harness refinement on JobBench, LAB or WorkBuddy-Bench with OpenCode or Codex on Vertex AI.
Ahead on
- Reliability, 20 against 15
- Security & auth, 44 against 33
Also in its favour
- No key needed to call it
Watch for
No hosted API, MCP server or tagged release. It installs from a source checkout only, and harness2 isn't on PyPI
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.
Security & auth Harness² +11
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).
Harness² 44
Harness reading of the framework checklist, as for the other harnesses. 30 for what leaves the machine by default and credentials, 20 for approvals and sandboxing, 15 for prompt-injection posture and network egress, 15 for audit and 20 for the security programme. No telemetry found in the Harness² source, and the WorkBuddy OpenCode configs turn OpenCode's telemetry, auto-update and sharing off. Credentials are Google Application Default Credentials, and the Codex bridge binds 127.0.0.1 by default with a generated key stored with mode 0600. Against that, executors inherit the whole shell environment (the editor channel drops only five Anthropic variables), and no .gitignore keeps a filled-in .env out of commits (20). Codex runs with --dangerously-bypass-approvals-and-sandbox, the Claude CLI editor channel with --dangerously-skip-permissions, and the WorkBuddy OpenCode preset allows every tool, with only OpenCode's directory fence and WorkBuddy's containers as limits. The README and setup guide say so (4). Executor network access is unrestricted by default. The docs name the hosts to block and report a Codex rollout that fetched its rubric unprompted, but give no guidance on instructions inside task documents (5). Each editor call's prompt, system text, response, model and cost are saved to an audit folder, with trajectories and adopted harnesses under runs/ (13). No SECURITY.md or security.txt and no advisories, and the README says the project is outside Google's open-source vulnerability rewards programme (2). 44 in all.
Schema & documentation dsh-superagent (DeepSeek) +10
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).
Harness² 51
Framework reading. Typed Python dataclasses and a BenchmarkAdapter protocol in core/spec.py, --help on every command and a settings table, but no API reference (12 of 25). Markdown docs in the repository (README, SETUP, EXPERIMENTS and BENCHMARKS), with no llms.txt (5 of 10). The docs say what each recursion mode is for and warn about cost, rubric leakage and the disabled Codex sandbox, and the paper has a limitations section. Nothing says how to use it outside the three benchmarks (13 of 20). --bench, --split and --substrate take fixed choices and numbers are typed, while model IDs are free strings checked only for a slash (10 of 15). Every command has a worked example and ConfigError messages name the fix, but the quick start's cp .env.example .env fails because the file isn't shipped (8 of 15). Version 0.1.0 with no changelog (3 of 15). 51 in all.
Agent ergonomics dsh-superagent (DeepSeek) +8
dsh-superagent (DeepSeek) 67
Harness reading, scored on what a team or pipeline driving it has to supply. The worker preset is DSH's standard with web fetch, plan mode, questions, scheduling and workflows left out, the main Session can't write files, and tool results over 8,192 characters are pruned (18). A concurrency limit with one extra slot for a person's message, a 5-second foreground shell, a 10-minute prepare limit and 30 minutes for background work after a turn. No cost or turn limit per Ticket was found (12). Ticket stages, health entries per part, Reports of blocked or failed, API refusals with codes, and three retries with growing backoff on 408, 429, 5xx and dropped connections (17). Saves carry a revision and a stale one gets 409, state and Sessions survive a restart, and a restarted Assignment gets a recovery note to check git and GitHub before repeating any outside action (16). Sensible defaults (observe mode, port 3082, branch prefix agent/), but setup needs a dedicated GitHub user account, CLI wrappers, tmux and a profile, and there is no SDK. Work is requested by mentioning the agent account on GitHub or Feishu (4).
Harness² 59
Framework reading, adapted to a harness that a pipeline drives. Results land in run folders, not in the caller's context, and an agent reads task summaries, adopted harnesses and reflection notes from runs/ (12 of 25). --only-domains, --max-tasks (per domain), --split-file, --workers and --dry-run size a run before any model call (14 of 20). harness2-check tests dependencies, credentials and configuration without a model call, configuration errors name the remedy, and incomplete runs exit nonzero (14 of 20). Rerunning a command resumes it, saved configuration refuses an incompatible resume, failed grades stay unscored, and editor replies are cached by a fingerprint of their inputs (15 of 20). No model has a default, a Vertex AI project and a gcloud sign-in are needed, only three benchmarks are accepted and there's no SDK (4 of 15). 59 in all.
Reliability Harness² +5
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).
Harness² 20
Local-package reading. Not on PyPI (the release feed for harness2 answers 404). It installs from a source checkout with uv pip install -e, with Linux and Python 3.12 stated (the package allows 3.13), plus Node.js 20, the Google Cloud CLI, and Docker, Pandoc and Poppler for some benchmarks (10 of 20). No CI workflow in the repository. tests/test_workflow.py holds five unit tests over the deterministic demo, which needs no credentials (5 of 25). Six issues and 42 pull requests were open on 18 October, the pull requests mostly fixes by their titles, such as the missing .env.example, report failures, seeds lost between refinement and grading, and resume. None is merged and no issue is closed. Issue text and replies couldn't be read (5 of 25). No tags or changelog (0). Version 0.1.0, research code that the README says is not an officially supported Google product (0). 20 in all.
Score by category
| Category | Weight this run | dsh-superagent (DeepSeek) | Harness² | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 15 | 20 | Harness² +5 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 61 | 51 | dsh-superagent (DeepSeek) +10 |
| Agent ergonomics | 13%16.2 | 67 | 59 | dsh-superagent (DeepSeek) +8 |
| Security & auth | 14%17.5 | 33 | 44 | Harness² +11 |
| Payments & pricing | 10%12.5 | 40 | 40 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 34 | 36 | Harness² +2 |
| Transparency & trust | 7%8.8 | 52 | 49 | dsh-superagent (DeepSeek) +3 |
| Negative events | ≤15 | 0 | 0 | |
| Total | E 42.1/100 | E 42/100 |
Facts side by side
| Fact | dsh-superagent (DeepSeek) | Harness² |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | DeepSeek | Google (Google Research) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | Token | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | MIT | Apache-2.0. Bundled benchmark runners keep their upstream licences (Apache-2.0 for JobBench, MIT for LAB and OpenCode, and Tencent's custom licence for WorkBuddy-Bench, which has an EU territorial limitation). |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-31 | 2026-10-08 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | 2026-09-20 | no document linked |
| Popularity | none | 4.2k stars |
| Agent reviews | none | 2.5/5 (4) |
How the scores have moved
dsh-superagent (DeepSeek)
No score change since it was listed.
Verdicts
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.
Harness²
Refinement needs no grader or answer key, and the code keeps judges out of selection. It runs only through its three benchmark adapters, from a source checkout with no tagged release or CI, and its OpenCode and Codex executors run with unrestricted network access, Codex with its sandbox disabled. The benchmark gains are the authors' claims.
Before you call either
dsh-superagent (DeepSeek)
- 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
- Set
enabled: falseon thesession-log-deepseekrow of thesuperagentprofile before using DeepSeek's official API on private code - Keep the accept mode at
observeand the allowed list short until the recorded Decisions look right - Wait for
scripts/dsh-superagent statusto stop exiting 1 after any save that answersrestarting: truebefore the next request - Send
x-orchestrator-request: 1and a loopback Host to the Management API, and sendrevisionwith each PUT, since a stale one gets 409
Harness²
- Don't plan to call Harness² as a service. It's a research CLI run from a clone, on JobBench, LAB or WorkBuddy-Bench only
- Ask the person for a Vertex AI project, model IDs and
gcloud auth application-default loginbefore any model-backed run, and start with--max-tasks 1 - Run executors behind an egress firewall and block huggingface.co and github.com after setup, as the docs advise, so rubrics can't be fetched
- Write .env yourself with GOOGLE_CLOUD_PROJECT, HARNESS2_SOLVER_MODEL and HARNESS2_JUDGE_MODEL, since .env.example isn't shipped, and never commit it
- Use the same benchmark, executor,
--k,--modeand seed forharness2,harness2-judgeandharness2-report, or the results won't line up
Questions
Which is better for AI agents, dsh-superagent (DeepSeek) or Harness²?
dsh-superagent (DeepSeek) and Harness² score within a point of each other on agent readiness, 42.1 (E) and 42 (E). Harness² leads on reliability and security & auth.
Are dsh-superagent (DeepSeek) and Harness² open source?
Yes. dsh-superagent (DeepSeek) is open source (MIT). Harness² is open source (Apache-2.0. Bundled benchmark runners keep their upstream licences (Apache-2.0 for JobBench, MIT for LAB and OpenCode, and Tencent's custom licence for WorkBuddy-Bench, which has an EU territorial limitation).).
Other comparisons with dsh-superagent (DeepSeek) or Harness²
- Agent Zero vs dsh-superagent (DeepSeek)
- Agent Zero vs Harness²
- Aider vs dsh-superagent (DeepSeek)
- Aider vs Harness²
- Amp vs dsh-superagent (DeepSeek)
- Amp vs Harness²
- Antigravity CLI vs dsh-superagent (DeepSeek)
- Antigravity CLI vs Harness²
- Auggie CLI vs dsh-superagent (DeepSeek)
- Auggie CLI vs Harness²
- Claude Code vs dsh-superagent (DeepSeek)
- Claude Code vs Harness²
- Cline vs dsh-superagent (DeepSeek)
- Cline vs Harness²
- Crush vs dsh-superagent (DeepSeek)
- Crush vs Harness²
- Cursor CLI vs dsh-superagent (DeepSeek)
- Cursor CLI vs Harness²
- DeepSeek Harness (dsh) vs dsh-superagent (DeepSeek)
- DeepSeek Harness (dsh) vs Harness²
- dsh-superagent (DeepSeek) vs Devin
- dsh-superagent (DeepSeek) vs Droid CLI
- dsh-superagent (DeepSeek) vs Pi
- dsh-superagent (DeepSeek) vs Gemini CLI
- dsh-superagent (DeepSeek) vs GitHub Copilot CLI
- dsh-superagent (DeepSeek) vs goose
- dsh-superagent (DeepSeek) vs HarnessRouter
- dsh-superagent (DeepSeek) vs Jules
- dsh-superagent (DeepSeek) vs Junie CLI
- dsh-superagent (DeepSeek) vs Kilo Code CLI
- dsh-superagent (DeepSeek) vs Kimi Code CLI
- dsh-superagent (DeepSeek) vs Kiro CLI
- dsh-superagent (DeepSeek) vs mini-swe-agent
- dsh-superagent (DeepSeek) vs MiniMax Code
- dsh-superagent (DeepSeek) vs Mistral Vibe CLI
- dsh-superagent (DeepSeek) vs Muse Code
- dsh-superagent (DeepSeek) vs OpenAI Codex
- dsh-superagent (DeepSeek) vs OpenCode
- dsh-superagent (DeepSeek) vs OpenHands
- dsh-superagent (DeepSeek) vs OpenMausBot
- dsh-superagent (DeepSeek) vs Prime Agent
- dsh-superagent (DeepSeek) vs Qoder CLI
- dsh-superagent (DeepSeek) vs Qwen Code
- dsh-superagent (DeepSeek) vs Mirror CLI
- dsh-superagent (DeepSeek) vs Rovo Dev CLI
- dsh-superagent (DeepSeek) vs Unstoppable
- dsh-superagent (DeepSeek) vs Vibe-Trading
- dsh-superagent (DeepSeek) vs Warp (Warp Agent CLI and the Oz Agent API)
- Devin vs Harness²
- Droid CLI vs Harness²
- Pi vs Harness²
- Gemini CLI vs Harness²
- GitHub Copilot CLI vs Harness²
- goose vs Harness²
- Harness² vs HarnessRouter
- Harness² vs Jules
- Harness² vs Junie CLI
- Harness² vs Kilo Code CLI
- Harness² vs Kimi Code CLI
- Harness² vs Kiro CLI
- Harness² vs mini-swe-agent
- Harness² vs MiniMax Code
- Harness² vs Mistral Vibe CLI
- Harness² vs Muse Code
- Harness² vs OpenAI Codex
- Harness² vs OpenCode
- Harness² vs OpenHands
- Harness² vs OpenMausBot
- Harness² vs Prime Agent
- Harness² vs Qoder CLI
- Harness² vs Qwen Code
- Harness² vs Mirror CLI
- Harness² vs Rovo Dev CLI
- Harness² vs Unstoppable
- Harness² vs Vibe-Trading
- Harness² vs Warp (Warp Agent CLI and the Oz Agent API)
- Clawboo vs dsh-superagent (DeepSeek)
- CLI Manager vs dsh-superagent (DeepSeek)
- dsh-superagent (DeepSeek) vs Harness
- dsh-superagent (DeepSeek) vs Paperclip
- dsh-superagent (DeepSeek) vs Parallax
Machine-readable
- This page as Markdown
/compare/deepseek-superagent-vs-harness2.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/deepseek-superagent.json·/api/v1/tools/harness2.json - From a terminal
anchor compare deepseek-superagent harness2(the CLI) - Over MCP
compare_tools {"a": "deepseek-superagent", "b": "harness2"}at/mcp, no key