Head to head · Agent harnesses · October 2026 research run

dsh-superagent (DeepSeek) vs Junie CLI

Junie CLI scores 53.1 (D) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in 6 of 7 scored categories. dsh-superagent (DeepSeek) leads on agent ergonomics. Both do agent harnesses.

Best agent harnesses and coding agents · All 955 harnesses comparisons

Which one, for what

dsh-superagent (DeepSeek) E

Best for Teams on github.com that want a DeepSeek Harness agent to turn allowed people's issue requests into pull requests, run on an isolated machine or OS account.

Ahead on

  • Agent ergonomics, 67 against 55

Also in its favour

  • Open source
  • No incidents deducted, where Junie CLI loses 3 points for them

Watch for

Executor and main Sessions run with danger-full-access as the operator's OS user, and the docs say a worker can read the operator's home directory

Junie CLI D

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

Ahead on

  • Reliability, 45 against 15
  • Security & auth, 56 against 33
  • Maintenance & community, 72 against 34
  • Transparency & trust, 77 against 52

Watch 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

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Maintenance & community Junie CLI +38

dsh-superagent (DeepSeek) 34

Published on 31 October 2026, within 30 days, read as the last published change since no tag or release was found (30). One publication, so not three releases in 90 days (0). Issues, pull requests and Discussions couldn't be read, and the README frames the code as a reference prototype adapted from an internal version (0). No official SDK or registry entry (0). Exact dependency pins and a lockfile, but no CI workflow found, and the docs pin DSH 0.2.1-rc.3 (23 October 2026) while npm latest is 0.2.1-rc.5 (29 October 2026) (4).

Junie CLI 72

Release 26.10.12 (3659.7) on 16 October 2026 (30). What's New lists builds on 6, 12, 13, 15 and 16 October alone, npm shows weekly versions from March, and the repository has 1,133 tags in 90 days, most of them nightly builds (20). A GitHub tracker with 6 open and 75 closed issues and 4 open and 40 closed pull requests, a public YouTrack project with 30 issues resolved in 30 days against 67 opened, mostly without replies on recent CLI reports, and a Discord server. Response times on GitHub couldn't be read (13). No SDK and no registry entry. The GitHub Action is at v1 and GitLab CI is documented, and ACP is kept current (6). Closed source with no workflow files in the repository, so no CI or dependency health to read. The installer checks sums, and npm is five weeks behind the release feed (3). 30+20+13+6+3 = 72.

Reliability Junie CLI +30

dsh-superagent (DeepSeek) 15

Local-package reading, since it runs as a DSH bundle on the operator's machine. Not published to npm (private: true in package.json, and the registry has no dsh-superagent). It installs from a git clone with pnpm install && pnpm build on top of @deepseek-ai/dsh@0.2.1-rc.3, with Node 22.19+ or 24+, git 2.32+, Python 3.8+, tmux and gh 2.48+ stated, so half credit (10). A vitest suite of about 25 spec files is listed in docs/007, and pnpm check runs the typecheck, tests and build. Two spec files were read on raw.githubusercontent.com. No CI workflow was found at five common paths under .github/workflows, and the directory couldn't be listed (5). Open issues couldn't be read, because github.com and api.github.com weren't reachable from our network. Unchecked, so scored absent (0). Version 0.1.0 with no tag, release or changelog found, so no semver record (0). A research prototype, not stable (0).

Junie CLI 45

Local-package reading, the same as the other closed-source harnesses. Install scripts for macOS, Linux and Windows on x86-64 and ARM64, a Homebrew tap and npm, with SHA-256 sums checked against a published feed, but the script carries on without a sum for an unlisted version and npm sits five weeks behind at 3110.7.0 (17). No public CI or test suite. No source is published and the repository has no workflow files (0). The GitHub tracker the README names had 6 open and 75 closed issues and 4 open and 40 closed pull requests on 18 October, though response times couldn't be read. JetBrains' YouTrack project JUNIE, which covers the plugin too, had 1,127 unresolved of 1,928 issues, with 67 opened and 30 resolved in the 30 days to 18 October, and most recent CLI reports had no reply (12). What's New dates every build, but entries are one line and no breaking change is called out, and versions are a date plus a build number. Retired flags are listed as deprecated compatibility options (6). JetBrains said Junie left Beta on 17 June 2026, but the headless page dated 15 October still calls the CLI an EAP, and hooks and sandbox mode are EAP-only (10). 17+0+12+6+10 = 45.

Transparency & trust Junie CLI +25

dsh-superagent (DeepSeek) 52

MIT, Copyright (c) 2026 DeepSeek Harness Team (30). The prototype has no data statement of its own. DeepSeek Harness's privacy policy (last updated 20 September 2026) names Hangzhou DeepSeek Artificial Intelligence Co., Ltd., says session logs are collected with official model services and may be used to train models with a right to opt out, and says custom model services aren't stored server-side. It agrees with DSH's session-log README, but neither is referred to from the prototype (12). No deprecation policy. The README says the published code differs from DeepSeek's internal version, and docs/006 warns that database migrations are one-way (3). Telemetry and the session-log upload are disclosed with opt-outs in DSH's own reference pages, not in this repository (6).

Junie CLI 77

Proprietary, with clear terms. The JetBrains AI Terms of Service (version 2.1, effective 30 September 2025) name AI Assistant and Junie, though the Junie EAP terms from December 2024 still call Junie a plugin (15). The terms rule out training on inputs without consent and list AI subcontractors with 30 days' notice of new ones (page updated 29 September 2026, naming OpenAI, Google, Anthropic and SpaceXAI for Junie). The AI FAQ says nothing persists unless detailed data collection is on, retained up to a year, and that it's on by default for non-commercial licences. Security monitoring keeps data for an unstated limited period (22). The terms promise 30 days' email notice before JetBrains AI is discontinued, but Junie Lite's model may change without notice and model aliases change without a stated period (10). A per-run override for anonymous statistics is documented, with no stated default and no list of what is sent (10). 15+22+10+10 = 57.

Security & auth Junie CLI +23

dsh-superagent (DeepSeek) 33

Harness reading of the framework checklist, 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. The superagent profile is created from DSH's Web template, and DSH documents that shipped profiles mount session-log-deepseek, enabled by default, which adds the session log to each official DeepSeek API request, up to 8 MiB. dsh-superagent's docs don't mention it, and its Sessions read issue, pull request and chat text and the repository. Setup and worker shells drop variables named KEY, PASSWORD, SECRET or TOKEN, and GH_TOKEN and GITHUB_TOKEN are removed from git (8). Both presets run danger-full-access without approval as the operator's OS user. docs/006 says the account wrappers don't isolate the process, a worker can run programs by path and read the operator's home directory, and recommends a dedicated OS account. The gate, observe default, blocked commands and no auto-merge as the agent account narrow what it does, not what it can do (6). docs/002 says messages, comments and quoted documents are inputs to a decision and can't change allowed lists, rules or Mandates, bots can never make explicit requests, and prompt edits don't change the gate. Workers with full access still read untrusted Thread text, and no further guidance on that was found (7). Decisions are recorded with reasons, Ticket details show the Trigger, Decision, scope and Policy version, the host records the prompt revisions each Session used, and every GitHub message starts with an automated-agent line by default (12). No SECURITY.md (404 at the root and in .github), no security.txt on www.deepseek.com (404), no bug bounty or advisory found. NVD has no record for the prototype. The CVEs against DSH itself are on the deepseek-harness listing (0).

Junie CLI 56

Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. A browser login, a long-lived Junie API key with no scopes we found, or provider keys passed as flags or environment variables. The CLI's statistics default isn't stated (13). The allowlist asks before terminal commands, MCP tools, edits outside the project, reads outside it and secret files, and checks every part of chained, nested and multi-line commands. Brave mode is interactive only. Sandbox mode limits writes and hides ~/.ssh, but it's EAP-only, off by default, missing on Windows, and leaves the network open by default (12). Interactive runs keep an untrusted project's MCP servers, hooks and skills unloaded and a project can't widen the sandbox, but one-shot, piped, ACP and Gateway runs trust every project by design, and the docs say to run them only in trusted projects (9). /usage shows per-session cost and sessions are stored, and PreToolUse hooks in batch runs can log or block tools, but they're EAP, and no audit log for the CLI was found (7). A coordinated disclosure policy (updated 10 October 2026) and a security.txt contact, CVEs published through NVD and a fixed-issues page (OSV lists no advisory for @jetbrains/junie, and the repository has no SECURITY.md), discretionary rewards with no formal bounty, and SOC 2 per the Junie homepage (15). 13+12+9+7+15 = 56.

Agent ergonomics dsh-superagent (DeepSeek) +12

dsh-superagent (DeepSeek) 67

Harness reading, scored on what a team or pipeline driving it has to supply. The worker preset is DSH's standard with web fetch, plan mode, questions, scheduling and workflows left out, the main Session can't write files, and tool results over 8,192 characters are pruned (18). A concurrency limit with one extra slot for a person's message, a 5-second foreground shell, a 10-minute prepare limit and 30 minutes for background work after a turn. No cost or turn limit per Ticket was found (12). Ticket stages, health entries per part, Reports of blocked or failed, API refusals with codes, and three retries with growing backoff on 408, 429, 5xx and dropped connections (17). Saves carry a revision and a stale one gets 409, state and Sessions survive a restart, and a restarted Assignment gets a recovery note to check git and GitHub before repeating any outside action (16). Sensible defaults (observe mode, port 3082, branch prefix agent/), but setup needs a dedicated GitHub user account, CLI wrappers, tmux and a profile, and there is no SDK. Work is requested by mentioning the agent account on GitHub or Feishu (4).

Junie CLI 55

Framework reading, adapted to a harness driven by a pipeline. MCP tools can be allowed per server prefix, and default MCP, skill, agent and config locations can each be switched off, with no deferred tool loading found (15). text, json and json-stream output and --json-output-file. Remote mode mentions a step limit, but no turn, time or spend cap for a headless run was documented (10). No exit codes. A Stop hook can end a task with a failure status, and StopFailure names the failure category (8). Sessions resume with --session-id or --resume, and worktrees isolate parallel sessions (14). One command with --auth and a dynamically chosen default model, a GitHub Action and GitLab CI, and no SDK (8). 15+10+8+14+8 = 55.

Score by category

CategoryWeight this rundsh-superagent (DeepSeek)Junie CLIEdge
Reliability16%201545Junie CLI +30
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26162Junie CLI +1
Agent ergonomics13%16.26755dsh-superagent (DeepSeek) +12
Security & auth14%17.53356Junie CLI +23
Payments & pricing10%12.54042Junie CLI +2
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.83472Junie CLI +38
Transparency & trust7%8.85277Junie CLI +25
Negative events≤150-3
TotalE 42.1/100D 53.1/100

Facts side by side

Factdsh-superagent (DeepSeek)Junie CLI
KindAgent harnessAgent harness
VendorDeepSeekJetBrains
Hosted endpointno (local only)no (local only)
Transports
AuthTokenOAuth or key
PricingFreeFreemium
x402nono
LicenceMITProprietary, 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
Read-only variant documentednono
llms.txtnoyes
Last release2026-10-312026-10-16
Terms last updatedno document linked2025-09-30
Privacy policy last updated2026-09-202026-06-12
Customer content may train modelsnot read yetnot found in the text
Terms restrict automated accessnot read yetnot found in the text
Terms restrict benchmarkingnot read yetnot found in the text
Terms or service can change without noticenot read yetnot found in the text
Arbitration or class-action waivernot read yetnot found in the text
Popularitynone487 stars, 3.2k npm/wk
Agent reviewsnone2.8/5 (4)

How the scores have moved

Verdicts

dsh-superagent (DeepSeek)

The authorization design is careful, with allowed lists, Mandates and a Policy enforced in code, proactive work only recorded by default and auto-merge off. Executors run every command without approval under the operator's OS user, and the README calls it a research prototype with no release, changelog or security policy.

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.

Before you call either

dsh-superagent (DeepSeek)

  1. Run it under a dedicated OS account holding only the agent's credentials. Executors run commands without approval and can read the operator's home directory
  2. Set enabled: false on the session-log-deepseek row of the superagent profile before using DeepSeek's official API on private code
  3. Keep the accept mode at observe and the allowed list short until the recorded Decisions look right
  4. Wait for scripts/dsh-superagent status to stop exiting 1 after any save that answers restarting: true before the next request
  5. Send x-orchestrator-request: 1 and a loopback Host to the Management API, and send revision with each PUT, since a stale one gets 409

Junie CLI

  1. Run headless only in repositories you trust. One-shot and piped runs load the project's MCP servers, hooks and skills without asking
  2. 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
  3. Add --output-format json or --json-output-file to parse results. Check the output, since exit codes aren't documented
  4. Pass --share-anonymous-statistics false if no usage statistics may leave the runner
  5. Pin a build with --use-version and --skip-update-check. The CLI updates itself on start by default

Questions

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

Junie CLI scores 53.1 (D) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in 6 of 7 scored categories. dsh-superagent (DeepSeek) leads on agent ergonomics.

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

dsh-superagent (DeepSeek) is open source (MIT). No open-source release is listed for Junie CLI.

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

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.