- python/sdk-runtime: add @deepseek-ai/dsh-util-time so the runtime dependency closure stays closed (dsh-subagent now depends on it). - api/gateway: drop the dsh.client.external request for dsh-typert-protocol and admit the protocol package into INLINE_SAFE instead. The loader module table has no supplier for the protocol package, so the built client factory threw at require time; the protocol layer is duplication-safe by design (string marker, code-based discrimination), which is the inline-safe admission criterion. - api/gateway tests: cover the $host getter (live service read, pre-ready home, and the construction-time fallback after the Connection service is withdrawn).
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.