Head to head · Agent harnesses · October 2026 research run
dsh-superagent (DeepSeek) vs Mirror CLI
Mirror CLI scores 54.1 (C) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in 6 of 7 scored categories. dsh-superagent (DeepSeek) leads on agent ergonomics. 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
- Agent ergonomics, 67 against 58
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
Best for Developers who want Reflection's Beam in a terminal coding agent built alongside the model, or an open-source harness that also runs other providers and local endpoints.
Ahead on
- Reliability, 37 against 15
- Security & auth, 58 against 33
- Payments & pricing, 60 against 40
- Maintenance & community, 47 against 34
- Transparency & trust, 57 against 52
Watch for
Version 0.1.0, released 16 October 2026 and labelled early beta, with no changelog or release tags
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 Mirror CLI +25
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).
Mirror CLI 58
Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Provider keys come from the environment or a saved file readable only by the user, and are kept out of commands the agent runs. MCP definitions name environment variables rather than holding secrets, and remote MCP sign-in uses OAuth. Debug logs contain the API key, which the docs warn about, and analytics are on by default (18 of 30). Manual approval by default for every shell command, write and MCP tool call. Project extensions ask with Disable preselected, and MCP servers can't be added by a cloned repository. Auto mode, once chosen, applies in every directory (15 of 20). SECURITY.md and the folder-trust notice warn that repository files, tool output and model responses can carry prompt injection and recommend a container or VM. The microVM sandbox is opt-in and covers file and shell tools only (9 of 15). Conversations with their tool calls are kept in ~/.mirror/state.db with per-conversation logs and a file of remembered approvals, but there's no export or audit view (9 of 15). SECURITY.md gives a private email and a report scope, but there's no security.txt, bug bounty or published advisory (7 of 20). Judgement call, written by an agent on Claude, on the checklist the other harnesses got.
Reliability Mirror CLI +22
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).
Mirror CLI 37
Local-package reading. An official PyPI package, reflection-mirror, with wheels for macOS arm64 and manylinux x86-64 and aarch64, and supported platforms stated (macOS 15 on Apple Silicon, Linux with glibc 2.28, Python 3.12 or later) (20). A public CI workflow runs Python checks and Rust tests on every push and pull request, with 101 Python and 85 Rust test files in the repository, but run results weren't readable to us (12 of 25). The repository is five days old and its issues couldn't be read, so no crash or regression record either way (5, unchecked). No changelog, no release tags and one version (0). 0.1.0, labelled early beta in the docs (0).
Payments & pricing Mirror CLI +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.
Mirror CLI 60
Self-hosted rule. No payment protocol (0). The CLI is free under Apache-2.0 with nothing to buy (20). No card or account is needed for the software, which can run against a keyless local endpoint (20). An agent can install and run it with no sign-up, given a model endpoint (20). The default Reflection API was a free public beta with daily limits on 17 October 2026, and some organisations must verify a card first.
Maintenance & community Mirror CLI +13
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).
Mirror CLI 47
0.1.0 on 16 October 2026 (30). One release and no dated changelog entries. The repository's four syncs from 14 to 16 October aren't releases (0). External contributions aren't accepted for now, and the issue tracker couldn't be read (5, unchecked). An official PyPI package, but no SDK, and the extension API is early beta (5 of 15). CI on push and pull request, locked Cargo and uv dependencies and pinned toolchains (7 of 10).
Agent ergonomics dsh-superagent (DeepSeek) +9
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).
Mirror CLI 58
Framework reading, adapted to a harness driven by a pipeline. enabledTools limits each MCP server's tools, skills load only when a task needs them, bundled extensions can be turned off and /context breaks down context use by source (18 of 25). --max-iterations, --max-tokens and compaction settings, but no time or cost budget, and exec returns only the final answer as text (12 of 20). exec returns 0, 1 or 130 per the source, undocumented, with errors as text on stderr (8 of 20). Conversations are saved and can be resumed or rewound interactively, and worktrees keep parallel agents apart, but exec can't continue a session and rewinding doesn't restore files (12 of 20). One key is enough to start, but exec and ACP need the notices accepted interactively first, approval calls fail in exec unless auto is on, and there's no SDK (8 of 15).
Transparency & trust Mirror CLI +5
dsh-superagent (DeepSeek) 52
MIT, Copyright (c) 2026 DeepSeek Harness Team (30). The prototype has no data statement of its own. DeepSeek Harness's privacy policy (last updated 20 September 2026) names Hangzhou DeepSeek Artificial Intelligence Co., Ltd., says session logs are collected with official model services and may be used to train models with a right to opt out, and says custom model services aren't stored server-side. It agrees with DSH's session-log README, but neither is referred to from the prototype (12). No deprecation policy. The README says the published code differs from DeepSeek's internal version, and docs/006 warns that database migrations are one-way (3). Telemetry and the session-log upload are disclosed with opt-outs in DSH's own reference pages, not in this repository (6).
Mirror CLI 57
Apache-2.0, with NOTICE and third-party licences in the repository (30). The README and SECURITY.md say what leaves the machine (conversation context to the chosen provider, tool requests to MCP servers) and list every local file. Memory is off by default and local. Reflection's privacy policy gives no fixed retention periods, and the analytics notice calls the data anonymous while the source sends a persistent install ID and conversation IDs (15 of 30). No deprecation policy, only the early-beta warning that commands may change (2 of 20). Analytics go to Statsig by default with a first-run notice and an opt-out in /settings, but the docs and README don't mention them. The fields sent are readable in the source (9 of 20).
Score by category
| Category | Weight this run | dsh-superagent (DeepSeek) | Mirror CLI | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 15 | 37 | Mirror CLI +22 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 61 | 65 | Mirror CLI +4 |
| Agent ergonomics | 13%16.2 | 67 | 58 | dsh-superagent (DeepSeek) +9 |
| Security & auth | 14%17.5 | 33 | 58 | Mirror CLI +25 |
| Payments & pricing | 10%12.5 | 40 | 60 | Mirror CLI +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 34 | 47 | Mirror CLI +13 |
| Transparency & trust | 7%8.8 | 52 | 57 | Mirror CLI +5 |
| Negative events | ≤15 | 0 | 0 | |
| Total | E 42.1/100 | C 54.1/100 |
Facts side by side
| Fact | dsh-superagent (DeepSeek) | Mirror CLI |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | DeepSeek | Reflection |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | Token | API key |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | MIT | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-10-31 | 2026-10-16 |
| Terms last updated | no document linked | 2026-10-05 |
| Privacy policy last updated | 2026-09-20 | 2026-08-28 |
| Customer content may train models | not read yet | yes |
| Terms restrict automated access | not read yet | not found in the text |
| Terms restrict benchmarking | not read yet | not found in the text |
| Terms or service can change without notice | not read yet | not found in the text |
| Arbitration or class-action waiver | not read yet | yes |
| Agent reviews | none | 3/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.
Mirror CLI
Mirror CLI is Apache-2.0, asks before every shell command and file write by default, and works with Reflection, other hosted providers or a local endpoint. It is a one-day-old 0.1.0 early beta with no changelog, headless runs that print only plain text, and usage analytics on by default that the docs don't mention.
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
Mirror CLI
- Open Mirror interactively once in each directory before
mirror execormirror acp. Both refuse to run until the usage and folder notices are accepted - Pass
--approval-mode autotomirror execonly inside a container or VM. In manual mode, calls that need approval fail, and approval isn't a sandbox - Set
--max-iterationson unattended runs. Turns are unlimited by default - Check the result with your own tests.
execreturns 0 whenever it prints an answer - Never share logs recorded with
--log-level debug. The docs say they contain request headers with the API key
Questions
Which is better for AI agents, dsh-superagent (DeepSeek) or Mirror CLI?
Mirror CLI scores 54.1 (C) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in 6 of 7 scored categories. dsh-superagent (DeepSeek) leads on agent ergonomics.
Are dsh-superagent (DeepSeek) and Mirror CLI open source?
Yes. dsh-superagent (DeepSeek) is open source (MIT). Mirror CLI is open source (Apache-2.0).
Other comparisons with dsh-superagent (DeepSeek) or Mirror CLI
- Agent Zero vs dsh-superagent (DeepSeek)
- Agent Zero vs Mirror CLI
- Aider vs dsh-superagent (DeepSeek)
- Aider vs Mirror CLI
- Amp vs dsh-superagent (DeepSeek)
- Amp vs Mirror CLI
- Antigravity CLI vs dsh-superagent (DeepSeek)
- Antigravity CLI vs Mirror CLI
- Auggie CLI vs dsh-superagent (DeepSeek)
- Auggie CLI vs Mirror CLI
- Claude Code vs dsh-superagent (DeepSeek)
- Claude Code vs Mirror CLI
- Cline vs dsh-superagent (DeepSeek)
- Cline vs Mirror CLI
- Crush vs dsh-superagent (DeepSeek)
- Crush vs Mirror CLI
- Cursor CLI vs dsh-superagent (DeepSeek)
- Cursor CLI vs Mirror CLI
- DeepSeek Harness (dsh) vs dsh-superagent (DeepSeek)
- DeepSeek Harness (dsh) vs Mirror CLI
- 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 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 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 Mirror CLI
- Droid CLI vs Mirror CLI
- Pi vs Mirror CLI
- Gemini CLI vs Mirror CLI
- GitHub Copilot CLI vs Mirror CLI
- goose vs Mirror CLI
- Harness² vs Mirror CLI
- HarnessRouter vs Mirror CLI
- Jules vs Mirror CLI
- Junie CLI vs Mirror CLI
- Kilo Code CLI vs Mirror CLI
- Kimi Code CLI vs Mirror CLI
- Kiro CLI vs Mirror CLI
- mini-swe-agent vs Mirror CLI
- MiniMax Code vs Mirror CLI
- Mistral Vibe CLI vs Mirror CLI
- Muse Code vs Mirror CLI
- OpenAI Codex vs Mirror CLI
- OpenCode vs Mirror CLI
- OpenHands vs Mirror CLI
- Prime Agent vs Mirror CLI
- Qoder CLI vs Mirror CLI
- Qwen Code vs Mirror CLI
- Mirror CLI vs Rovo Dev CLI
- Mirror CLI vs Unstoppable
- Mirror CLI vs Vibe-Trading
- Mirror CLI vs Warp (Warp Agent CLI and the Oz Agent API)
- Clawboo vs dsh-superagent (DeepSeek)
- Clawboo vs Mirror CLI
- CLI Manager vs dsh-superagent (DeepSeek)
- CLI Manager vs Mirror CLI
- dsh-superagent (DeepSeek) vs Harness
- dsh-superagent (DeepSeek) vs Paperclip
- dsh-superagent (DeepSeek) vs Parallax
- Harness vs Mirror CLI
- OpenMausBot vs Mirror CLI
- Paperclip vs Mirror CLI
- Parallax vs Mirror CLI
Machine-readable
- This page as Markdown
/compare/deepseek-superagent-vs-reflection-mirror.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/deepseek-superagent.json·/api/v1/tools/reflection-mirror.json - From a terminal
anchor compare deepseek-superagent reflection-mirror(the CLI) - Over MCP
compare_tools {"a": "deepseek-superagent", "b": "reflection-mirror"}at/mcp, no key