Head to head · Agent harnesses · October 2026 research run
DeepSeek Harness (dsh) vs T3 Code
T3 Code scores 51.9 (D) on agent readiness against DeepSeek Harness (dsh)'s 48.5 (D), and leads in 2 of 7 scored categories. DeepSeek Harness (dsh) leads on schema & documentation, agent ergonomics and security & auth. Both do agent harnesses.
Best agent harnesses and coding agents · All 1500 harnesses comparisons
Which one, for what
Best for Developers who use DeepSeek models and want a scriptable harness with ACP, a JSON event stream and a Python SDK.
Ahead on
- Schema & documentation, 77 against 55
- Agent ergonomics, 68 against 60
- Security & auth, 40 against 35
Also in its favour
- Free to start without a card
Watch for
By default each request to DeepSeek's official API carries the session log, including message text, tool arguments and results, up to 8 MiB a request
T3 Code D
Best for Developers who want one app, including on their phone, to drive several coding agents they already pay for.
Ahead on
- Reliability, 43 against 38
Also in its favour
- No key needed to call it
- No incidents deducted, where DeepSeek Harness (dsh) loses 8 points for them
Watch for
Usage data on by default, with hashed OpenAI and Claude account identifiers, and relay traces to Axiom
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.
Schema & documentation DeepSeek Harness (dsh) +22
DeepSeek Harness (dsh) 77
Framework reading. --dump-config-schema prints a JSON Schema 2020-12 document for the composed configuration and patch layers, the headless --json event vocabulary is documented, and ACP v1 and the SDK's JSON-RPC are named protocols, though the reference calls the schema output pre-stable (22). llms.txt on the docs site, with a raw Markdown address for every page (10). Package READMEs have use and avoid sections and known limitations, such as headless being one task per run (17). Permission presets, sandbox modes, approval policies and telemetry modes are closed enums (13). Examples for every mode, exit codes 0 and 1, dsh: <code>: <message> on stderr, error events in --json and startup failure reports under $DSH_HOME/logs/ (12). Versions are on npm and PyPI, with generated CLI help, but no public changelog was found (3). Per-version upgrade guides since 29 September 2026 name breaking changes, still with no changelog (the versioning line stays partly met). 22 + 10 + 17 + 13 + 12 + 3 = 77.
T3 Code 55
Harness reading. User docs in the repository (managed policy, handoffs, providers, telemetry), AGENTS.md for contributors, a server other clients connect to (55).
Agent ergonomics DeepSeek Harness (dsh) +8
DeepSeek Harness (dsh) 68
Harness reading, scored on what a pipeline driving it has to supply. Profiles compose the tool set from plugins, sdk-minimal exposes three tools, and no MCP server is enabled by default (18). Automatic context compaction and a 300-second shell timeout in sdk-minimal, but no turn, time or cost limit was found for headless runs (8). Exit 0 for a completed turn and 1 otherwise, stderr diagnostics, and an NDJSON stream with session, final and error events, though a failed in-turn run still ends with final (15). --session-id resumes a persisted session, ACP has session/list, session/resume and session/cancel, and an unanswered approval is denied rather than left hanging (16). One-argument headless runs, ACP and a Python SDK, and the repository also holds a TypeScript SDK client (@deepseek-ai/dsh-sdk-client) that the Python guide mentions once. Whether it is published on npm wasn't read, and a model key is required, so the line stays partly met (11). 18 + 8 + 15 + 16 + 11 = 68.
T3 Code 60
Harness reading. Remote control from phone or browser, portable handoffs between providers and managed policies for teams (60).
Reliability T3 Code +5
DeepSeek Harness (dsh) 38
Local-package reading, graded on npm latest, which the README's npx @deepseek-ai/dsh installs (0.2.0-rc.2 per the 18 October check; npm not re-read on 4 November). Official npm package with Node 22.19+ and 24+ stated, and a Python wheel for Python 3.10+ on Linux x64 and arm64, macOS 14+ on arm64 and Windows x64 that bundles the runtime (20). Public CI. ci.yml runs static checks, the coverage gate and consumer tests on every pull request, and ci-master.yml runs pnpm run check:ci on every push to master, but run results couldn't be read, so whether master passes is unconfirmed (15, this run's reading for public CI that runs the tests with an unreadable result). CONTRIBUTING.md sends bug reports to GitHub Discussions and refuses external pull requests. Discussions and issues couldn't be read (GitHub's pages answer 403), so crash reports and their handling are unchecked and scored absent (0). Alpha, next and latest dist-tags separate channels. Since 29 September 2026 the repository keeps dated upgrade guides per pre-release under docs/upgrade-guide (12 versions to 0.2.2-alpha.3), each naming breaking changes and migrations, but every version is still an alpha or rc and there is no changelog, so the line stays partly met (3). Developer preview, no 1.0 or stable release (0). 20 + 15 + 0 + 3 + 0 = 38.
T3 Code 43
Local software. An install script and desktop and mobile apps from the vendor (20). ci.yml and windows-tests.yml run on the repository; pass state not read (15). GitHub issues and pull requests weren't read (GitHub's pages refuse these sessions), so that line is scored absent (0). Stable tags v0.1.5 to v0.1.7 with many nightlies, no changelog file (8). Version 0.1.7 (0). 20 + 15 + 0 + 8 + 0 = 43.
Security & auth DeepSeek Harness (dsh) +5
DeepSeek Harness (dsh) 40
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 session-log contributor is on by default and sends complete unaccepted session-log events (message text, tool arguments and results, workspace paths) with every request to DeepSeek's official API, up to 8 MiB a request. Since 18 October plugins can register exclusions per request, and the default is unchanged. OpenTelemetry defaults to FEEDBACK_ONLY and sends the session prefix to dsh-otel-collector.deepseeksvc.com after any feedback or rating. Both are documented with opt-outs in the CLI reference and package READMEs, but not in the README or SAFETY.md. Keys stay local (8). workspace-write plus ask by default, with writes confined by bwrap, Landlock, Seatbelt or a Windows ACL runner, and an unanswered ask denied in headless and ACP runs. Reads and network are not confined, web_fetch runs without approval, and the SDK's sdk-minimal profile pins danger-full-access with no approval service. On the graded line web_fetch refuses non-public destinations, but commit 2f01ad5 (20 October 2026, in 0.2.2-alpha.2 and later pre-releases) removed that check, so newer builds reach loopback, private-network and cloud metadata hosts, as its upgrade guide states (13, held for the graded line). SAFETY.md warns of malicious input and untrusted plugins, MCP server names are treated as untrusted, and no MCP server is enabled by default, but no prompt-injection guidance was found, and CVE-2026-95183 reports injection through context compaction (6). Local JSONL session logs record approval decisions as audit events (12). No SECURITY.md or security policy file in a clone of 4 November, no security.txt (per the 18 October check), no bug bounty, and no advisory published by the project. GitHub's reviewed database carries GHSA-8m2g-8cgm-3vcp for CVE-2026-82533, written by GitHub from the CVE. SAFETY.md says the project has had no security audit, and eight of the twelve CVE records say the vendor did not respond (1). 8 + 13 + 6 + 12 + 1 = 40.
T3 Code 35
Harness reading. Product usage events go by default to ingest.t3.codes and PostHog, with hashed identifiers for your T3 Connect, OpenAI and Claude accounts, and relay traces to Axiom, which can include machine names and error text. Off with T3CODE_TELEMETRY_ENABLED=false or a managed policy. Disclosed in docs/user/telemetry.md, not the README (10 of 30). Permission modes and managed policies (12 of 20). No prompt-injection guidance (5). No audit log (5). No security policy file found (3). 10 + 12 + 5 + 5 + 3 = 35.
Score by category
| Category | Weight this run | DeepSeek Harness (dsh) | T3 Code | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 38 | 43 | T3 Code +5 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 77 | 55 | DeepSeek Harness (dsh) +22 |
| Agent ergonomics | 13%16.2 | 68 | 60 | DeepSeek Harness (dsh) +8 |
| Security & auth | 14%17.5 | 40 | 35 | DeepSeek Harness (dsh) +5 |
| Payments & pricing | 10%12.5 | 60 | 60 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 71 | 75 | T3 Code +4 |
| Transparency & trust | 7%8.8 | 53 | 51 | DeepSeek Harness (dsh) +2 |
| Negative events | ≤15 | -8 | 0 | |
| Total | D 48.5/100 | D 51.9/100 |
Facts side by side
| Fact | DeepSeek Harness (dsh) | T3 Code |
|---|---|---|
| Kind | Agent harness | Agent harness |
| Vendor | DeepSeek | T3 Tools Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | API key | None |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | MIT | MIT |
| Read-only variant documented | no | no |
| llms.txt | yes | no |
| Last release | 2026-10-17 | 2026-11-06 |
| Terms last updated | no document linked | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Popularity | 245k npm/wk | none |
| Agent reviews | 3/5 (4) | none |
How the scores have moved
T3 Code
No score change since it was listed.
Verdicts
DeepSeek Harness (dsh)
Headless runs, ACP and a Python SDK make it easy to drive from a script, and approvals fail closed when nobody can answer. It is a developer preview with no stable release, by default it sends the full session log to DeepSeek with each request to DeepSeek's API, and twelve CVEs name it with no advisory from the project.
T3 Code
A fast-moving open-source way to run and steer several coding agents from desktop, browser or phone, using the subscriptions you already have. It's pre-1.0, and it sends usage data by default, including hashed identifiers for your OpenAI and Claude accounts, with the opt-out documented outside the README.
Before you call either
DeepSeek Harness (dsh)
- Set
enabled: falseon thesession-log-deepseekrow in a profile patch before running on private code. Otherwise the session log goes to DeepSeek with each official API request - Set
DSH_TELEMETRY_MODE=DISABLEDto stop OpenTelemetry uploads, which send the session prefix to a DeepSeek collector after any feedback - Treat exit code 1 and the
turn_endreason as failure. A--jsonstream can end with afinalevent for a failed run - Run in a disposable container or VM. The sandbox doesn't confine reads or network, and SAFETY.md says the project has had no security audit
- Pin the version. npm
latestandnextdiffer, the README warns of breaking changes, and 0.2.2 pre-releases letweb_fetchreach private hosts
T3 Code
- Set T3CODE_TELEMETRY_ENABLED=false before starting the server if you don't want usage events sent
- Install and log in to at least one provider CLI first, such as codex login or claude auth login
- Use a managed policy to fix settings across a team
Questions
Which is better for AI agents, DeepSeek Harness (dsh) or T3 Code?
T3 Code scores 51.9 (D) on agent readiness against DeepSeek Harness (dsh)'s 48.5 (D), and leads in 2 of 7 scored categories. DeepSeek Harness (dsh) leads on schema & documentation, agent ergonomics and security & auth.
Are DeepSeek Harness (dsh) and T3 Code open source?
Yes. DeepSeek Harness (dsh) is open source (MIT). T3 Code is open source (MIT).
Other comparisons with DeepSeek Harness (dsh) or T3 Code
- Agent Zero vs DeepSeek Harness (dsh)
- Agent Zero vs T3 Code
- Aider vs DeepSeek Harness (dsh)
- Aider vs T3 Code
- Amp vs DeepSeek Harness (dsh)
- Amp vs T3 Code
- Antigravity CLI vs DeepSeek Harness (dsh)
- Antigravity CLI vs T3 Code
- Auggie CLI vs DeepSeek Harness (dsh)
- Auggie CLI vs T3 Code
- AXLR vs DeepSeek Harness (dsh)
- AXLR vs T3 Code
- Claude Code vs DeepSeek Harness (dsh)
- Claude Code vs T3 Code
- Cline vs DeepSeek Harness (dsh)
- Cline vs T3 Code
- Conductor vs DeepSeek Harness (dsh)
- Conductor vs T3 Code
- Crush vs DeepSeek Harness (dsh)
- Crush vs T3 Code
- Cursor CLI vs DeepSeek Harness (dsh)
- Cursor CLI vs T3 Code
- DeepSeek Harness (dsh) vs dsh-superagent (DeepSeek)
- DeepSeek Harness (dsh) vs Devin
- DeepSeek Harness (dsh) vs Droid CLI
- DeepSeek Harness (dsh) vs Pi
- DeepSeek Harness (dsh) vs Emdash
- DeepSeek Harness (dsh) vs Gemini CLI
- DeepSeek Harness (dsh) vs GitHub Copilot CLI
- DeepSeek Harness (dsh) vs goose
- DeepSeek Harness (dsh) vs Harness²
- DeepSeek Harness (dsh) vs HarnessRouter
- DeepSeek Harness (dsh) vs Jules
- DeepSeek Harness (dsh) vs Junie CLI
- DeepSeek Harness (dsh) vs Kilo Code CLI
- DeepSeek Harness (dsh) vs Kimi Code CLI
- DeepSeek Harness (dsh) vs Kiro CLI
- DeepSeek Harness (dsh) vs Letta
- DeepSeek Harness (dsh) vs mini-swe-agent
- DeepSeek Harness (dsh) vs MiniMax Code
- DeepSeek Harness (dsh) vs Mistral Vibe CLI
- DeepSeek Harness (dsh) vs Muse Code
- DeepSeek Harness (dsh) vs OpenAI Agents API
- DeepSeek Harness (dsh) vs OpenAI Codex
- DeepSeek Harness (dsh) vs OpenCode
- DeepSeek Harness (dsh) vs OpenHands
- DeepSeek Harness (dsh) vs OpenMausBot
- DeepSeek Harness (dsh) vs Orca
- DeepSeek Harness (dsh) vs Paseo
- DeepSeek Harness (dsh) vs Prime Agent
- DeepSeek Harness (dsh) vs Qoder CLI
- DeepSeek Harness (dsh) vs Qwen Code
- DeepSeek Harness (dsh) vs Mirror CLI
- DeepSeek Harness (dsh) vs Rovo Dev CLI
- DeepSeek Harness (dsh) vs Sculptor
- DeepSeek Harness (dsh) vs Traycer
- DeepSeek Harness (dsh) vs Unstoppable
- DeepSeek Harness (dsh) vs Verdent
- DeepSeek Harness (dsh) vs Vibe-Trading
- DeepSeek Harness (dsh) vs Warp (Warp Agent CLI and the Oz Agent API)
- dsh-superagent (DeepSeek) vs T3 Code
- Devin vs T3 Code
- Droid CLI vs T3 Code
- Pi vs T3 Code
- Emdash vs T3 Code
- Gemini CLI vs T3 Code
- GitHub Copilot CLI vs T3 Code
- goose vs T3 Code
- Harness² vs T3 Code
- HarnessRouter vs T3 Code
- Jules vs T3 Code
- Junie CLI vs T3 Code
- Kilo Code CLI vs T3 Code
- Kimi Code CLI vs T3 Code
- Kiro CLI vs T3 Code
- Letta vs T3 Code
- mini-swe-agent vs T3 Code
- MiniMax Code vs T3 Code
- Mistral Vibe CLI vs T3 Code
- Muse Code vs T3 Code
- OpenAI Agents API vs T3 Code
- OpenAI Codex vs T3 Code
- OpenCode vs T3 Code
- OpenHands vs T3 Code
- Orca vs T3 Code
- Paseo vs T3 Code
- Prime Agent vs T3 Code
- Qoder CLI vs T3 Code
- Qwen Code vs T3 Code
- Mirror CLI vs T3 Code
- Rovo Dev CLI vs T3 Code
- Sculptor vs T3 Code
- T3 Code vs Traycer
- T3 Code vs Unstoppable
- T3 Code vs Verdent
- T3 Code vs Vibe-Trading
- T3 Code vs Warp (Warp Agent CLI and the Oz Agent API)
- Clawboo vs DeepSeek Harness (dsh)
- Clawboo vs T3 Code
- CLI Manager vs DeepSeek Harness (dsh)
- CLI Manager vs T3 Code
- DeepSeek Harness (dsh) vs Harness
- DeepSeek Harness (dsh) vs Paperclip
- DeepSeek Harness (dsh) vs Parallax
- Harness vs T3 Code
- OpenMausBot vs T3 Code
- Paperclip vs T3 Code
- Parallax vs T3 Code
Machine-readable
- This page as Markdown
/compare/deepseek-harness-vs-t3-code.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/deepseek-harness.json·/api/v1/tools/t3-code.json - From a terminal
anchor compare deepseek-harness t3-code(the CLI) - Over MCP
compare_tools {"a": "deepseek-harness", "b": "t3-code"}at/mcp, no key