Head to head · Agent harnesses · October 2026 research run

dsh-superagent (DeepSeek) vs Mistral Vibe CLI

Mistral Vibe CLI scores 63 (B) 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.

Also in its favour

  • No incidents deducted, where Mistral Vibe CLI loses 8 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

Mistral Vibe CLI B

Best for Developers and CI jobs that want an open-source harness tuned for Mistral models, with hard per-run budgets and an export file, or a local model with no account.

Ahead on

  • Reliability, 69 against 15
  • Schema & documentation, 76 against 61
  • Agent ergonomics, 84 against 67
  • Security & auth, 58 against 33
  • Payments & pricing, 60 against 40
  • Maintenance & community, 75 against 34
  • Transparency & trust, 80 against 52

Watch for

The default agent auto-approves file edits, and there's no sandbox on the host. Isolation needs the experimental --agent-socket server or a container

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 Mistral Vibe CLI +54

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

Mistral Vibe CLI 69

Local-package reading. PyPI, uv, pip, Homebrew at 2.26.1 and an install script, with Python 3.12 or later stated and UNIX the supported target (20). A public CI workflow on main runs pre-commit, the test suite (635 test files) and a build and install smoke matrix, but GitHub's pages and API were refused in this session, so whether main is passing is unchecked (15 of 25). On 18 October GitHub's badges showed 219 open issues against 364 closed (our GitHub record), and every release has a Fixed section, 82 in all. How many open issues are crashes or regressions, and how fast they're answered, couldn't be read (10 of 25). The changelog states Keep a Changelog and semver and marks breaking changes, but the hooks rename shipped in minor 2.21.0, patch 2.11.1 changed the -p approval default, and patch 2.26.1 removed the bundled local model (9). 2.26.1, classified Production/Stable (15). 20+15+10+9+15 = 69.

Maintenance & community Mistral Vibe CLI +41

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

Mistral Vibe CLI 75

2.26.1 on 9 October 2026 (30). 20 releases on PyPI in the 90 days to 18 October, and 22 in the changelog (20). On 18 October GitHub's badges showed 219 open and 364 closed issues, and 200 open and 276 closed pull requests (our GitHub record), with 23 commits and 21 tags in 90 days. Response times couldn't be read. CONTRIBUTING.md says the project isn't accepting contributions and that reviews may be slower, and the history is squashed release commits. Credit is for the closed counts, the dated changelog, the issue templates and the public advisory (10 of 25). No SDK. vibe-acp is current in the ACP registry at 2.26.1 and the Homebrew formula is at 2.26.1 (8 of 15). Dependencies are pinned to exact versions, workflow actions are pinned by commit, and CI runs on main, but no Dependabot or Renovate config was found (7 of 10). 30+20+10+8+7 = 75.

Transparency & trust Mistral Vibe CLI +28

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

Mistral Vibe CLI 80

Apache-2.0, with LICENSE and pyproject in agreement (30). The README sends readers to Mistral's privacy policy (effective 3 September 2026), which names Vibe. The commercial terms (effective 25 September 2026) say no training on customer data unless a product's default or an opt-in allows it, and the pricing page lists model training as opt-out on Free, Pro and Team. The configuration reference calls telemetry anonymous without listing its fields. The offline guide says the CLI contacts no Mistral service with telemetry and enable_auto_update off, but that key isn't in the source, so update checks stay on (14 of 30). Removals are listed in the changelog, custom tools are marked for deprecation with no date, the agent socket may change without notice, and the bundled local model was removed in a patch release with a fallback warning (10 of 20). Telemetry is disclosed with an opt-out in the README and the configuration reference, and the README names the server-managed shell-tool rollout, but its fields are only in the source (14 of 20). 30+14+10+14 = 68.

Security & auth Mistral Vibe CLI +25

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

Mistral Vibe CLI 58

Framework reading (telemetry defaults, approvals, guardrails, sandboxing), five lines. Telemetry and crash reporting are on by default with an opt-out, and the source sends tool names, approval decisions, the model and file counts to api.mistral.ai only when a Mistral key is set. Telemetry also turns on GrowthBook experiments, and one of them (vibe_cli_smart_approve_default) overrides default_agent. Credentials are Mistral keys in an environment variable or a plaintext ~/.vibe/.env, workspace-scoped with optional expiry per the mistral-api listing, and MCP servers can use OAuth (12 of 30). Five agents with a read-only plan agent and bash allow and deny lists, a prompt for access outside the working directory, and pre_tool hooks that can deny calls. The default auto-approves file edits, and there's no sandbox on the host. Isolation needs the experimental --agent-socket server or the caller's own container (11 of 20). Project config, hooks and MCP servers load only from trusted folders, and -p needs --trust to load them. The safety page warns that smart-approve isn't a sandbox. No network egress control on the host, and MAI-2026-003 says injected instructions could trigger the bypassed commands (8 of 15). OpenTelemetry tracing is opt-in, with default, strict and no redaction, and each run can write a session journal and an export with the effective config. Managed admin config exists, and audit logs come with the Enterprise plan (13). SECURITY.md asks for private reports, security.txt is valid (expires 5 May 2027) and links a HackerOne programme, and Mistral publishes dated advisories with CVEs. The trust centre's documents need a request per the mistral-api listing, and no bounty terms were read (14 of 20). 12+11+8+13+14 = 58.

Payments & pricing Mistral Vibe CLI +20

dsh-superagent (DeepSeek) 40

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

Mistral Vibe CLI 60

Harness reading of the published rubric, as for openai-codex and qwen-code. No payment protocol (0). Plan prices (Pro $14.99 a month, Team $24.99 a user a month) and per-token API prices for the default model ($1.5 and $7.5 per million) are public without a login (20). A Free plan includes limited coding sessions, and the docs document a fully offline set-up with a local model and no Mistral account. Whether the Free plan asks for a card wasn't checked (20). An agent can install the CLI and run it against a local OpenAI-compatible server with no sign-up, since a llama.cpp provider on 127.0.0.1:8080 is in the defaults (20). 0+20+20+20 = 60.

Agent ergonomics Mistral Vibe CLI +17

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

Mistral Vibe CLI 84

Framework reading, adapted to a harness driven by a pipeline. --enabled-tools and --disabled-tools with globs and regex (in -p the first disables everything else), per-tool and per-MCP-tool permissions, and switches for subagents and background processes (20 of 25). --max-turns, --max-tokens, --max-price and --time-limit, with text, json and streaming output and an export file with usage and cost (20). Exit codes 0 to 4 with named outcomes, refusals reported with a code, and config problems listed under warnings (18). --resume SESSION_ID and --continue, SIGTERM stops a run so it can be resumed, and model API failures are retried before exit 2 (16). One required input (the prompt), a GitHub Action and the ACP server, but no SDK, and the app-server's JSON-RPC protocol isn't documented for outside use (10). 20+20+18+16+10 = 84.

Score by category

CategoryWeight this rundsh-superagent (DeepSeek)Mistral Vibe CLIEdge
Reliability16%201569Mistral Vibe CLI +54
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26176Mistral Vibe CLI +15
Agent ergonomics13%16.26784Mistral Vibe CLI +17
Security & auth14%17.53358Mistral Vibe CLI +25
Payments & pricing10%12.54060Mistral Vibe CLI +20
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.83475Mistral Vibe CLI +41
Transparency & trust7%8.85280Mistral Vibe CLI +28
Negative events≤150-8
TotalE 42.1/100B 63/100

Facts side by side

Factdsh-superagent (DeepSeek)Mistral Vibe CLI
KindAgent harnessAgent harness
VendorDeepSeekMistral AI
Hosted endpointno (local only)no (local only)
Transports
AuthTokenOAuth or key
PricingFreeFreemium
x402nono
LicenceMITApache-2.0
Read-only variant documentednoyes
llms.txtnoyes
Last release2026-10-312026-10-09
Terms last updatedno document linked2026-09-25
Privacy policy last updated2026-09-202026-09-03
Customer content may train modelsnot read yetyes, with an opt-out
Terms restrict automated accessnot read yetnot found in the text
Terms restrict benchmarkingnot read yetyes
Terms or service can change without noticenot read yetyes
Arbitration or class-action waivernot read yetnot found in the text
Popularitynone5.1k stars, 332k PyPI/wk
Agent reviewsnone3.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.

Mistral Vibe CLI

Apache-2.0 with about two releases a week, and headless runs capped by turns, tokens, price and wall time, with typed exit codes and an export file. File edits are auto-approved by default, the host has no sandbox, telemetry is on by default, and six shell-permission bypasses were fixed only on 12 September 2026.

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

Mistral Vibe CLI

  1. Pass --agent on every -p run (plan is read-only). The source default is accept-edits, the safety docs say auto-approve, and an experiment can switch it to smart-approve
  2. Add --max-turns, --max-tokens, --max-price and --time-limit, and read outcome in the export.json that --output-dir writes. Exit 3 means a limit or a refusal
  3. Run in a container or behind --agent-socket before using --auto-approve. Vibe has no sandbox of its own on the host
  4. For offline runs set enable_telemetry = false and enable_update_checks = false in config.toml. The docs' enable_auto_update isn't the key the code reads
  5. Use 2.25.4 or later, which fixes six shell-permission bypasses, and check with vibe --version

Questions

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

Mistral Vibe CLI scores 63 (B) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in every scored category.

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

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

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