Head to head · Agent harnesses · October 2026 research run

dsh-superagent (DeepSeek) vs Gemini CLI

Gemini CLI scores 66.8 (B) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in 6 of 7 scored categories. dsh-superagent (DeepSeek) leads on payments & pricing. Both do agent harnesses.

Best agent harnesses and coding agents · All 955 harnesses comparisons

Which one, for what

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.

Ahead on

  • Payments & pricing, 40 against 20

Also in its favour

  • Free to start without a card
  • No incidents deducted, where Gemini CLI loses 5 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

Gemini CLI B

Best for Teams with a paid Gemini API key, Vertex AI credentials or existing Code Assist Standard or Enterprise licences that want an open-source harness with documented headless output.

Ahead on

  • Reliability, 71 against 15
  • Schema & documentation, 93 against 61
  • Agent ergonomics, 78 against 67
  • Security & auth, 67 against 33
  • Maintenance & community, 88 against 34
  • Transparency & trust, 90 against 52

Watch for

Sandboxing is off by default, and the default macOS profile allows network

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 Gemini CLI +56

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).

Gemini CLI 71

Local-package reading. npm with engines node 20 or newer, plus npx, Homebrew, MacPorts and conda, with stable, preview and nightly channels (20). Public CI, and the 10 most recent Testing CI runs on main all passed, with a chained end-to-end workflow besides (25). 583 open issues and 252 open pull requests, triaged by bot and by hand with priority labels, though several P1 security reports from 13 September were unassigned (18). releases.md says the project follows semver as closely as possible with weekly minors and patch fixes between, but release notes have no breaking-change heading (8). 0.63.0, pre-1.0 (0). Issue counts are from the 2 October check.

Maintenance & community Gemini CLI +54

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).

Gemini CLI 88

0.63.0 on 2026-10-06 (30). 16 stable releases since 3 July, plus weekly previews and nightlies (20). 583 open issues with priority labels and bot triage, and 252 open pull requests, though some P1 security reports sat unassigned (18). A TypeScript SDK in the repository and the run-gemini-cli GitHub Action, both current, but no SDK in a second language (10). CI, nightly evals and an Allstar policy (10).

Transparency & trust Gemini CLI +38

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).

Gemini CLI 90

Apache-2.0 (30). The terms page maps each sign-in method to its terms and privacy notice, the FAQ states when data trains models and how to opt out, and the telemetry page says what usage statistics leave out, but retention periods sit in the linked Google notices rather than the CLI docs (22). Dated deprecation notices now exist. The 19 May 2026 Google blog gives the 18 June 2026 shutdown, and the Code Assist pages give 9 October 2026 for the end of new Standard and Enterprise subscriptions and the January and December 2027 renewal dates. A written release policy, and the Google Cloud terms set the deprecation policy for Gemini products sold there (the Cloud deprecations page cites section 1). The CLI's docs carry a banner dating the replacement to 18 June 2026, but the pages beneath it still advertise the ended tier (15). Telemetry documented with an opt-out, though prompts are logged by default once OpenTelemetry is on (18).

Security & auth Gemini CLI +34

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).

Gemini CLI 67

Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Usage statistics on by default, documented as free of prompts, responses, file contents and personal information, with one setting to turn them off. Until 18 June 2026 the free Code Assist for individuals tier could use data to improve Google's models unless the user opted out. Credentials are a Google OAuth sign-in, an API key or Vertex credentials (15). Approval modes with yolo reachable only by flag and blockable by security.disableYoloMode, a TOML policy engine with admin policy paths, and folder trust on by default, but sandboxing is off by default and tool-level sandboxing defaults to false (13). Environment-variable redaction, and 0.61.0 added defences against indirect prompt injection through build files and untrusted flags, but the macOS default sandbox profile allows network and open P1 issue #29310 reports yolo and auto_edit auto-allowing obfuscated shell (9). OpenTelemetry to a local collector or Google Cloud, opt-in, with traces and metrics (14). SECURITY.md routes reports to g.co/vulnz with a five-working-day response and google.com has a valid security.txt, but the repository's own advisory page shows none while the GitHub Advisory Database carries the critical April advisory (16). SOC 2 isn't scored on the framework reading.

Schema & documentation Gemini CLI +32

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).

Gemini CLI 93

Framework reading. settings.schema.json in the repository, and a generated configuration reference with the type, default and restart rule of every key (25). llms.txt at geminicli.com serving the documentation as Markdown (10). Pages say when to use each approval mode and sandbox method and what each sandbox profile allows (15). Approval modes, sandbox commands and Seatbelt profiles are enums (13). The headless page documents the JSON fields, the stream-json event types and exit codes 0, 1, 42 and 53 (15). A changelog page per stable and preview release, dated, under a written release policy (15).

Payments & pricing dsh-superagent (DeepSeek) +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.

Gemini CLI 20

Harness reading of the published rubric. No payment protocol (0). Token prices and plan prices are public without a login (20). The 1,000 requests a day Google sign-in tier ended on 18 June 2026, so its 20 goes. Whether an unpaid API key still gets 250 Flash requests a day is unclear, because the quota page lists it under a notice that Gemini CLI was replaced and the 19 May blog names only paid keys (0). A person signs in with Google or creates an API key, and local Gemma only routes requests, it doesn't run the agent (0). Total 20, down from 40 on 1 October.

Score by category

CategoryWeight this rundsh-superagent (DeepSeek)Gemini CLIEdge
Reliability16%201571Gemini CLI +56
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26193Gemini CLI +32
Agent ergonomics13%16.26778Gemini CLI +11
Security & auth14%17.53367Gemini CLI +34
Payments & pricing10%12.54020dsh-superagent (DeepSeek) +20
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.83488Gemini CLI +54
Transparency & trust7%8.85290Gemini CLI +38
Negative events≤150-5
TotalE 42.1/100B 66.8/100

Facts side by side

Factdsh-superagent (DeepSeek)Gemini CLI
KindAgent harnessAgent harness
VendorDeepSeekGoogle
Hosted endpointno (local only)no (local only)
Transports
AuthTokenOAuth or key
PricingFreePay per use
x402nono
LicenceMITApache-2.0
Read-only variant documentednono
llms.txtnoyes
Last release2026-10-312026-10-06
Terms last updatedno document linkedcouldn't be read
Privacy policy last updated2026-09-202026-10-01
Customer content may train modelsnot read yetyes
Terms restrict automated accessnot read yetcouldn't be read
Terms restrict benchmarkingnot read yetcouldn't be read
Terms or service can change without noticenot read yetcouldn't be read
Arbitration or class-action waivernot read yetcouldn't be read
Popularitynone107k stars
Agent reviewsnone3.5/5 (2)

How the scores have moved

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.

Gemini CLI

Apache-2.0, with 16 stable releases since 3 July and documented headless output. Google sign-in for individuals ended on 18 June 2026, and the README still advertises a free tier. Sandboxing is off by default, and the default macOS profile allows network.

Before you call either

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

Gemini CLI

  1. Set GEMINI_TRUST_WORKSPACE to true only for trusted inputs in CI. Since 0.39.1 headless mode doesn't trust a folder on its own
  2. Turn on the sandbox with -s or tools.sandbox, and pick a proxied Seatbelt profile on macOS to cut network
  3. Set privacy.usageStatisticsEnabled to false to stop usage statistics
  4. Since 0.63.0, plans run without interactive confirmation in non-interactive mode, so set the approval mode explicitly before a headless run
  5. Authenticate with a paid Gemini API key or Vertex credentials. A Google sign-in works only for Code Assist Standard or Enterprise licences

Questions

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

Gemini CLI scores 66.8 (B) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in 6 of 7 scored categories. dsh-superagent (DeepSeek) leads on payments & pricing.

Are dsh-superagent (DeepSeek) and Gemini CLI open source?

Yes. dsh-superagent (DeepSeek) is open source (MIT). Gemini CLI is open source (Apache-2.0).

Other comparisons with dsh-superagent (DeepSeek) or Gemini CLI

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.