Add @deepseek-ai/dsh-agent-model. It provides ctx.agentModel (resolveForNextStep, select, applyConfiguredRoute) and owns the modelSelection projection, which the Agent registry no longer registers. dsh-agent-loop now injects agentModel; the base and SDK-minimal bundles and the Python SDK runtime include it. The provider keeps the projection registered until consumers that are still unloading finish their cleanup. The model-switch notice becomes an opt-in per-Agent plugin at @deepseek-ai/dsh-agent-model/notice, and agent/request now also rejects reasoning-effort changes after step preparation. Mount the provider in every composition that loads dsh-agent-loop, and update consumers, the switch-notice snapshot driver, docs, and the upgrade guide.
DeepSeek Harness Python SDK
English | 中文
Python packages for driving DeepSeek Harness as a subprocess. The client SDK communicates with the bundled runtime over newline-delimited JSON-RPC on stdio.
Packages
| Directory | Dist / module | Role |
|---|---|---|
| sdk | deepseek-harness-sdk / deepseek_harness |
High-level turns API and lower-level JSON-RPC client |
| sdk-runtime | deepseek-harness-runtime-bin / deepseek_harness_runtime |
Bundled dsh CLI executable and native sidecars |
Behavior
The SDK starts the matching bundled dsh --profile sdk runtime unless the caller selects another dsh executable or profile. The runnable minimal example selects the shipped standalone sdk-minimal profile; the same runtime also packages dsh web and its frontend assets for separate CLI use. Every launch requires an explicitly selected Harness home; Python never silently reads ~/.dsh. The SDK reference and runtime carrier reference own runtime selection, profiles, patches, and external plugin management.
Contributor workflows
The Python contributor workflows cover building runtime artifacts, validating the packages, source-mode development, and distribution.