Files
deepseek-harness/python
Tianyi Cui 9edf1b9f10 fix(python-sdk): harden profile runtime startup
Resolve packaged profile proxies with Node ESM import conditions from each package installation, and fail loud when an explicit runtime export or legacy main entry is missing. Serialize the shared profile fallback under the existing cross-process writer lock so concurrent dsh processes cannot observe partial proxies; either carrier now replaces the other carrier’s managed entry without manual cleanup.

Give Python initialize its own 10-second default bound and name the selected profile in timeout diagnostics, while leaving ordinary agent turns unbounded by default. Package the dynamically resolved web frontend and skill-badge assets so the runtime wheel’s normal dsh profiles do not depend on pkg static-discovery accidents.

Rewrite the root launch rule and every active stale SDK-runtime note to the shipped dsh profile architecture in both languages. Focused tests prove import-only and transitive package exports, lock contention, cross-carrier transitions, missing-entry failures, asset inventory, and bounded initialization.
2026-08-24 17:28:27 +08:00
..

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. 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.