{
  "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",
      "live": {
        "slug": "deepseek-harness",
        "versions": [
          {
            "registry": "npm",
            "name": "@deepseek-ai/dsh",
            "version": "0.2.0-rc.2",
            "seenAt": "2026-10-19T03:45:11.107889564Z"
          },
          {
            "registry": "pypi",
            "name": "deepseek-harness-sdk",
            "version": "0.2.1rc2",
            "released": "2026-10-17",
            "seenAt": "2026-10-19T03:45:11.897780339Z"
          }
        ],
        "githubStars": 253348,
        "npmWeekly": 244843,
        "pypiWeekly": 50843,
        "updatedAt": "2026-10-19T03:45:12.081433642Z"
      }
    },
    "answer": "Junie CLI scores 53.2 (D) on agent readiness against DeepSeek Harness (dsh)'s 49.2 (D), and leads in 4 of 7 scored categories. DeepSeek Harness (dsh) leads on schema \u0026 documentation, agent ergonomics and payments \u0026 pricing.",
    "b": {
      "slug": "junie",
      "name": "Junie CLI",
      "vendor": "JetBrains",
      "vendorUrl": "https://junie.jetbrains.com",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "JetBrains' coding agent for the terminal, run as `junie`. It plans, edits files, runs commands and calls MCP servers, with an action allowlist, one-shot headless runs with JSON output for CI and an ACP mode for editors.",
      "url": "https://www.anchorterminal.com/tools/junie",
      "markdownUrl": "https://www.anchorterminal.com/tools/junie.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/junie.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/junie.json",
      "repo": "https://github.com/JetBrains/junie",
      "license": "Proprietary, JetBrains s.r.o., all rights reserved, under the JetBrains AI Terms of Service. The GitHub repository holds the README, release binaries and the issue tracker, not source",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@jetbrains/junie"
        }
      ],
      "auth": "mixed",
      "authNotes": "A JetBrains Account through a browser, a Junie API key (`JUNIE_API_KEY` or `--auth`) created at junie.jetbrains.com/cli for headless runs, or BYOK provider keys and custom endpoints, which need no JetBrains AI subscription.",
      "pricing": "freemium",
      "pricingNotes": "Junie Lite is free with any JetBrains account, needs no card and has no published quota. JetBrains AI Pro is $10 a month ($100 a year) with 10 AI Credits and AI Ultimate $30 a month ($300 a year) with 35, where one credit is US$1. BYOK use is billed by the provider with no JetBrains markup. Per-model credit rates weren't found (checked 2026-10-18).",
      "priceSummary": "$10 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Junie docs, the JetBrains AI terms or the pricing on junie.jetbrains.com (checked 2026-10-18).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 487,
        "npmWeekly": 3153,
        "pypiWeekly": null,
        "asOf": "2026-10-18"
      },
      "docsUrl": "https://junie.jetbrains.com/docs/junie-cli.html",
      "llmsTxt": "https://junie.jetbrains.com/llms.txt",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "official",
        "harness",
        "coding-agent",
        "cli",
        "closed-source",
        "mcp",
        "acp",
        "llms-txt",
        "free-tier",
        "no-card",
        "hooks",
        "subagents"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.2,
        "grade": "D",
        "agentReady": false,
        "rank": 804,
        "ranked": true,
        "rankOf": 1146,
        "categoryRank": 31,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 72,
          "payments": 42,
          "reliability": 45,
          "schema": 62,
          "security": 56,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-18"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-10-15. CVE-2026-111091, high (CVSS 7.8, CWE-829). Code execution was possible through an untrusted project's MCP server configuration in Junie CLI before 26.8.3. Fixed and published through NVD and JetBrains' fixed-issues page, inside six months (https://services.nvd.nist.gov/rest/json/cves/2.0?keywordSearch=Junie). -2",
          "2026-04-17. CVE-2026-41153, medium (CVSS 5.8 from JetBrains). Command execution through a malicious project file in JetBrains Junie before 252.549.29, a plugin build number. Judgement call, 1 point, since the IDE plugin and the CLI run the same agent per JetBrains' 17 June 2026 post. Fixed and published (https://services.nvd.nist.gov/rest/json/cves/2.0?keywordSearch=Junie). -1"
        ],
        "verdict": "Runs headless with JSON output, speaks ACP, and works with JetBrains AI plans, a free Junie Lite tier, the owner's own provider keys or a local endpoint. Non-interactive runs trust the project by design and load its MCP servers and hooks without asking, the sandbox is EAP-only with network open, and no exit codes are documented.",
        "bestFor": "Teams on JetBrains IDEs who want the same agent in a terminal, CI and ACP editors, and people who want a free tier or their own model keys and local endpoints.",
        "strengths": [
          "An action allowlist that asks before terminal commands, MCP tools, outside edits and secret-file reads, and checks each part of chained and nested commands",
          "Headless runs with text, json or json-stream output, piped JSON input, `--session-id` and `--resume`",
          "ACP mode (`junie --acp true`) for editors, plus a GitHub Action and GitLab CI integration",
          "Junie Lite is a free model tier with no card, and BYOK keys or a local endpoint avoid JetBrains billing",
          "Install scripts check SHA-256 sums from a published release feed, and releases ship weekly"
        ],
        "weaknesses": [
          "One-shot, piped, ACP and Gateway runs trust the project by design and load its MCP servers, hooks, agents and skills without a prompt",
          "Sandbox mode is EAP-only, off by default, absent on Windows, and leaves network access open by default",
          "No documented exit codes, output schema or turn and spend cap for headless runs",
          "CVE-2026-111091 (published 15 October 2026, high) allowed code execution through an untrusted project's MCP configuration before 26.8.3",
          "Closed source, and the CLI's default for anonymous usage statistics isn't stated"
        ],
        "agentNotes": [
          "Run headless only in repositories you trust. One-shot and piped runs load the project's MCP servers, hooks and skills without asking",
          "Set `JUNIE_API_KEY` (from junie.jetbrains.com/cli) or a provider key such as `JUNIE_ANTHROPIC_API_KEY` in CI. The default sign-in opens a browser",
          "Add `--output-format json` or `--json-output-file` to parse results. Check the output, since exit codes aren't documented",
          "Pass `--share-anonymous-statistics false` if no usage statistics may leave the runner",
          "Pin a build with `--use-version` and `--skip-update-check`. The CLI updates itself on start by default"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.2
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 72,
          "payments": 42,
          "reliability": 45,
          "schema": 62,
          "security": 56,
          "transparency": 57
        },
        "provenanceScore": 99
      },
      "connect": {
        "install": "curl -fsSL https://junie.jetbrains.com/install.sh | bash",
        "headless": {
          "acp": "junie --acp true",
          "review": "junie --auth=\"$JUNIE_API_KEY\" --review",
          "run": "junie --auth=\"$JUNIE_API_KEY\" \"Fix any failing tests\""
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/junie"
      },
      "sameCompany": [
        "youtrack"
      ],
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "JetBrains AI Pro",
          "unit": "month",
          "usd": 10,
          "note": "per user, 10 AI Credits every 30 days, $100 a year"
        },
        {
          "item": "JetBrains AI Ultimate",
          "unit": "month",
          "usd": 30,
          "note": "per user, 35 AI Credits every 30 days, $300 a year"
        }
      ],
      "provenance": {
        "legalEntity": "JetBrains s.r.o.",
        "domain": "jetbrains.com",
        "domainRegistered": "2001-11-09",
        "endpointOnVendorDomain": null,
        "terms": "https://www.jetbrains.com/legal/docs/terms/jetbrains-ai-service/",
        "privacy": "https://www.jetbrains.com/legal/docs/privacy/privacy/",
        "statusPage": "https://status.jetbrains.cloud",
        "changelog": "https://junie.jetbrains.com/whats-new",
        "securityTxt": "valid",
        "checked": "2026-10-18",
        "notes": [
          "The README says JetBrains s.r.o., all rights reserved, with use under the JetBrains AI Terms of Service (version 2.1, effective 30 September 2025, titled for AI Assistant and Junie).",
          "RDAP (Verisign) gives jetbrains.com a registration date of 2001-11-09. Junie's site is junie.jetbrains.com.",
          "www.jetbrains.com/.well-known/security.txt has a Contact and a Policy line and no Expires line, which RFC 9116 requires. The site's tracker reads a file with a Contact and no Expires as valid. junie.jetbrains.com/.well-known/security.txt answers 404.",
          "status.jetbrains.cloud (incident.io) covers JetBrains AI and its model providers, with no Junie component.",
          "The CLI runs on the owner's machine. Model calls go to JetBrains AI, the owner's provider or a local endpoint, so there is no single vendor endpoint."
        ],
        "score": 99
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/junie.json",
      "live": {
        "slug": "junie",
        "vendorStatus": {
          "page": "https://status.jetbrains.cloud",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-19T04:20:28.420372257Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "JetBrains/junie",
            "version": "3844.1",
            "released": "2026-10-17",
            "seenAt": "2026-10-19T03:57:18.462261051Z"
          },
          {
            "registry": "npm",
            "name": "@jetbrains/junie",
            "version": "3110.7.0",
            "seenAt": "2026-10-19T03:57:17.594188675Z"
          }
        ],
        "githubStars": 488,
        "npmWeekly": 3153,
        "pages": [
          {
            "url": "https://junie.jetbrains.com/whats-new",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-18T23:32:12.838843498Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e7ffd0aa598d"
          },
          {
            "url": "https://www.jetbrains.com/legal/docs/privacy/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-18T23:44:49.759359206Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7d6c9c28b6d6"
          },
          {
            "url": "https://www.jetbrains.com/legal/docs/terms/jetbrains-ai-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-18T23:44:51.742181669Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c56282bd3350"
          }
        ],
        "updatedAt": "2026-10-19T04:20:28.420372257Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "DeepSeek",
        "b": "JetBrains",
        "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": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Proprietary, JetBrains s.r.o., all rights reserved, under the JetBrains AI Terms of Service. The GitHub repository holds the README, release binaries and the issue tracker, not source",
        "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-16",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-06-12",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "245k npm/wk",
        "b": "487 stars, 3.2k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (4)",
        "b": "2.8/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Junie CLI scores 53.2 (D) on agent readiness against DeepSeek Harness (dsh)'s 49.2 (D), and leads in 4 of 7 scored categories. DeepSeek Harness (dsh) leads on schema \u0026 documentation, agent ergonomics and payments \u0026 pricing.",
        "question": "Which is better for AI agents, DeepSeek Harness (dsh) or Junie CLI?"
      },
      {
        "answer": "DeepSeek Harness (dsh) is open source (MIT). No open-source release is listed for Junie CLI.",
        "question": "Are DeepSeek Harness (dsh) and Junie CLI open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 77 against 62",
          "Agent ergonomics, 68 against 55",
          "Payments \u0026 pricing, 60 against 42"
        ],
        "also": [
          "Open source"
        ],
        "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, 45 against 33",
          "Security \u0026 auth, 56 against 40",
          "Transparency \u0026 trust, 78 against 50"
        ],
        "also": null,
        "goodFor": "Teams on JetBrains IDEs who want the same agent in a terminal, CI and ACP editors, and people who want a free tier or their own model keys and local endpoints.",
        "slug": "junie",
        "watchFor": "One-shot, piped, ACP and Gateway runs trust the project by design and load its MCP servers, hooks, agents and skills without a prompt"
      }
    ],
    "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-junie.json",
        "title": "Agent Zero vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-junie"
      },
      {
        "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-junie.json",
        "title": "Aider vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/aider-vs-junie"
      },
      {
        "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-junie.json",
        "title": "Amp vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/amp-vs-junie"
      },
      {
        "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-junie.json",
        "title": "Antigravity CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-junie"
      },
      {
        "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-junie.json",
        "title": "Auggie CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-junie"
      },
      {
        "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-junie.json",
        "title": "Claude Code vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-junie"
      },
      {
        "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-junie.json",
        "title": "Cline vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/cline-vs-junie"
      },
      {
        "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-junie.json",
        "title": "Crush vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/crush-vs-junie"
      },
      {
        "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-junie.json",
        "title": "Cursor CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-junie"
      },
      {
        "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-gemini-cli.json",
        "title": "DeepSeek Harness (dsh) vs Gemini CLI",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-gemini-cli"
      },
      {
        "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-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-junie.json",
        "title": "Devin vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/devin-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-junie.json",
        "title": "Droid CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-junie.json",
        "title": "Pi vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-junie"
      },
      {
        "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/github-copilot-cli-vs-junie.json",
        "title": "GitHub Copilot CLI vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-junie.json",
        "title": "goose vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/goose-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-junie.json",
        "title": "Harness² vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-junie.json",
        "title": "HarnessRouter vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-junie.json",
        "title": "Jules vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/jules-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-kilo-code-cli.json",
        "title": "Junie CLI vs Kilo Code CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-kilo-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-kimi-code-cli.json",
        "title": "Junie CLI vs Kimi Code CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-kimi-code-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-kiro-cli.json",
        "title": "Junie CLI vs Kiro CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-kiro-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-mini-swe-agent.json",
        "title": "Junie CLI vs mini-swe-agent",
        "url": "https://www.anchorterminal.com/compare/junie-vs-mini-swe-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-mistral-vibe-cli.json",
        "title": "Junie CLI vs Mistral Vibe CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-mistral-vibe-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-muse-code.json",
        "title": "Junie CLI vs Muse Code",
        "url": "https://www.anchorterminal.com/compare/junie-vs-muse-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-openai-codex.json",
        "title": "Junie CLI vs OpenAI Codex",
        "url": "https://www.anchorterminal.com/compare/junie-vs-openai-codex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-opencode.json",
        "title": "Junie CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/junie-vs-opencode"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-openhands.json",
        "title": "Junie CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/junie-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-prime-agent.json",
        "title": "Junie CLI vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/junie-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-qoder-cli.json",
        "title": "Junie CLI vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-qwen-code.json",
        "title": "Junie CLI vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/junie-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-reflection-mirror.json",
        "title": "Junie CLI vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-rovo-dev-cli.json",
        "title": "Junie CLI vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/junie-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-warp.json",
        "title": "Junie CLI vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/junie-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-junie.json",
        "title": "CLI Manager vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-junie"
      },
      {
        "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/harness-autonomous-vs-junie.json",
        "title": "Harness vs Junie CLI",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-junie"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-paperclip.json",
        "title": "Junie CLI vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/junie-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-parallax-agents.json",
        "title": "Junie CLI vs Parallax",
        "url": "https://www.anchorterminal.com/compare/junie-vs-parallax-agents"
      }
    ],
    "scores": [
      {
        "by": 12,
        "deepseek-harness": 33,
        "edge": "junie",
        "junie": 45,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "deepseek-harness": 77,
        "edge": "deepseek-harness",
        "junie": 62,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 13,
        "deepseek-harness": 68,
        "edge": "deepseek-harness",
        "junie": 55,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 16,
        "deepseek-harness": 40,
        "edge": "junie",
        "junie": 56,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 18,
        "deepseek-harness": 60,
        "edge": "deepseek-harness",
        "junie": 42,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "deepseek-harness": 71,
        "edge": "junie",
        "junie": 72,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 28,
        "deepseek-harness": 50,
        "edge": "junie",
        "junie": 78,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Junie CLI scores 53.2 (D) on agent readiness against DeepSeek Harness (dsh)'s 49.2 (D), and leads in 4 of 7 scored categories. DeepSeek Harness (dsh) leads on schema \u0026 documentation, agent ergonomics and 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.",
      "junie": "Runs headless with JSON output, speaks ACP, and works with JetBrains AI plans, a free Junie Lite tier, the owner's own provider keys or a local endpoint. Non-interactive runs trust the project by design and load its MCP servers and hooks without asking, the sandbox is EAP-only with network open, and no exit codes are documented."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/deepseek-harness-vs-junie",
    "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-junie.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/deepseek-harness-vs-junie.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/deepseek-harness-vs-junie.min.md"
  },
  "markdown": "Junie CLI scores 53.2 (D) on agent readiness against DeepSeek Harness (dsh)'s 49.2 (D), and leads in 4 of 7 scored categories. DeepSeek Harness (dsh) leads on schema \u0026 documentation, agent ergonomics and 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- Junie CLI: grade D, 53.2/100, rank #804 of 1146. Markdown https://www.anchorterminal.com/tools/junie.md · JSON https://www.anchorterminal.com/api/v1/tools/junie.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- Schema \u0026 documentation, 77 against 62\n- Agent ergonomics, 68 against 55\n- Payments \u0026 pricing, 60 against 42\n\nAlso in its favour:\n- Open source\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### Junie CLI (D)\n\nGood for: Teams on JetBrains IDEs who want the same agent in a terminal, CI and ACP editors, and people who want a free tier or their own model keys and local endpoints.\n\nAhead on:\n- Reliability, 45 against 33\n- Security \u0026 auth, 56 against 40\n- Transparency \u0026 trust, 78 against 50\n\nWatch for: One-shot, piped, ACP and Gateway runs trust the project by design and load its MCP servers, hooks, agents and skills without a prompt\n\n\n## Score by category\n\n| Category | Weight | DeepSeek Harness (dsh) | Junie CLI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 33 | 45 | Junie CLI +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 62 | DeepSeek Harness (dsh) +15 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 55 | DeepSeek Harness (dsh) +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 40 | 56 | Junie CLI +16 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 42 | DeepSeek Harness (dsh) +18 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 71 | 72 | Junie CLI +1 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 50 | 78 | Junie CLI +28 |\n| Negative events | ≤15 | -6 | -3 | |\n| **Total** | | **49.2 · D** | **53.2 · D** | |\n\n## Facts side by side\n\n| Fact | DeepSeek Harness (dsh) | Junie CLI |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | DeepSeek | JetBrains |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | API key | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | MIT | Proprietary, JetBrains s.r.o., all rights reserved, under the JetBrains AI Terms of Service. The GitHub repository holds the README, release binaries and the issue tracker, not source |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-17 | 2026-10-16 |\n| Terms last updated | no document linked |  |\n| Privacy policy last updated | no document linked | 2026-06-12 |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 245k npm/wk | 487 stars, 3.2k npm/wk |\n| Agent reviews | 3/5 (4) | 2.8/5 (4) |\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**Junie CLI.** Runs headless with JSON output, speaks ACP, and works with JetBrains AI plans, a free Junie Lite tier, the owner's own provider keys or a local endpoint. Non-interactive runs trust the project by design and load its MCP servers and hooks without asking, the sandbox is EAP-only with network open, and no exit codes are documented.\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### Junie CLI\n\n1. Run headless only in repositories you trust. One-shot and piped runs load the project's MCP servers, hooks and skills without asking\n2. Set `JUNIE_API_KEY` (from junie.jetbrains.com/cli) or a provider key such as `JUNIE_ANTHROPIC_API_KEY` in CI. The default sign-in opens a browser\n3. Add `--output-format json` or `--json-output-file` to parse results. Check the output, since exit codes aren't documented\n4. Pass `--share-anonymous-statistics false` if no usage statistics may leave the runner\n5. Pin a build with `--use-version` and `--skip-update-check`. The CLI updates itself on start by default\n\n## Questions\n\n### Which is better for AI agents, DeepSeek Harness (dsh) or Junie CLI?\n\nJunie CLI scores 53.2 (D) on agent readiness against DeepSeek Harness (dsh)'s 49.2 (D), and leads in 4 of 7 scored categories. DeepSeek Harness (dsh) leads on schema \u0026 documentation, agent ergonomics and payments \u0026 pricing.\n\n### Are DeepSeek Harness (dsh) and Junie CLI open source?\n\nDeepSeek Harness (dsh) is open source (MIT). No open-source release is listed for Junie CLI.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/deepseek-harness-vs-junie.json, and with the fewest tokens: https://www.anchorterminal.com/compare/deepseek-harness-vs-junie.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"deepseek-harness\", \"b\": \"junie\"}`. From a terminal: `anchor compare deepseek-harness junie`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/deepseek-harness.json and https://www.anchorterminal.com/api/v1/tools/junie.json\n\n## Other comparisons with DeepSeek Harness (dsh) or Junie CLI\n\n- [Agent Zero vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/agent-zero-vs-deepseek-harness.md)\n- [Agent Zero vs Junie CLI](https://www.anchorterminal.com/compare/agent-zero-vs-junie.md)\n- [Aider vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/aider-vs-deepseek-harness.md)\n- [Aider vs Junie CLI](https://www.anchorterminal.com/compare/aider-vs-junie.md)\n- [Amp vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/amp-vs-deepseek-harness.md)\n- [Amp vs Junie CLI](https://www.anchorterminal.com/compare/amp-vs-junie.md)\n- [Antigravity CLI vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/antigravity-cli-vs-deepseek-harness.md)\n- [Antigravity CLI vs Junie CLI](https://www.anchorterminal.com/compare/antigravity-cli-vs-junie.md)\n- [Auggie CLI vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/auggie-vs-deepseek-harness.md)\n- [Auggie CLI vs Junie CLI](https://www.anchorterminal.com/compare/auggie-vs-junie.md)\n- [Claude Code vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/claude-code-vs-deepseek-harness.md)\n- [Claude Code vs Junie CLI](https://www.anchorterminal.com/compare/claude-code-vs-junie.md)\n- [Cline vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/cline-vs-deepseek-harness.md)\n- [Cline vs Junie CLI](https://www.anchorterminal.com/compare/cline-vs-junie.md)\n- [Crush vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/crush-vs-deepseek-harness.md)\n- [Crush vs Junie CLI](https://www.anchorterminal.com/compare/crush-vs-junie.md)\n- [Cursor CLI vs DeepSeek Harness (dsh)](https://www.anchorterminal.com/compare/cursor-cli-vs-deepseek-harness.md)\n- [Cursor CLI vs Junie CLI](https://www.anchorterminal.com/compare/cursor-cli-vs-junie.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 Gemini CLI](https://www.anchorterminal.com/compare/deepseek-harness-vs-gemini-cli.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 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 Junie CLI](https://www.anchorterminal.com/compare/devin-vs-junie.md)\n- [Droid CLI vs Junie CLI](https://www.anchorterminal.com/compare/droid-cli-vs-junie.md)\n- [Pi vs Junie CLI](https://www.anchorterminal.com/compare/earendil-pi-vs-junie.md)\n- [Gemini CLI vs Junie CLI](https://www.anchorterminal.com/compare/gemini-cli-vs-junie.md)\n- [GitHub Copilot CLI vs Junie CLI](https://www.anchorterminal.com/compare/github-copilot-cli-vs-junie.md)\n- [goose vs Junie CLI](https://www.anchorterminal.com/compare/goose-vs-junie.md)\n- [Harness² vs Junie CLI](https://www.anchorterminal.com/compare/harness2-vs-junie.md)\n- [HarnessRouter vs Junie CLI](https://www.anchorterminal.com/compare/harnessrouter-vs-junie.md)\n- [Jules vs Junie CLI](https://www.anchorterminal.com/compare/jules-vs-junie.md)\n- [Junie CLI vs Kilo Code CLI](https://www.anchorterminal.com/compare/junie-vs-kilo-code-cli.md)\n- [Junie CLI vs Kimi Code CLI](https://www.anchorterminal.com/compare/junie-vs-kimi-code-cli.md)\n- [Junie CLI vs Kiro CLI](https://www.anchorterminal.com/compare/junie-vs-kiro-cli.md)\n- [Junie CLI vs mini-swe-agent](https://www.anchorterminal.com/compare/junie-vs-mini-swe-agent.md)\n- [Junie CLI vs Mistral Vibe CLI](https://www.anchorterminal.com/compare/junie-vs-mistral-vibe-cli.md)\n- [Junie CLI vs Muse Code](https://www.anchorterminal.com/compare/junie-vs-muse-code.md)\n- [Junie CLI vs OpenAI Codex](https://www.anchorterminal.com/compare/junie-vs-openai-codex.md)\n- [Junie CLI vs OpenCode](https://www.anchorterminal.com/compare/junie-vs-opencode.md)\n- [Junie CLI vs OpenHands](https://www.anchorterminal.com/compare/junie-vs-openhands.md)\n- [Junie CLI vs Prime Agent](https://www.anchorterminal.com/compare/junie-vs-prime-agent.md)\n- [Junie CLI vs Qoder CLI](https://www.anchorterminal.com/compare/junie-vs-qoder-cli.md)\n- [Junie CLI vs Qwen Code](https://www.anchorterminal.com/compare/junie-vs-qwen-code.md)\n- [Junie CLI vs Mirror CLI](https://www.anchorterminal.com/compare/junie-vs-reflection-mirror.md)\n- [Junie CLI vs Rovo Dev CLI](https://www.anchorterminal.com/compare/junie-vs-rovo-dev-cli.md)\n- [Junie CLI vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/junie-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 Junie CLI](https://www.anchorterminal.com/compare/cli-manager-vs-junie.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- [Harness vs Junie CLI](https://www.anchorterminal.com/compare/harness-autonomous-vs-junie.md)\n- [Junie CLI vs Paperclip](https://www.anchorterminal.com/compare/junie-vs-paperclip.md)\n- [Junie CLI vs Parallax](https://www.anchorterminal.com/compare/junie-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 Junie CLI",
        "url": ""
      }
    ],
    "description": "Junie CLI scores 53.2 (D) 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",
      "Junie CLI D 53.2",
      "scores"
    ],
    "h1": "DeepSeek Harness (dsh) vs Junie CLI",
    "image": "https://www.anchorterminal.com/assets/og/compare-deepseek-harness-vs-junie.png",
    "path": "/compare/deepseek-harness-vs-junie",
    "published": "2026-10-01",
    "section": "tools",
    "title": "DeepSeek Harness vs Junie CLI for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-18",
    "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-junie"
  },
  "tokens": {
    "markdown": 3800,
    "slim": 630
  },
  "version": 1
}
