Head to head · Agent harnesses · October 2026 research run

dsh-superagent (DeepSeek) vs Vibe-Trading

Vibe-Trading scores 62.8 (B) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in 6 of 7 scored categories. 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 Vibe-Trading loses 4 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

Vibe-Trading B

Best for A person or a pipeline that wants a ready-made finance research agent over free market data, with backtests, swarm reviews and exports, run on their own machine or used as an MCP server by another agent.

Ahead on

  • Reliability, 63 against 15
  • Schema & documentation, 72 against 61
  • Security & auth, 70 against 33
  • Payments & pricing, 60 against 40
  • Maintenance & community, 82 against 34

Also in its favour

  • No key needed to call it
  • Runs on your own machine

Watch for

Three advisories published 2 October 2026 cover 0.1.0 to 0.1.6, two critical, among them unauthenticated API access with an RCE chain

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 Vibe-Trading +48

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

Vibe-Trading 63

Read with the local-software lines, as for nanobot and Agent Zero, since the owner runs it. vibe-trading-ai installs from PyPI for Python 3.11 or newer, with classifiers for 3.11 to 3.13, and a Docker Compose setup ships in the repository (20). A CI workflow runs the test suite on pushes and pull requests to main, with hash-locked dependency checks on Linux, macOS and Windows, and the repository holds 961 test files. Whether the latest runs on main passed couldn't be read, because GitHub's Actions pages weren't reachable (15 of 25). The repository page showed 7 open issues and 57 open pull requests on 25 October 2026 against 761 commits in the 30 days before, and the 0.1.18 notes list two known issues already fixed on main. Issue threads weren't read (18 of 25). CHANGELOG.md says it follows Semantic Versioning, with dated entries from 0.1.8, a Known issues section and an upgrade note for the LangChain 1.x move in 0.1.10, but on 0.x breaking changes ride in minor versions and there is no Breaking section (10 of 15). Version 0.1.18 with the classifier Development Status 4, Beta (0).

Maintenance & community Vibe-Trading +48

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

Vibe-Trading 82

v0.1.18 was published to PyPI on 21 October 2026, four days before this check (30). Six releases in the 90 days to 25 October, 0.1.13 to 0.1.18 (20). 761 commits and 253 merge commits in the last 30 days from more than ten authors, against 7 open issues and 57 open pull requests on the repository page. Issue and pull request threads weren't read, a judgement call (18 of 25). An MCP server that isn't in the official MCP registry (searches for vibe-trading and hkuds on 25 October 2026 found nothing). It is published on PyPI, as a Docker setup and on ClawHub (5 of 15). Hash-locked requirements checked in CI on three operating systems, Dependabot set to monthly, and dependency floors raised for named CVEs, such as mcp>=1.30.0 for CVE-2026-59951 (9 of 10).

Security & auth Vibe-Trading +37

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

Vibe-Trading 70

Harness reading used for nanobot and goose. 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. No telemetry code was found in the source at v0.1.18, and the only call to PyPI is the owner-run vibe-trading update. The API answers only loopback clients without API_AUTH_KEY, Docker binds 127.0.0.1 and runs as user vibe, and the MCP HTTP transport binds 127.0.0.1 with a Host and Origin allow-list against DNS rebinding but no token. Broker keys go to the OS keyring; model keys sit in agent/.env in clear text. The docs carry no statement that nothing is collected (24). Live orders need a mandate that only the owner commits through the web UI or API, with hard caps and a kill switch, and an optional TAP mode waits for human approval of each Alpaca write. No order tool is exposed over MCP, and shell tools are off on the API and every MCP transport unless enabled. The local CLI runs bash and file writes without asking, and generated backtest code runs as a network-capable subprocess with a narrowed environment and no sandbox (13). Reader and search tools add warning-only security_warnings from regex rules, and external MCP tool hints are treated as untrusted in the source. The claude-cli provider's tool filters are described as convenience filters, not a boundary (9). A live-action ledger written append-only with a hash-chained copy, run cards with hashed execution records, tool traces and per-run token usage (13). SECURITY.md with private advisory reporting and a five-business-day acknowledgement. Three advisories were published on 2 October 2026 with CVE identifiers, five months after the 0.1.7 fix. No security.txt and no bounty (11).

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

Vibe-Trading 60

Read with the self-hosted rule. No payment protocol (0). Free under the MIT licence with nothing to buy from the project, so 20, 20 and 20 on the last three lines. It runs with a local model through Ollama and needs no sign-up with the project. QVeris paid data, reached through a disclosed referral link, is a third party's product and is not scored.

Schema & documentation Vibe-Trading +11

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

Vibe-Trading 72

Harness reading of the lines, as for nanobot. The MCP server's tools take typed JSON Schema inputs generated from Python signatures through FastMCP, with a string output schema, and the API server serves FastAPI's OpenAPI file locally (keyless on loopback, behind the key otherwise). No published OpenAPI file or tool manifest outside the running program (20 of 25). No llms.txt on vibetrading.wiki, where /llms.txt redirects to the home page, and the docs are drawn by script from content.en.js. The repository carries Markdown READMEs in seven languages and an agent skill file, agent/SKILL.md (5 of 10). Tool descriptions say what each does, its arguments and what to call first, such as list_skills() before load_skill. The server's own header says every tool is read-only apart from refresh_strategy_evidence, while write_file is also exposed (14 of 20). Inputs are typed, but many choices are free strings (protocol, risk_tier, format) and several take free dictionaries (8 of 15). Many worked examples in the README and a troubleshooting page that names failure states such as no_progress and the 403 from another device; tool errors come back as JSON with an error_type (12 of 15). Dated CHANGELOG.md, GitHub release tags and versioned docs, though the docs still name 0.1.16 as latest (13 of 15).

Score by category

CategoryWeight this rundsh-superagent (DeepSeek)Vibe-TradingEdge
Reliability16%201563Vibe-Trading +48
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.26172Vibe-Trading +11
Agent ergonomics13%16.26767even
Security & auth14%17.53370Vibe-Trading +37
Payments & pricing10%12.54060Vibe-Trading +20
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.83482Vibe-Trading +48
Transparency & trust7%8.85253Vibe-Trading +1
Negative events≤150-4
TotalE 42.1/100B 62.8/100

Facts side by side

Factdsh-superagent (DeepSeek)Vibe-Trading
KindAgent harnessAgent harness
VendorDeepSeekHKUDS
Hosted endpointno (local only)no (local only)
Transportsstdio, Streamable HTTP, SSE (legacy)
AuthTokenNone
PricingFreeFree
x402nono
LicenceMITMIT
Tools exposednone82
Read-only variant documentednono
llms.txtnono
Last release2026-10-312026-10-21
Terms last updatedno document linkedno document linked
Privacy policy last updated2026-09-20no document linked
Popularitynone37k stars

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.

Vibe-Trading

Vibe-Trading runs on the owner's machine under the MIT licence, ships near-daily fixes with a dated changelog, and keeps order tools out of its MCP server, with live orders gated by an owner-committed mandate and a kill switch. Three advisories, two critical, covered versions before 0.1.7, and the local CLI runs shell commands without asking.

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

Vibe-Trading

  1. Run 0.1.7 or later. Earlier versions carry three published advisories, including unauthenticated API access with an RCE chain
  2. Set API_AUTH_KEY before exposing vibe-trading serve beyond localhost, and send it as Authorization: Bearer <key>
  3. Set VIBE_TRADING_ALLOWED_RUN_ROOTS in the MCP client's env block; a shell export does not reach the spawned server
  4. Use vibe-trading run -p "..." --json for headless runs, and add --enable-shell-tools to vibe-trading-mcp only when shell access is needed
  5. Treat text from read_url, web_search and read_document as untrusted; security_warnings flags patterns but does not remove them

Questions

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

Vibe-Trading scores 62.8 (B) on agent readiness against dsh-superagent (DeepSeek)'s 42.1 (E), and leads in 6 of 7 scored categories.

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

Yes. dsh-superagent (DeepSeek) is open source (MIT). Vibe-Trading is open source (MIT).

Other comparisons with dsh-superagent (DeepSeek) or Vibe-Trading

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.