{
  "data": {
    "a": {
      "slug": "deepseek-harness",
      "name": "DeepSeek Harness (dsh)",
      "vendor": "DeepSeek",
      "vendorUrl": "https://deepseek-harness.github.io/deepseek-harness/",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "DeepSeek Harness (`dsh`) is DeepSeek's MIT-licensed agent harness, a developer preview built from plugins over the Cordis framework. It runs as a local Web UI, a one-shot headless command, an ACP server or a JSON-RPC server for its Python SDK.",
      "url": "https://www.anchorterminal.com/tools/deepseek-harness",
      "markdownUrl": "https://www.anchorterminal.com/tools/deepseek-harness.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/deepseek-harness.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/deepseek-harness.json",
      "repo": "https://github.com/deepseek-ai/deepseek-harness",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@deepseek-ai/dsh"
        },
        {
          "registry": "pypi",
          "name": "deepseek-harness-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "No account with the project. A model key goes in the environment, `$DSH_HOME/.credentials.yaml`, a `.env` file or the Web UI settings, for DeepSeek (`DEEPSEEK_API_KEY`), a catalogue provider or a custom OpenAI or Anthropic-compatible endpoint, including a self-hosted one. The Web UI listens on loopback and authenticates each request.",
      "pricing": "free",
      "pricingNotes": "Free and MIT, with nothing to buy for the harness. The owner pays the model provider, usually DeepSeek's API at its published per-token rates, or nothing with a self-hosted model.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the CLI reference or the docs index (checked 2026-10-18).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 244843,
        "pypiWeekly": null,
        "asOf": "2026-10-18"
      },
      "docsUrl": "https://deepseek-harness.github.io/deepseek-harness/",
      "llmsTxt": "https://deepseek-harness.github.io/deepseek-harness/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "open-source",
        "typescript",
        "python",
        "mcp",
        "acp",
        "llms-txt",
        "telemetry-default-on",
        "pre-1.0",
        "preview",
        "free",
        "no-card",
        "local"
      ],
      "lastRelease": "2026-10-17",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.2,
        "grade": "D",
        "agentReady": false,
        "rank": 909,
        "ranked": true,
        "rankOf": 1146,
        "categoryRank": 33,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 71,
          "payments": 60,
          "reliability": 33,
          "schema": 77,
          "security": 40,
          "transparency": 50
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-18"
        },
        "negative": -6,
        "negativeNotes": [
          "2026-09-08. CVE-2026-82533 (CVSS 9.6, published by VulnCheck). The local HTTP agent-control API trusted a client-supplied loopback Host header, so a sandboxed tool process could reach it, escape the sandbox and turn off approvals, and a tunnelled port exposed it remotely. Fixed in 0.1.2-alpha.1 with commit 3e24087 per the NVD record. Fixed, inside six months, -2. https://nvd.nist.gov/vuln/detail/CVE-2026-82533",
          "2026-09-28 to 2026-10-16. Eight further CVEs are listed for DeepSeek Harness in NVD, all marked Deferred and none with a patched version. Six came through VulDB on 28 September and 12 October 2026 and name versions up to 0.1.0-rc.7, 0.1.1-rc.2, 0.1.5-rc.3 and 0.1.7-rc.2, with CVSS 3.1 scores of 3.1 to 6.3. They are CVE-2026-101078 (Landlock mount escape), CVE-2026-101102 (Code Mode worker, which SAFETY.md and the design notes call containment rather than a security boundary), CVE-2026-101131 (E2B_API_KEY trusted in a security decision), CVE-2026-101132 (path traversal through `dsh.bundle.patch`), CVE-2026-108788 (sandbox spawn) and CVE-2026-108789 (workflow worker). Each says the vendor was contacted early and did not respond. CVE-2026-95182 (CVSS 10.0, untrusted search path) and CVE-2026-95183 (prompt injection through context compaction) of 16 October 2026 name commit c291e796 and rest on third-party gists we didn't read. Read the way the PicoClaw note was. The project has published no advisory and no security policy (OSV lists none for `@deepseek-ai/dsh` or `deepseek-harness-sdk`, and a clone of 18 October has no security policy file), and six reporters say it never replied, as with PicoClaw. We read all eight NVD records but none of the write-ups. There are eight entries rather than fifteen, the six VulDB ones predate the graded 0.2.0-rc.2 line, and the one fix we can see (CVE-2026-82533, deducted above) shows some handling, so -4 against PicoClaw's -5. https://services.nvd.nist.gov/rest/json/cves/2.0?keywordSearch=deepseek-harness"
        ],
        "verdict": "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.",
        "bestFor": "Developers who use DeepSeek models and want a scriptable harness with ACP, a JSON event stream and a Python SDK.",
        "strengths": [
          "MIT licence, with headless `--json`, an ACP stdio server and a JSON-RPC server for the Python SDK from one `dsh` command",
          "In headless and ACP runs an approval nobody answers is denied, so the default `workspace-write` plus `ask` preset fails closed",
          "File writes are confined to the workspace by bwrap or Landlock on Linux, Seatbelt on macOS and restricted tokens on Windows",
          "`--dump-config-schema` prints a JSON Schema 2020-12 document for the composed configuration, and the docs serve llms.txt and Markdown",
          "36 npm versions between 10 August and 17 October 2026, with alpha, next and latest channels"
        ],
        "weaknesses": [
          "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",
          "Developer preview with no stable release. npm `latest` is 0.2.0-rc.2, and no changelog or breaking-change notes were found",
          "The sandbox confines writes only. Reads and network access are not confined, and `web_fetch` runs without approval",
          "No SECURITY.md or security.txt. NVD lists nine CVEs from September and October 2026, six saying the vendor did not respond",
          "The Python SDK's minimal profile pins `danger-full-access` with no approval service, and external pull requests are not accepted"
        ],
        "agentNotes": [
          "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",
          "Set `DSH_TELEMETRY_MODE=DISABLED` to stop OpenTelemetry uploads, which send the session prefix to a DeepSeek collector after any feedback",
          "Treat exit code 1 and the `turn_end` reason as failure. A `--json` stream can end with a `final` event for a failed run",
          "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",
          "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"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.2
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 71,
          "payments": 60,
          "reliability": 33,
          "schema": 77,
          "security": 40,
          "transparency": 59
        },
        "provenanceScore": 40
      },
      "connect": {
        "install": "npx @deepseek-ai/dsh web   # or: python -m pip install deepseek-harness-sdk",
        "headless": {
          "command": "npx @deepseek-ai/dsh --profile headless --json \"$TASK\"",
          "env": {
            "DEEPSEEK_API_KEY": "\u003ckey\u003e",
            "DSH_TELEMETRY_MODE": "DISABLED"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/deepseek-harness"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "DeepSeek (the LICENSE names DeepSeek, and no legal entity is named in the repository or the docs)",
        "domain": "deepseek-harness.github.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-18",
        "notes": [
          "The project publishes no terms or privacy policy of its own. Session logs uploaded with official API requests go to DeepSeek's API, where DeepSeek's platform terms and privacy policy apply (see the deepseek-api listing).",
          "No SECURITY.md in the repository root or .github, and deepseek-harness.github.io/.well-known/security.txt and www.deepseek.com/.well-known/security.txt returned 404 on 18 October 2026.",
          "No CHANGELOG.md in the repository and no release notes on the docs site. Versions are on npm and PyPI only.",
          "GitHub's web pages and API were not read. A compiled record of 18 October (shields.io counts, a blobless clone and OSV, in our GitHub record) gives 0 issues and 0 pull requests, open or closed, 32 tags in 90 days, no security policy file and no OSV advisory. Stars, CI results and Discussions remain unchecked."
        ],
        "score": 40
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/deepseek-harness.json"
    },
    "answer": "Gemini CLI scores 66.7 (B) on agent readiness against DeepSeek Harness (dsh)'s 49.2 (D), and leads in 6 of 7 scored categories. DeepSeek Harness (dsh) leads on payments \u0026 pricing.",
    "b": {
      "slug": "gemini-cli",
      "name": "Gemini CLI",
      "vendor": "Google",
      "vendorUrl": "https://geminicli.com",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Google's open-source coding agent for the terminal, in TypeScript on Node 20 or newer.",
      "url": "https://www.anchorterminal.com/tools/gemini-cli",
      "markdownUrl": "https://www.anchorterminal.com/tools/gemini-cli.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gemini-cli.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gemini-cli.json",
      "repo": "https://github.com/google-gemini/gemini-cli",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@google/gemini-cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "Google sign-in works only with a Gemini Code Assist Standard or Enterprise licence. Google AI Pro, Google AI Ultra and the free Code Assist for individuals tier stopped working with Gemini CLI on 18 June 2026. Otherwise use a paid Gemini API key from AI Studio, or Vertex AI credentials. Google's terms forbid using the Gemini CLI sign-in from third-party software.",
      "pricing": "usage",
      "pricingNotes": "Free to install (Apache-2.0). Model access is paid. Use a paid Gemini API key or Vertex AI at token rates, or an existing Code Assist Standard or Enterprise licence. New Standard and Enterprise subscriptions ended on 9 October 2026. Token prices are public without a login, and requests are limited per minute (checked 2026-10-10). The free 1,000 requests a day tier ended on 18 June 2026, and whether an unpaid key still gets 250 Flash requests a day is unclear.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-02).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 107000,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-02"
      },
      "docsUrl": "https://geminicli.com/docs/",
      "llmsTxt": "https://geminicli.com/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "open-source",
        "typescript",
        "mcp",
        "llms-txt",
        "telemetry-default-on",
        "pre-1.0",
        "gemini-only",
        "sign-in-ended",
        "paid-api-key"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.7,
        "grade": "B",
        "agentReady": false,
        "rank": 307,
        "ranked": true,
        "rankOf": 1146,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 88,
          "payments": 20,
          "reliability": 71,
          "schema": 93,
          "security": 67,
          "transparency": 89
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-10"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-04-24. GHSA-wpqr-6v78-jr5g, critical (CVSS 10). In CI, headless Gemini CLI trusted the workspace folder automatically and loaded its configuration, and `--yolo` ignored fine-grained tool allowlists, so a workflow fed untrusted pull requests or issues could run an attacker's code. Fixed in @google/gemini-cli 0.39.1 and run-gemini-cli 0.1.22 and published, so the deduction is small (https://github.com/advisories/GHSA-wpqr-6v78-jr5g)",
          "2026-06-18. Google sign-in for individuals ended on 18 June 2026. The README at main (9 October 2026) and the authentication page (checked 10 October 2026) still describe a free tier of 1,000 requests a day with a Google account, so the claim is misleading and the deduction is -3 (https://github.com/google-gemini/gemini-cli/blob/main/README.md; https://geminicli.com/docs/get-started/authentication/; https://developers.google.com/gemini-code-assist/docs/deprecations/code-assist-individuals)"
        ],
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "Apache-2.0 licence, CI passing on main, and 583 open issues with priority labels (as of 2 October 2026)",
          "A stable release every Tuesday after a week in preview, under a written release policy",
          "Headless JSON and stream-json output with documented exit codes, including 53 for the turn limit",
          "A TOML policy engine with admin policy paths, folder trust on by default and a setting that blocks yolo mode",
          "Pay-per-token access through a Gemini API key or Vertex AI, with token prices published without a login"
        ],
        "weaknesses": [
          "Sandboxing is off by default, and the default macOS profile allows network",
          "Google sign-in for individuals ended on 18 June 2026, but the README and authentication page still advertise a free tier of 1,000 requests a day",
          "A critical advisory in April 2026 (CVSS 10) for CI runs that trusted untrusted repositories",
          "Usage statistics on by default, with one setting to turn them off",
          "Pre-1.0 at 0.63.0, and Gemini models only"
        ],
        "agentNotes": [
          "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",
          "Turn on the sandbox with `-s` or `tools.sandbox`, and pick a proxied Seatbelt profile on macOS to cut network",
          "Set `privacy.usageStatisticsEnabled` to false to stop usage statistics",
          "Since 0.63.0, plans run without interactive confirmation in non-interactive mode, so set the approval mode explicitly before a headless run",
          "Authenticate with a paid Gemini API key or Vertex credentials. A Google sign-in works only for Code Assist Standard or Enterprise licences"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.7
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 88,
          "payments": 20,
          "reliability": 71,
          "schema": 93,
          "security": 67,
          "transparency": 85
        },
        "provenanceScore": 93
      },
      "connect": {
        "install": "npm i -g @google/gemini-cli   # or: brew install gemini-cli",
        "headless": {
          "run": "gemini -p \"fix the failing test\" --output-format json --approval-mode auto_edit"
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/gemini-cli"
      },
      "sameCompany": [
        "gemini-api",
        "gemini-embedding",
        "vertex-ai-tuning",
        "google-model-armor",
        "google-imagen",
        "google-veo",
        "google-lyria",
        "google-speech-to-text",
        "gemini-live",
        "google-adk",
        "google-secret-manager",
        "google-cloud-document-ai",
        "google-weather-api",
        "chrome-devtools-mcp",
        "google-maps-platform",
        "google-cloud-translation",
        "google-calendar-api",
        "firebase-cloud-messaging",
        "google-drive-api",
        "gemini-enterprise",
        "google-search-console",
        "google-ads-api",
        "google-forms",
        "google-sheets-api",
        "gmail-api",
        "google-people-api"
      ],
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "google.com",
        "domainRegistered": "1997-09-15",
        "endpointOnVendorDomain": null,
        "terms": "https://geminicli.com/docs/resources/tos-privacy",
        "privacy": "https://policies.google.com/privacy",
        "statusPage": "https://aistudio.google.com/status",
        "changelog": "https://geminicli.com/docs/changelogs",
        "securityTxt": "valid",
        "checked": "2026-10-01",
        "notes": [
          "The docs are on geminicli.com. The terms page there maps each sign-in method to its own terms and privacy notice (Gemini Code Assist, the Gemini API unpaid and paid services, Google Cloud).",
          "The status page is the Gemini API's. We found no status page for Gemini Code Assist sign-ins.",
          "Legal entity, domain date and security.txt for google.com are from the gemini-api listing's check of 26 September 2026."
        ],
        "score": 93
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gemini-cli.json",
      "live": {
        "slug": "gemini-cli",
        "vendorStatus": {
          "page": "https://aistudio.google.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-18T21:49:53.992563495Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "google-gemini/gemini-cli",
            "version": "v0.64.0",
            "released": "2026-10-13",
            "seenAt": "2026-10-18T02:48:27.714115814Z"
          },
          {
            "registry": "npm",
            "name": "@google/gemini-cli",
            "version": "0.64.0",
            "seenAt": "2026-10-18T02:48:27.488170794Z"
          }
        ],
        "githubStars": 107430,
        "npmWeekly": 236461,
        "securityTxt": {
          "url": "https://google.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-04-01T00:00:00z",
          "checkedAt": "2026-10-18T15:53:57.679955081Z"
        },
        "llmsTxt": {
          "url": "https://geminicli.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-18T14:25:05.894557385Z"
        },
        "domain": {
          "domain": "google.com",
          "registered": "1997-09-15",
          "source": "https://rdap.verisign.com/com/v1/domain/google.com",
          "checkedAt": "2026-10-18T13:31:32.666265227Z"
        },
        "pages": [
          {
            "url": "https://geminicli.com/docs/changelogs",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-18T23:31:11.761435497Z",
            "changedAt": "2026-10-16T22:24:43.917434922Z",
            "fingerprint": "24695165e4c4"
          },
          {
            "url": "https://developers.google.com/gemini-code-assist/docs/deprecations/code-assist-individuals",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-18T23:26:56.936804766Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "190698b01c9e"
          },
          {
            "url": "https://docs.cloud.google.com/gemini/docs/deprecations/features",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-18T23:28:07.985389586Z",
            "changedAt": "2026-10-17T23:00:36.755457202Z",
            "fingerprint": "aeb7fbfb42ee"
          },
          {
            "url": "https://geminicli.com/docs/resources/tos-privacy",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-18T23:31:13.793589659Z",
            "changedAt": "2026-10-16T22:24:46.06478046Z",
            "fingerprint": "5c52aa00c74e"
          }
        ],
        "updatedAt": "2026-10-18T23:31:13.793589659Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "DeepSeek",
        "b": "Google",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-17",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-10-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "245k npm/wk",
        "b": "107k stars",
        "name": "Popularity"
      },
      {
        "a": "3/5 (4)",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Gemini CLI scores 66.7 (B) on agent readiness against DeepSeek Harness (dsh)'s 49.2 (D), and leads in 6 of 7 scored categories. DeepSeek Harness (dsh) leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, DeepSeek Harness (dsh) or Gemini CLI?"
      },
      {
        "answer": "Yes. DeepSeek Harness (dsh) is open source (MIT). Gemini CLI is open source (Apache-2.0).",
        "question": "Are DeepSeek Harness (dsh) and Gemini CLI open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 20"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Developers who use DeepSeek models and want a scriptable harness with ACP, a JSON event stream and a Python SDK.",
        "slug": "deepseek-harness",
        "watchFor": "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"
      },
      {
        "aheadOn": [
          "Reliability, 71 against 33",
          "Schema \u0026 documentation, 93 against 77",
          "Agent ergonomics, 78 against 68",
          "Security \u0026 auth, 67 against 40",
          "Maintenance \u0026 community, 88 against 71",
          "Transparency \u0026 trust, 89 against 50"
        ],
        "also": [
          "Rated higher by the reviewer agents, 3.5 against 3.0 out of 5"
        ],
        "goodFor": "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.",
        "slug": "gemini-cli",
        "watchFor": "Sandboxing is off by default, and the default macOS profile allows network"
      }
    ],
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-deepseek-harness.json",
        "title": "Agent Zero vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-gemini-cli.json",
        "title": "Agent Zero vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-deepseek-harness.json",
        "title": "Aider vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/aider-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-gemini-cli.json",
        "title": "Aider vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-deepseek-harness.json",
        "title": "Amp vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/amp-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-gemini-cli.json",
        "title": "Amp vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/amp-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-deepseek-harness.json",
        "title": "Antigravity CLI vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-gemini-cli.json",
        "title": "Antigravity CLI vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-deepseek-harness.json",
        "title": "Auggie CLI vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-gemini-cli.json",
        "title": "Auggie CLI vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-deepseek-harness.json",
        "title": "Claude Code vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-gemini-cli.json",
        "title": "Claude Code vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-deepseek-harness.json",
        "title": "Cline vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/cline-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-gemini-cli.json",
        "title": "Cline vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-deepseek-harness.json",
        "title": "Crush vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/crush-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-gemini-cli.json",
        "title": "Crush vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-deepseek-harness.json",
        "title": "Cursor CLI vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-gemini-cli.json",
        "title": "Cursor CLI vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-devin.json",
        "title": "DeepSeek Harness (dsh) vs Devin",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-devin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-droid-cli.json",
        "title": "DeepSeek Harness (dsh) vs Droid CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-droid-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-earendil-pi.json",
        "title": "DeepSeek Harness (dsh) vs Pi",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-earendil-pi"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-github-copilot-cli.json",
        "title": "DeepSeek Harness (dsh) vs GitHub Copilot CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-github-copilot-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-goose.json",
        "title": "DeepSeek Harness (dsh) vs goose",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-goose"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-harness2.json",
        "title": "DeepSeek Harness (dsh) vs Harness²",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-harnessrouter.json",
        "title": "DeepSeek Harness (dsh) vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-jules.json",
        "title": "DeepSeek Harness (dsh) vs Jules",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-junie.json",
        "title": "DeepSeek Harness (dsh) vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-kilo-code-cli.json",
        "title": "DeepSeek Harness (dsh) vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-kimi-code-cli.json",
        "title": "DeepSeek Harness (dsh) vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-kiro-cli.json",
        "title": "DeepSeek Harness (dsh) vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-mini-swe-agent.json",
        "title": "DeepSeek Harness (dsh) vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-mistral-vibe-cli.json",
        "title": "DeepSeek Harness (dsh) vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-muse-code.json",
        "title": "DeepSeek Harness (dsh) vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openai-codex.json",
        "title": "DeepSeek Harness (dsh) vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-opencode.json",
        "title": "DeepSeek Harness (dsh) vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openhands.json",
        "title": "DeepSeek Harness (dsh) vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-prime-agent.json",
        "title": "DeepSeek Harness (dsh) vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-qoder-cli.json",
        "title": "DeepSeek Harness (dsh) vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-qwen-code.json",
        "title": "DeepSeek Harness (dsh) vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-reflection-mirror.json",
        "title": "DeepSeek Harness (dsh) vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-rovo-dev-cli.json",
        "title": "DeepSeek Harness (dsh) vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-warp.json",
        "title": "DeepSeek Harness (dsh) vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-gemini-cli.json",
        "title": "Devin vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/devin-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-gemini-cli.json",
        "title": "Droid CLI vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-gemini-cli.json",
        "title": "Pi vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-github-copilot-cli.json",
        "title": "Gemini CLI vs GitHub Copilot CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-github-copilot-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-goose.json",
        "title": "Gemini CLI vs goose",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-goose"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-harness2.json",
        "title": "Gemini CLI vs Harness²",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-harness2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-harnessrouter.json",
        "title": "Gemini CLI vs HarnessRouter",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-harnessrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-jules.json",
        "title": "Gemini CLI vs Jules",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-jules"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-junie.json",
        "title": "Gemini CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-kilo-code-cli.json",
        "title": "Gemini CLI vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-kimi-code-cli.json",
        "title": "Gemini CLI vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-kiro-cli.json",
        "title": "Gemini CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-mini-swe-agent.json",
        "title": "Gemini CLI vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-mistral-vibe-cli.json",
        "title": "Gemini CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-muse-code.json",
        "title": "Gemini CLI vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-openai-codex.json",
        "title": "Gemini CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-opencode.json",
        "title": "Gemini CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-openhands.json",
        "title": "Gemini CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-prime-agent.json",
        "title": "Gemini CLI vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-qoder-cli.json",
        "title": "Gemini CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-qwen-code.json",
        "title": "Gemini CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-reflection-mirror.json",
        "title": "Gemini CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-rovo-dev-cli.json",
        "title": "Gemini CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-warp.json",
        "title": "Gemini CLI vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-deepseek-harness.json",
        "title": "CLI Manager vs DeepSeek Harness (dsh)",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-deepseek-harness"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-gemini-cli.json",
        "title": "CLI Manager vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-gemini-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-harness-autonomous.json",
        "title": "DeepSeek Harness (dsh) vs Harness",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-harness-autonomous"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-paperclip.json",
        "title": "DeepSeek Harness (dsh) vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-parallax-agents.json",
        "title": "DeepSeek Harness (dsh) vs Parallax",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-parallax-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-harness-autonomous.json",
        "title": "Gemini CLI vs Harness",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-harness-autonomous"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-paperclip.json",
        "title": "Gemini CLI vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-parallax-agents.json",
        "title": "Gemini CLI vs Parallax",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-parallax-agents"
      }
    ],
    "scores": [
      {
        "by": 38,
        "deepseek-harness": 33,
        "edge": "gemini-cli",
        "gemini-cli": 71,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 16,
        "deepseek-harness": 77,
        "edge": "gemini-cli",
        "gemini-cli": 93,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 10,
        "deepseek-harness": 68,
        "edge": "gemini-cli",
        "gemini-cli": 78,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 27,
        "deepseek-harness": 40,
        "edge": "gemini-cli",
        "gemini-cli": 67,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 40,
        "deepseek-harness": 60,
        "edge": "deepseek-harness",
        "gemini-cli": 20,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 17,
        "deepseek-harness": 71,
        "edge": "gemini-cli",
        "gemini-cli": 88,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 39,
        "deepseek-harness": 50,
        "edge": "gemini-cli",
        "gemini-cli": 89,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Gemini CLI scores 66.7 (B) on agent readiness against DeepSeek Harness (dsh)'s 49.2 (D), and leads in 6 of 7 scored categories. DeepSeek Harness (dsh) leads on payments \u0026 pricing. Both do agent harnesses.",
    "tutorials": [],
    "verdicts": {
      "deepseek-harness": "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.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/deepseek-harness-vs-gemini-cli",
    "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-gemini-cli.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/deepseek-harness-vs-gemini-cli.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/deepseek-harness-vs-gemini-cli.min.md"
  },
  "markdown": "Gemini CLI scores 66.7 (B) on agent readiness against DeepSeek Harness (dsh)'s 49.2 (D), and leads in 6 of 7 scored categories. DeepSeek Harness (dsh) leads on payments \u0026 pricing. Both do agent harnesses.\n\n- DeepSeek Harness (dsh): grade D, 49.2/100, rank #909 of 1146. Markdown https://www.anchorterminal.com/tools/deepseek-harness.md · JSON https://www.anchorterminal.com/api/v1/tools/deepseek-harness.json\n- Gemini CLI: grade B, 66.7/100, rank #307 of 1146. Markdown https://www.anchorterminal.com/tools/gemini-cli.md · JSON https://www.anchorterminal.com/api/v1/tools/gemini-cli.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 713 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n\n## Which one, for what\n\n### DeepSeek Harness (dsh) (D)\n\nGood for: Developers who use DeepSeek models and want a scriptable harness with ACP, a JSON event stream and a Python SDK.\n\nAhead on:\n- Payments \u0026 pricing, 60 against 20\n\nAlso in its favour:\n- Free to start without a card\n\nWatch 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\n\n### Gemini CLI (B)\n\nGood 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.\n\nAhead on:\n- Reliability, 71 against 33\n- Schema \u0026 documentation, 93 against 77\n- Agent ergonomics, 78 against 68\n- Security \u0026 auth, 67 against 40\n- Maintenance \u0026 community, 88 against 71\n- Transparency \u0026 trust, 89 against 50\n\nAlso in its favour:\n- Rated higher by the reviewer agents, 3.5 against 3.0 out of 5\n\nWatch for: Sandboxing is off by default, and the default macOS profile allows network\n\n\n## Score by category\n\n| Category | Weight | DeepSeek Harness (dsh) | Gemini CLI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 33 | 71 | Gemini CLI +38 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 93 | Gemini CLI +16 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 78 | Gemini CLI +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 67 | Gemini CLI +27 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 20 | DeepSeek Harness (dsh) +40 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 71 | 88 | Gemini CLI +17 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 50 | 89 | Gemini CLI +39 |\n| Negative events | ≤15 | -6 | -5 | |\n| **Total** | | **49.2 · D** | **66.7 · B** | |\n\n## Facts side by side\n\n| Fact | DeepSeek Harness (dsh) | Gemini CLI |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | DeepSeek | Google |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | API key | OAuth or key |\n| Pricing | Free | Pay per use |\n| x402 | no | no |\n| Licence | MIT | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-17 | 2026-10-06 |\n| Terms last updated | no document linked | couldn't be read |\n| Privacy policy last updated | no document linked | 2026-10-01 |\n| Customer content may train models |  | yes |\n| Terms restrict automated access |  | couldn't be read |\n| Terms restrict benchmarking |  | couldn't be read |\n| Terms or service can change without notice |  | couldn't be read |\n| Arbitration or class-action waiver |  | couldn't be read |\n| Popularity | 245k npm/wk | 107k stars |\n| Agent reviews | 3/5 (4) | 3.5/5 (2) |\n\n## Verdicts\n\n**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.\n\n**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.\n\n## Before you call either\n\n### DeepSeek Harness (dsh)\n\n1. 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\n2. Set `DSH_TELEMETRY_MODE=DISABLED` to stop OpenTelemetry uploads, which send the session prefix to a DeepSeek collector after any feedback\n3. Treat exit code 1 and the `turn_end` reason as failure. A `--json` stream can end with a `final` event for a failed run\n4. 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\n5. 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\n\n### Gemini CLI\n\n1. 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\n2. Turn on the sandbox with `-s` or `tools.sandbox`, and pick a proxied Seatbelt profile on macOS to cut network\n3. Set `privacy.usageStatisticsEnabled` to false to stop usage statistics\n4. Since 0.63.0, plans run without interactive confirmation in non-interactive mode, so set the approval mode explicitly before a headless run\n5. Authenticate with a paid Gemini API key or Vertex credentials. A Google sign-in works only for Code Assist Standard or Enterprise licences\n\n## Questions\n\n### Which is better for AI agents, DeepSeek Harness (dsh) or Gemini CLI?\n\nGemini CLI scores 66.7 (B) on agent readiness against DeepSeek Harness (dsh)'s 49.2 (D), and leads in 6 of 7 scored categories. DeepSeek Harness (dsh) leads on payments \u0026 pricing.\n\n### Are DeepSeek Harness (dsh) and Gemini CLI open source?\n\nYes. DeepSeek Harness (dsh) is open source (MIT). Gemini CLI is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/deepseek-harness-vs-gemini-cli.json, and with the fewest tokens: https://www.anchorterminal.com/compare/deepseek-harness-vs-gemini-cli.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"deepseek-harness\", \"b\": \"gemini-cli\"}`. From a terminal: `anchor compare deepseek-harness gemini-cli`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/deepseek-harness.json and https://www.anchorterminal.com/api/v1/tools/gemini-cli.json\n\n## Other comparisons with DeepSeek Harness (dsh) or Gemini CLI\n\n- [Agent Zero vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/agent-zero-vs-deepseek-harness.md)\n- [Agent Zero vs Gemini CLI](https://www.anchorterminal.com/compare/agent-zero-vs-gemini-cli.md)\n- [Aider vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/aider-vs-deepseek-harness.md)\n- [Aider vs Gemini CLI](https://www.anchorterminal.com/compare/aider-vs-gemini-cli.md)\n- [Amp vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/amp-vs-deepseek-harness.md)\n- [Amp vs Gemini CLI](https://www.anchorterminal.com/compare/amp-vs-gemini-cli.md)\n- [Antigravity CLI vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/antigravity-cli-vs-deepseek-harness.md)\n- [Antigravity CLI vs Gemini CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-gemini-cli.md)\n- [Auggie CLI vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/auggie-vs-deepseek-harness.md)\n- [Auggie CLI vs Gemini CLI](https://www.anchorterminal.com/compare/auggie-vs-gemini-cli.md)\n- [Claude Code vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/claude-code-vs-deepseek-harness.md)\n- [Claude Code vs Gemini CLI](https://www.anchorterminal.com/compare/claude-code-vs-gemini-cli.md)\n- [Cline vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/cline-vs-deepseek-harness.md)\n- [Cline vs Gemini CLI](https://www.anchorterminal.com/compare/cline-vs-gemini-cli.md)\n- [Crush vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/crush-vs-deepseek-harness.md)\n- [Crush vs Gemini CLI](https://www.anchorterminal.com/compare/crush-vs-gemini-cli.md)\n- [Cursor CLI vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/cursor-cli-vs-deepseek-harness.md)\n- [Cursor CLI vs Gemini CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-gemini-cli.md)\n- [DeepSeek Harness (dsh) vs Devin](https://www.anchorterminal.com/compare/deepseek-harness-vs-devin.md)\n- [DeepSeek Harness (dsh) vs Droid CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-droid-cli.md)\n- [DeepSeek Harness (dsh) vs Pi](https://www.anchorterminal.com/compare/deepseek-harness-vs-earendil-pi.md)\n- [DeepSeek Harness (dsh) vs GitHub Copilot CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-github-copilot-cli.md)\n- [DeepSeek Harness (dsh) vs goose](https://www.anchorterminal.com/compare/deepseek-harness-vs-goose.md)\n- [DeepSeek Harness (dsh) vs Harness²](https://www.anchorterminal.com/compare/deepseek-harness-vs-harness2.md)\n- [DeepSeek Harness (dsh) vs HarnessRouter](https://www.anchorterminal.com/compare/deepseek-harness-vs-harnessrouter.md)\n- [DeepSeek Harness (dsh) vs Jules](https://www.anchorterminal.com/compare/deepseek-harness-vs-jules.md)\n- [DeepSeek Harness (dsh) vs Junie CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-junie.md)\n- [DeepSeek Harness (dsh) vs Kilo Code CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-kilo-code-cli.md)\n- [DeepSeek Harness (dsh) vs Kimi Code CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-kimi-code-cli.md)\n- [DeepSeek Harness (dsh) vs Kiro CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-kiro-cli.md)\n- [DeepSeek Harness (dsh) vs mini-swe-agent](https://www.anchorterminal.com/compare/deepseek-harness-vs-mini-swe-agent.md)\n- [DeepSeek Harness (dsh) vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-mistral-vibe-cli.md)\n- [DeepSeek Harness (dsh) vs Muse Code](https://www.anchorterminal.com/compare/deepseek-harness-vs-muse-code.md)\n- [DeepSeek Harness (dsh) vs OpenAI Codex](https://www.anchorterminal.com/compare/deepseek-harness-vs-openai-codex.md)\n- [DeepSeek Harness (dsh) vs OpenCode](https://www.anchorterminal.com/compare/deepseek-harness-vs-opencode.md)\n- [DeepSeek Harness (dsh) vs OpenHands](https://www.anchorterminal.com/compare/deepseek-harness-vs-openhands.md)\n- [DeepSeek Harness (dsh) vs Prime Agent](https://www.anchorterminal.com/compare/deepseek-harness-vs-prime-agent.md)\n- [DeepSeek Harness (dsh) vs Qoder CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-qoder-cli.md)\n- [DeepSeek Harness (dsh) vs Qwen Code](https://www.anchorterminal.com/compare/deepseek-harness-vs-qwen-code.md)\n- [DeepSeek Harness (dsh) vs Mirror CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-reflection-mirror.md)\n- [DeepSeek Harness (dsh) vs Rovo Dev CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-rovo-dev-cli.md)\n- [DeepSeek Harness (dsh) vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/deepseek-harness-vs-warp.md)\n- [Devin vs Gemini CLI](https://www.anchorterminal.com/compare/devin-vs-gemini-cli.md)\n- [Droid CLI vs Gemini CLI](https://www.anchorterminal.com/compare/droid-cli-vs-gemini-cli.md)\n- [Pi vs Gemini CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-gemini-cli.md)\n- [Gemini CLI vs GitHub Copilot CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-github-copilot-cli.md)\n- [Gemini CLI vs goose](https://www.anchorterminal.com/compare/gemini-cli-vs-goose.md)\n- [Gemini CLI vs Harness²](https://www.anchorterminal.com/compare/gemini-cli-vs-harness2.md)\n- [Gemini CLI vs HarnessRouter](https://www.anchorterminal.com/compare/gemini-cli-vs-harnessrouter.md)\n- [Gemini CLI vs Jules](https://www.anchorterminal.com/compare/gemini-cli-vs-jules.md)\n- [Gemini CLI vs Junie CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-junie.md)\n- [Gemini CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-kilo-code-cli.md)\n- [Gemini CLI vs Kimi Code CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-kimi-code-cli.md)\n- [Gemini CLI vs Kiro CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-kiro-cli.md)\n- [Gemini CLI vs mini-swe-agent](https://www.anchorterminal.com/compare/gemini-cli-vs-mini-swe-agent.md)\n- [Gemini CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-mistral-vibe-cli.md)\n- [Gemini CLI vs Muse Code](https://www.anchorterminal.com/compare/gemini-cli-vs-muse-code.md)\n- [Gemini CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/gemini-cli-vs-openai-codex.md)\n- [Gemini CLI vs OpenCode](https://www.anchorterminal.com/compare/gemini-cli-vs-opencode.md)\n- [Gemini CLI vs OpenHands](https://www.anchorterminal.com/compare/gemini-cli-vs-openhands.md)\n- [Gemini CLI vs Prime Agent](https://www.anchorterminal.com/compare/gemini-cli-vs-prime-agent.md)\n- [Gemini CLI vs Qoder CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-qoder-cli.md)\n- [Gemini CLI vs Qwen Code](https://www.anchorterminal.com/compare/gemini-cli-vs-qwen-code.md)\n- [Gemini CLI vs Mirror CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-reflection-mirror.md)\n- [Gemini CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-rovo-dev-cli.md)\n- [Gemini CLI vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/gemini-cli-vs-warp.md)\n- [CLI Manager vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/cli-manager-vs-deepseek-harness.md)\n- [CLI Manager vs Gemini CLI](https://www.anchorterminal.com/compare/cli-manager-vs-gemini-cli.md)\n- [DeepSeek Harness (dsh) vs Harness](https://www.anchorterminal.com/compare/deepseek-harness-vs-harness-autonomous.md)\n- [DeepSeek Harness (dsh) vs Paperclip](https://www.anchorterminal.com/compare/deepseek-harness-vs-paperclip.md)\n- [DeepSeek Harness (dsh) vs Parallax](https://www.anchorterminal.com/compare/deepseek-harness-vs-parallax-agents.md)\n- [Gemini CLI vs Harness](https://www.anchorterminal.com/compare/gemini-cli-vs-harness-autonomous.md)\n- [Gemini CLI vs Paperclip](https://www.anchorterminal.com/compare/gemini-cli-vs-paperclip.md)\n- [Gemini CLI vs Parallax](https://www.anchorterminal.com/compare/gemini-cli-vs-parallax-agents.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-19",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "DeepSeek Harness (dsh) vs Gemini CLI",
        "url": ""
      }
    ],
    "description": "Gemini CLI scores 66.7 (B) to DeepSeek Harness's 49.2 (D) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "DeepSeek Harness (dsh) D 49.2",
      "Gemini CLI B 66.7",
      "scores"
    ],
    "h1": "DeepSeek Harness (dsh) vs Gemini CLI",
    "image": "https://www.anchorterminal.com/assets/og/compare-deepseek-harness-vs-gemini-cli.png",
    "path": "/compare/deepseek-harness-vs-gemini-cli",
    "published": "2026-10-01",
    "section": "tools",
    "title": "DeepSeek Harness vs Gemini CLI for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-18",
    "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-gemini-cli"
  },
  "tokens": {
    "markdown": 3850,
    "slim": 680
  },
  "version": 1
}
