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.
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.
| File | What we take from it |
|---|---|
README.md | Install, npx, building from source |
docs/architecture.md | Profiles, bundles, the four patch layers, --dump-config |
apps/cli/README.md | Every subcommand and flag, $DSH_HOME paths, exit codes, argument order |
docs/user/guide/providers.md | settings.yaml, .credentials.yaml, apiKeyEnv, provider IDs |
docs/tool-catalog.md | Every model-facing tool and its package |
docs/config-catalog.md | Configurable plugins, fields, patch YAML shape |
docs/glossary.md | turn, 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.