Head to head · Agent harnesses · October 2026 research run
dsh-superagent (DeepSeek) vs Emdash
Emdash scores 53.9 (D) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in 5 of 7 scored categories. dsh-superagent (DeepSeek) leads on schema & documentation and agent ergonomics. Both do agent harnesses.
Best agent harnesses and coding agents · All 1500 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 55
- Agent ergonomics, 67 against 55
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
Emdash D
Best for Developers who want parallel agents in worktrees, fed from their issue tracker, locally or over SSH.
Ahead on
- Reliability, 55 against 15
- Security & auth, 38 against 33
- Payments & pricing, 60 against 40
- Maintenance & community, 70 against 34
Also in its favour
- No key needed to call it
Watch for
Telemetry on unless turned off in Settings or with TELEMETRY_ENABLED=false
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.
Reliability Emdash +40
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).
Emdash 55
Local software. Homebrew cask and installers for macOS, Windows and Linux (20). A code-consistency check and release workflows; no test workflow found (10). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Stable tags to v1.2.11, release notes on GitHub (10). Version 1.2.11 (15). 20 + 10 + 0 + 10 + 15 = 55.
Maintenance & community Emdash +36
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).
Emdash 70
v1.2.11 on 6 November 2026 (30). v1.2.9, v1.2.10 and v1.2.11 within two weeks (20). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Current installers and Homebrew cask (15). Release workflows, no test CI (5). 30 + 20 + 0 + 15 + 5 = 70.
Payments & pricing Emdash +20
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.
Emdash 60
Free self-hosted software with nothing to buy, so 0 for a protocol and 20 each for public pricing, a free tier and onboarding with no sign-up, 60.
Agent ergonomics dsh-superagent (DeepSeek) +12
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).
Emdash 55
Harness reading. Issue intake from Linear, GitHub, Jira and others, diff review, pull requests and CI checks in one place, local or over SSH (55).
Schema & documentation dsh-superagent (DeepSeek) +6
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).
Emdash 55
Harness reading. Docs site and a workspace server package (55).
Security & auth Emdash +5
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).
Emdash 38
Harness reading. Telemetry is described as optional and disabled in Settings or with TELEMETRY_ENABLED=false, which reads as on by default (15 of 30). Worktree per task and remote machines over SSH (10 of 20). No prompt-injection guidance (5). No audit log (5). No security policy file found (3). 15 + 10 + 5 + 5 + 3 = 38.
Score by category
| Category | Weight this run | dsh-superagent (DeepSeek) | Emdash | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 15 | 55 | Emdash +40 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 61 | 55 | dsh-superagent (DeepSeek) +6 |
| Agent ergonomics | 13%16.2 | 67 | 55 | dsh-superagent (DeepSeek) +12 |
| Security & auth | 14%17.5 | 33 | 38 | Emdash +5 |
| Payments & pricing | 10%12.5 | 40 | 60 | Emdash +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 34 | 70 | Emdash +36 |
| Transparency & trust | 7%8.8 | 52 | 54 | Emdash +2 |
| Negative events | ≤15 | 0 | 0 | |
| Total | E 42.1/100 | D 53.9/100 |
Facts side by side
| Fact | dsh-superagent (DeepSeek) | Emdash |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | DeepSeek | General Action, Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | Token | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | MIT | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-10-31 | 2026-11-06 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | 2026-09-20 | no document linked |
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.
Emdash
A mature open-source app for parallel coding agents in Git worktrees, with issue intake from a dozen trackers and remote machines over SSH. Telemetry is on unless you turn it off, and no test workflow was found in the repository.
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
Emdash
- Launch with TELEMETRY_ENABLED=false if you don't want telemetry
- Use the SSH mode to keep agents on a remote machine
Questions
Which is better for AI agents, dsh-superagent (DeepSeek) or Emdash?
Emdash scores 53.9 (D) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in 5 of 7 scored categories. dsh-superagent (DeepSeek) leads on schema & documentation and agent ergonomics.
Are dsh-superagent (DeepSeek) and Emdash open source?
Yes. dsh-superagent (DeepSeek) is open source (MIT). Emdash is open source (Apache-2.0).
Other comparisons with dsh-superagent (DeepSeek) or Emdash
- Agent Zero vs dsh-superagent (DeepSeek)
- Agent Zero vs Emdash
- Aider vs dsh-superagent (DeepSeek)
- Aider vs Emdash
- Amp vs dsh-superagent (DeepSeek)
- Amp vs Emdash
- Antigravity CLI vs dsh-superagent (DeepSeek)
- Antigravity CLI vs Emdash
- Auggie CLI vs dsh-superagent (DeepSeek)
- Auggie CLI vs Emdash
- AXLR vs dsh-superagent (DeepSeek)
- AXLR vs Emdash
- Claude Code vs dsh-superagent (DeepSeek)
- Claude Code vs Emdash
- Cline vs dsh-superagent (DeepSeek)
- Cline vs Emdash
- Conductor vs dsh-superagent (DeepSeek)
- Conductor vs Emdash
- Crush vs dsh-superagent (DeepSeek)
- Crush vs Emdash
- Cursor CLI vs dsh-superagent (DeepSeek)
- Cursor CLI vs Emdash
- DeepSeek Harness (dsh) vs dsh-superagent (DeepSeek)
- DeepSeek Harness (dsh) vs Emdash
- 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 Harness²
- 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 Letta
- 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 Agents API
- 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 Orca
- dsh-superagent (DeepSeek) vs Paseo
- 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 Sculptor
- dsh-superagent (DeepSeek) vs T3 Code
- dsh-superagent (DeepSeek) vs Traycer
- dsh-superagent (DeepSeek) vs Unstoppable
- dsh-superagent (DeepSeek) vs Verdent
- dsh-superagent (DeepSeek) vs Vibe-Trading
- dsh-superagent (DeepSeek) vs Warp (Warp Agent CLI and the Oz Agent API)
- Devin vs Emdash
- Droid CLI vs Emdash
- Pi vs Emdash
- Emdash vs Gemini CLI
- Emdash vs GitHub Copilot CLI
- Emdash vs goose
- Emdash vs Harness²
- Emdash vs HarnessRouter
- Emdash vs Jules
- Emdash vs Junie CLI
- Emdash vs Kilo Code CLI
- Emdash vs Kimi Code CLI
- Emdash vs Kiro CLI
- Emdash vs Letta
- Emdash vs mini-swe-agent
- Emdash vs MiniMax Code
- Emdash vs Mistral Vibe CLI
- Emdash vs Muse Code
- Emdash vs OpenAI Agents API
- Emdash vs OpenAI Codex
- Emdash vs OpenCode
- Emdash vs OpenHands
- Emdash vs OpenMausBot
- Emdash vs Orca
- Emdash vs Paseo
- Emdash vs Prime Agent
- Emdash vs Qoder CLI
- Emdash vs Qwen Code
- Emdash vs Mirror CLI
- Emdash vs Rovo Dev CLI
- Emdash vs Sculptor
- Emdash vs T3 Code
- Emdash vs Traycer
- Emdash vs Unstoppable
- Emdash vs Verdent
- Emdash vs Vibe-Trading
- Emdash vs Warp (Warp Agent CLI and the Oz Agent API)
- Clawboo vs dsh-superagent (DeepSeek)
- Clawboo vs Emdash
- CLI Manager vs dsh-superagent (DeepSeek)
- CLI Manager vs Emdash
- dsh-superagent (DeepSeek) vs Harness
- dsh-superagent (DeepSeek) vs Paperclip
- dsh-superagent (DeepSeek) vs Parallax
- Emdash vs Harness
- Emdash vs Paperclip
- Emdash vs Parallax
Machine-readable
- This page as Markdown
/compare/deepseek-superagent-vs-emdash.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/deepseek-superagent.json·/api/v1/tools/emdash.json - From a terminal
anchor compare deepseek-superagent emdash(the CLI) - Over MCP
compare_tools {"a": "deepseek-superagent", "b": "emdash"}at/mcp, no key