dshkit

How this site is written

DSHKit exists because the first wave of DeepSeek Harness coverage was written from press releases. This page is the editorial policy that is supposed to make it better, stated plainly enough that you can check whether we follow it.

25
pages published
2
languages, fully paired

One rule

Every technical claim on this site traces to the upstream repository or the official documentation. Where the documentation is silent, we say so instead of guessing.

That sounds obvious. It is also the thing most DeepSeek Harness articles published in the first week did not do — they paraphrased each other, and errors propagated. We have corrected our own pages twice for exactly this reason, both times after reading a source file that contradicted something we had inferred.

What we read

These are the primary sources behind the pages here. All are in the upstream repository and you can check any claim against them.

FileWhat we take from it
README.mdInstall, npx, building from source
docs/architecture.mdProfiles, bundles, the four patch layers, --dump-config
apps/cli/README.mdEvery subcommand and flag, $DSH_HOME paths, exit codes, argument order
docs/user/guide/providers.mdsettings.yaml, .credentials.yaml, apiKeyEnv, provider IDs
docs/tool-catalog.mdEvery model-facing tool and its package
docs/config-catalog.mdConfigurable plugins, fields, patch YAML shape
docs/glossary.mdturn, step, round, seam, scope, goal, Ralph

What we will not claim

Things people repeat about the harness that we cannot trace to a source. We leave these out rather than hedge them, and we will add pages when a source appears.

  • That any preset can be swapped mid-conversation. Switching is restricted to an agent that has produced nothing, and the gateway answers agent-preset-locked otherwise — a product rule, not a limitation we can code around.
  • Whether a DEEPSEEK_API_KEY environment variable is picked up automatically. The provider docs describe catalog providers storing a key via Settings, and custom providers reading a variable named by apiKeyEnv. The widely-repeated claim that an existing env var lets you skip the key entirely has no source we can find.
  • Any claim that a sub-agent inherits the parent conversation. The Codex and Claude Code providers both report inheritsParentContext: false — they receive a standalone text task and the parent session cwd, nothing else.
  • Any benchmark number, latency figure, or model price.

Corrections

When a page is wrong, we change the page and update its modified date rather than quietly editing around it. The harness is a v0.1 developer preview with expected breaking changes, so pages describing flags, file paths or plugin names will go stale — if this site disagrees with the repository, the repository is right.

Who writes this

This site is currently published without a named maintainer. That is a gap we are aware of, not a policy — anonymous technical writing is harder to trust and harder to hold accountable.

What we measure

This site runs a self-hosted Plausible instance for aggregate traffic statistics: page views, referrers, countries, and clicks on links leaving the site. It sets no cookies, collects no personal data, and creates no cross-site or persistent identifier, so there is nothing here to consent to and no banner to dismiss. We do not run advertising, and we do not sell or share anything we measure.

Independence

DSHKit is not affiliated with, endorsed by, or sponsored by DeepSeek. We take no payment from DeepSeek or from any vendor mentioned here, and there are no affiliate links on this site. “DeepSeek” and “DeepSeek Harness” are trademarks of their respective owner. The official project lives at github.com/deepseek-ai/deepseek-harness.

Back to home