deepseek-harness vs trueforge
DeepSeek's open agent harness (`dsh`): everything is a plugin, on the Cordis composability runtime, with a local web UI one npx away. Developer preview, MIT, moving fast. — versus — TrueFoundry's open agent harness: the runtime loop — model calls, MCP tools, SKILL.md packs, sandboxing, approvals, compaction — behind a chat UI, HTTP API, TypeScript SDK and embeddable UI.
Two open agent harnesses with a UI, an API and a plugin story. TrueForge is the more finished product — catalogs, sandboxing, approvals, compaction, Helm charts; dsh is a plugin substrate on Cordis in developer preview. Ship on TrueForge, watch dsh.
| deepseek-harness | trueforge | |
|---|---|---|
| Stars | 188k | 3.5k |
| Forks | 21k | 241 |
| Language | TypeScript | TypeScript |
| License | MIT | MIT |
| Last activity | 3 days ago | 2 days ago |
| Topics | agents, orchestration | agents, orchestration |
| Curated connections | 4 | 4 |
deepseek-harness — the curator's take
Worth watching because of who ships it and how it's built: a frontier lab's own harness, structured so that every capability — models, tools, memory, UI — is a Cordis plugin rather than a hardcoded loop, which is why a `dsh-plugin` ecosystem appeared around it almost immediately. `npx @deepseek-ai/dsh web` gets you a working UI on port 3080 with nothing to configure. Do not build on it yet without accepting the terms the README states outright: developer preview, iterating rapidly, compatibility-breaking changes expected. The star count reflects the lab's gravity more than the maturity of the code, and the docs are thin next to harnesses that have been in production a year.
trueforge — the curator's take
Take it when the agent logic is the easy part and you don't want to hand-build streaming, session persistence, tool auth, sandboxing and an approval UI: YAML catalogs configure models, MCP servers, skills and a sandbox once, then agents pick from what you connected. Context engineering is first-class — subagents, deferred tool loading, Code Mode, large-result offloading, compaction — and it scales from `npx` on SQLite to Postgres+Redis via Docker Compose or Helm. Caveats: local mode has no login and is explicitly not for anything internet-facing, sandboxing means Daytona today, and it's a harness rather than a graph framework — if you need bespoke control flow per step, a lower-level runtime fits better.