Head to head · Agent harnesses · October 2026 research run

dsh-superagent (DeepSeek) vs OpenMausBot

OpenMausBot scores 65.4 (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.

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

OpenMausBot B

Best for A person or an outside agent who wants several CLI agents (Claude Code, Codex, Grok, ACP CLIs) organised as named bots with their own computers, routines and approvals, driven by MCP or a CLI.

Ahead on

  • Reliability, 60 against 15
  • Schema & documentation, 90 against 61
  • Agent ergonomics, 77 against 67
  • Security & auth, 59 against 33
  • Payments & pricing, 50 against 40
  • Maintenance & community, 74 against 34
  • Transparency & trust, 59 against 52

Also in its favour

  • Runs on your own machine

Watch for

New bots start at Full access, which approves provider permission requests without a card

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 OpenMausBot +45

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

OpenMausBot 60

Read as local software. Official npm package openmausbot (Node.js 24 or newer) and signed, notarised macOS builds, a Windows installer and Ubuntu 24.04 packages, with supported platforms and a capability table in the README (20). 2,075 test files and a CI workflow on main. Of the last 23 finished CI runs on main on 30 October 2026, 10 passed, 3 failed and 10 were cancelled by newer pushes in a serialised queue (20). 365 open issues against about 3,940 issues and pull requests filed since 11 August, so most are closed, but the 25 newest open issues include several bug reports from 29 and 30 October with no reply yet (15). Release notes for every version in New, Easier and Fixed sections, but new capabilities ship in 0.1.x patch versions and no release marks breaking changes (5). Version 0.1.134, and the README calls the project early (0).

Maintenance & community OpenMausBot +40

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

OpenMausBot 74

v0.1.134 on 30 October 2026 (30). 128 desktop versions since 11 August 2026 (20). The maintainer has 4,221 commits and the contributor list returns at least 100 accounts. 587 issues and pull requests are open from about 3,940 filed, but we could only sample the newest open issues, nearly all from the last two days and mostly unanswered so far (16). Not in the official MCP registry, which returns nothing for mausbot (0). CI on main runs on every push with most finished runs passing, npm provenance and an SBOM for the bundled Cua runtime (8).

Schema & documentation OpenMausBot +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).

OpenMausBot 90

The MCP server's 20 tools each have a JSON Schema input with additionalProperties: false and required fields marked. No OpenAPI for the local HTTP API (25). Markdown docs in the repository, and the docs app's source serves llms.txt, llms-full.txt and Markdown routes. docs.openmausbot.com disallows every crawler, so the live llms.txt was not read (10). Descriptions state purpose and limits, such as that update_bot_profile cannot alter permissions, that send_bot_message may make the bot use external tools and that edit_bot_message is refused while a thread works, and the server instructions say to read before mutating. Few say when not to use a tool (15). Integer limits with minimum and maximum, an enum on scope, a pattern on send_id and oneOf shapes for responders (13). JSON configuration examples for each install path, the wait statuses and job states, CLI exit codes and a { ok, error, hint, exitCode } failure shape (12). MCP server version 1.1.0, release notes per version and a changelog page in the docs (15).

Security & auth OpenMausBot +26

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

OpenMausBot 59

Harness reading of the framework checklist, as for the other harnesses. 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 harness binds to loopback and keys stay in ~/.openmausbot, but PostHog usage analytics are on until switched off, with a daily snapshot of what is set up, and the CLI guide says API keys are saved in plaintext with mode 0600 (18). Approval cards for provider permission requests, a narrow Always allow, isolated Local VMs and cloud computers, own-computer control off by default, and an MCP server that cannot approve, delete or touch credentials. New bots start at Full access, bot changes to skills, profiles and team setup apply without approval, and new bots keep every connected-app tool until grants are assigned (10). The docs say web page instructions never authorise credential use and that one-time codes go only to the site that sent them, and imported bots arrive with no grants, but bots read one-time codes from connected email without asking again (9). Per-thread NDJSON event logs, an Inspector, a decision log for connected-app grants and Undo lines for bot changes (12). SECURITY.md with an email, GitHub private vulnerability reporting enabled and scope notes that name one open risk. No published advisories, security.txt or bug bounty. npm releases use trusted publishing with provenance, and the Windows installer is unsigned (10).

Agent ergonomics OpenMausBot +10

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

OpenMausBot 77

20 tools, inside the 11 to 30 band, with annotations that separate reads from writes but no toolsets or read-only mode to load. Transcript reads are bounded and never return screenshot pixels (17). limit up to 200 messages, search capped at 100 hits, task_id and scope filters, and since_ms and after_version to keep watching a job (17). wait_for_conversation reports settled, needs-user, failed, stalled or timed-out with a redacted transcript tail, and the CLI's exit codes separate a pending approval from a timeout. We did not read every MCP error path (15). send_id makes a repeated send return the first receipt, wait is held by the server rather than polled, and every tool carries readOnlyHint, destructiveHint, idempotentHint and openWorldHint (20). Few required parameters and defaults for task, limit and timeout. The server answers only while the app or openmausbot serve runs, mutating tools need a paired token in packaged builds, and there is no client SDK beyond the CLI (8).

Payments & pricing OpenMausBot +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.

OpenMausBot 50

No payment protocol (0). MausBot Cloud, the hosted option, is priced by plan on a public page ($15, $49, $99 and $169 a month), with extra computer-hours at $0.05 each, so plan pricing (10). The app is free with no card or account (20). npx openmausbot installs and starts it with no signup (20).

Score by category

CategoryWeight this rundsh-superagent (DeepSeek)OpenMausBotEdge
Reliability16%201560OpenMausBot +45
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26190OpenMausBot +29
Agent ergonomics13%16.26777OpenMausBot +10
Security & auth14%17.53359OpenMausBot +26
Payments & pricing10%12.54050OpenMausBot +10
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.83474OpenMausBot +40
Transparency & trust7%8.85259OpenMausBot +7
Negative events≤150-2
TotalE 42.1/100B 65.4/100

Facts side by side

Factdsh-superagent (DeepSeek)OpenMausBot
KindAgent harnessAgent harness
VendorDeepSeekSupamaus Software Private Limited
Hosted endpointno (local only)no (local only)
Transportsstdio
AuthTokenOAuth or key
PricingFreeFreemium
x402nono
LicenceMITApache-2.0
Tools exposednone20
Read-only variant documentednono
llms.txtnono
Last release2026-10-312026-10-30
Terms last updatedno document linked2026-10-10
Privacy policy last updated2026-09-202026-10-18
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
Popularitynone8.2k stars, 3.5k npm/wk

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.

OpenMausBot

A bounded 20-tool MCP server with typed schemas, annotations and idempotent sends, and a headless CLI with JSON output and exit codes, let another agent hand work to a bot team and wait on it. New bots start at Full access, so provider permission requests pass without a card, and usage analytics stay on until switched off.

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

OpenMausBot

  1. Ask the owner for a pairing code from Settings > Phone, exchange it at POST /api/auth/pair, and set OPENMAUSBOT_TOKEN with an explicit OMB_PORT
  2. Pass a send_id with every send_bot_message and send_channel_message, so a retry returns the first receipt
  3. Use wait_for_conversation instead of polling, and on needs-user stop and tell the owner a card is waiting
  4. Check a bot's access level with the owner before sending work. New bots run at Full access unless defaults were changed
  5. Ask the owner to switch off Settings > General > Usage analytics if nothing beyond model calls should leave the machine

Questions

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

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

Are dsh-superagent (DeepSeek) and OpenMausBot open source?

Yes. dsh-superagent (DeepSeek) is open source (MIT). OpenMausBot is open source (Apache-2.0).

Other comparisons with dsh-superagent (DeepSeek) or OpenMausBot

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.