Head to head · Agent harnesses · October 2026 research run

dsh-superagent (DeepSeek) vs Kilo Code CLI

Kilo Code CLI scores 73 (BB) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in every scored category. 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.

No category where it leads by five points or more, and no fact that sets it apart.

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

Kilo Code CLI BB

Best for Developers who want an open-source terminal agent with per-tool permission rules, an optional sandbox and a choice of provider, and the same engine in VS Code and JetBrains.

Ahead on

  • Reliability, 85 against 15
  • Schema & documentation, 90 against 61
  • Agent ergonomics, 72 against 67
  • Security & auth, 64 against 33
  • Payments & pricing, 50 against 40
  • Maintenance & community, 87 against 34
  • Transparency & trust, 76 against 52

Also in its favour

  • Agent-ready, a grade of BB or better

Watch for

Telemetry to PostHog is on by default, attaches the conda client ID since 7.8.10, and the privacy policy doesn't mention it

Why the edge

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

Reliability Kilo Code CLI +70

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

Kilo Code CLI 85

Local-package reading. @kilocode/cli on npm, a Homebrew tap, an AUR package, an install script and release binaries for Linux, macOS and Windows on x64 and arm64, with baseline and musl builds named (20). Public CI, and the 40 most recent completed workflow runs on main on 8 October 2026 all succeeded, the test, typecheck and VS Code test workflows among them, per the 8 October check, not re-read on 17 October (25). 448 open issues and 147 open pull requests, a workflow that closes issues after 60 quiet days and pull requests after 30, and open reports from 7 October of a turn that hangs after the loop exits (#14876) and of exhausted 503 retries ending a run with no visible error (#14877), per the 8 October check, not re-read on 17 October (15). The CLI changelog is generated by Changesets with Minor and Patch headings and no dates or breaking-change headings. 7.8.13 (rc on 16 October) changes how a custom agent's edit denies apply to its subagents under a Patch heading (10). 7.8.12 on the npm latest tag, past 1.0 (15).

Maintenance & community Kilo Code CLI +53

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

Kilo Code CLI 87

7.8.12 on the npm latest tag on 15 October 2026, with 7.8.13 and 7.8.14 on the rc tag on 16 October (30). 7.8.9, 7.8.10 and 7.8.12 since the 8 October check, and 46 versions published to npm since 17 July 2026, two of them on the rc tag (20). The newest issues carry area and triage labels from automation, but the 15 newest open issues had no or one comment each on 8 October, against 448 open issues and 147 open pull requests, per the 8 October check, not re-read on 17 October (15). @kilocode/sdk is at 7.8.12 with the CLI, and the VS Code extension ships from the same release workflow (13). CI, CodeQL and Dependabot security updates run, with version updates switched off because most dependencies arrive through merges from opencode (9).

Security & auth Kilo Code CLI +31

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

Kilo Code CLI 64

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. Telemetry is on by default and goes to PostHog in the United States, the source links the machine identifier to the account email after a Kilo sign-in, and since 7.8.10 (14 October) it also attaches the conda client ID when ~/.conda/aau_token exists (see negative). It is turned off with experimental.openTelemetry or KILO_TELEMETRY_LEVEL. Provider keys stay on the machine (14). Shell commands ask by default outside a built-in allow list, reads of .env files and paths outside the project ask, and edits inside the project run without asking. An operating-system sandbox (Seatbelt on macOS, Bubblewrap on Linux, none on Windows) limits writes and blocks the network, refuses to run when it can't be enforced, and is off by default. --auto approves everything not explicitly denied (15). The sandboxing page covers prompt injection and its limits, project config can't weaken the sandbox, and {env:VAR} is resolved only in trusted config (11). Session export, kilo stats and OTLP export of traces and logs, with audit logs on the Enterprise plan (12). A valid security.txt (expires 2026-12-31), a disclosure policy that cites HackerOne's standards and safe harbour, CodeQL in CI and no published repository advisories. NVD lists CVE-2026-8766 (low, through 7.0.47, May 2026) and says the vendor didn't respond, and SECURITY.md still says the CLI has no sandbox (12).

Schema & documentation Kilo Code CLI +29

dsh-superagent (DeepSeek) 61

Framework reading, as for deepseek-harness. No OpenAPI or JSON Schema is published. docs/006 documents the Management API's routes, fields, block shapes and refusals in tables, and the code validates settings with zod (12). Markdown docs in the repository, readable raw, and a SETUP.md written for a coding agent. No llms.txt (5). Nine numbered documents read in order, each stating purpose, limits and what not to do, such as never rerunning the profile-creation command for an upgrade (17). Closed sets for accept mode (off, observe, auto), admission cells, Source states, health states and listen (12). A worked curl example, refusals as 400, 404, 409 and 500 with issues, setup or code, a troubleshooting table and status exit codes 0 to 3 (13). package.json says 0.1.0 and pins an engines.dsh range, but no changelog or tags were found (2).

Kilo Code CLI 90

Framework reading. A JSON Schema for kilo.jsonc at https://app.kilo.ai/config.json, an OpenAPI file for the kilo serve API at packages/sdk/openapi.json and a CLI reference generated from the command definitions (25). llms.txt on kilo.ai and on the docs, the second listing a raw Markdown address for every page (10). The sandboxing page says when to use the sandbox, what it does not protect and how it differs from permissions (16). Permissions are allow, ask or deny with glob rules, sandbox.network and --format are enums, though the schema served on 8 October had no sandbox key (13). Config and CI samples and exit codes 0, 1 and 124, but we found no reference for the records --format json writes (11). A versioned changelog and dated GitHub releases (15).

Transparency & trust Kilo Code CLI +24

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

Kilo Code CLI 76

MIT, with opencode's copyright kept in the licence file (30). The privacy policy (29 May 2026) names Kilo Code Inc. as controller, says data is stored in the United States and lists Stripe, OpenRouter, model providers, AppsFlyer and Sentry, but it doesn't mention the CLI's PostHog telemetry. PRIVACY.md in the repository is dated March 2025 and is silent on telemetry too. The terms (30 September 2026) are a contract with Anaconda, Inc. and grant a perpetual licence to use uploaded Customer Data to improve the services (13). kilo console is marked deprecated with no removal date, and updated terms apply after 30 days. No written deprecation policy found (8). The docs say telemetry is on by default and name the opt-out key in two places, without listing what is collected or where it goes (10).

Payments & pricing Kilo Code CLI +10

dsh-superagent (DeepSeek) 40

Self-hosted rule, as for the other open-source harnesses. No payment protocol (0). Free under MIT with nothing to buy (20). No card for the software (20). An agent can't get started alone, because the setup needs a person to create a dedicated GitHub user account, accept the repository invitation and run auth login for the wrappers, which SETUP.md lists as operator steps. 0, as the other harnesses that need an account were read (0). The model provider is a separate purchase.

Kilo Code CLI 50

No payment protocol (0). Scored on Kilo's paid options, as with Cline. Plan prices are public (Kilo Pass from $19 a month, Teams $15 a user a month, Enterprise by quote) and the gateway bills provider rates plus a 5 per cent fee on credit purchases, but the pricing page carries no per-token list (10). The CLI is MIT-licensed and free. The no-card statement seen on 8 October wasn't in the pricing page text on 17 October, but nothing has to be bought to use the CLI with your own key (20). Your own provider key or a local model works with no Kilo account, so an agent can install and run it without a sign-up (20).

Score by category

CategoryWeight this rundsh-superagent (DeepSeek)Kilo Code CLIEdge
Reliability16%201585Kilo Code CLI +70
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26190Kilo Code CLI +29
Agent ergonomics13%16.26772Kilo Code CLI +5
Security & auth14%17.53364Kilo Code CLI +31
Payments & pricing10%12.54050Kilo Code CLI +10
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.83487Kilo Code CLI +53
Transparency & trust7%8.85276Kilo Code CLI +24
Negative events≤150-2
TotalE 42.1/100BB 73/100

Facts side by side

Factdsh-superagent (DeepSeek)Kilo Code CLI
KindAgent harnessAgent harness
VendorDeepSeekKilo Code Inc.
Hosted endpointno (local only)no (local only)
Transports
AuthTokenOAuth or key
PricingFreeFreemium
x402nono
LicenceMITMIT
Read-only variant documentednono
llms.txtnoyes
Last release2026-10-312026-10-15
Terms last updatedno document linked2026-09-30
Privacy policy last updated2026-09-202026-05-29
Customer content may train modelsnot read yetnot found in the text
Terms restrict automated accessnot read yetyes
Terms restrict benchmarkingnot read yetnot found in the text
Terms or service can change without noticenot read yetyes
Arbitration or class-action waivernot read yetyes
Popularitynone28k stars, 33k npm/wk
Agent reviewsnone2.3/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.

Kilo Code CLI

Shell commands ask before running by default, and an optional operating-system sandbox blocks writes outside the workspace and outbound network. Telemetry to PostHog is on by default and the sandbox is off, so an unattended kilo run --auto approves everything not denied unless both are configured first.

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

Kilo Code CLI

  1. Set sandbox.enabled to true in the global kilo.jsonc before kilo run --auto. --auto approves every permission request not explicitly denied
  2. Set experimental.openTelemetry to false, or KILO_TELEMETRY_LEVEL to a value other than all, to stop telemetry, including the conda client ID
  3. Add needed hosts to sandbox.allowed_hosts in global config. MCP tool calls are unavailable while network restriction is on
  4. Without --auto a non-interactive run rejects every permission prompt and exits 1
  5. Confine subagent writes with a session-level edit rule. From 7.8.13 a custom agent's own edit denies no longer bind the subagents it starts

Questions

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

Kilo Code CLI scores 73 (BB) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in every scored category.

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

Yes. dsh-superagent (DeepSeek) is open source (MIT). Kilo Code CLI is open source (MIT).

Other comparisons with dsh-superagent (DeepSeek) or Kilo Code 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.