The group's convention is package suffix == provider default (subagent-acp/'acp', subagent-spawn/'spawn', subagent-fork/'fork'), and the provider default became dsh-sdk in the last review round — so the package follows: @deepseek-ai/dsh-subagent-dsh-sdk at packages/subagent/subagent-dsh-sdk, plugin name subagent-dsh-sdk, diagnostics prefixed subagent-dsh-sdk:. The dsh echo has precedent (dsh-llm-deepseek). Directory, fixture path, knip/tsconfig/examples registrations, catalogs, READMEs (en+zh), and the Agent Note follow; the sdk-client dispose ladder moves to its own module (src/dispose.ts) with the deterministic FakeChild tier tests restored alongside it.
SDK packages
English | 中文
Developer tooling for creating, editing, building, and running DeepSeek Harness projects, plus the client SDK stack for driving a harness runtime from another process.
The feature Agent Note owns the developer workflow; the architecture Agent Note owns the package and project-editing boundaries; the TypeScript SDK Agent Note owns the client SDK stack.
| Package | Role |
|---|---|
helper |
Project aggregate, edit session, builtin features, project documents, templates, package managers, and prompt abstraction |
scripts |
The dsh-sdk launcher: start, dev, build, and interactive config |
create-sdk |
The npm create @deepseek-ai/sdk initializer |
sdk-protocol |
Shared SDK runtime wire protocol: the newline-delimited JSON-RPC transport + named request/notification types |
sdk-client |
TypeScript client SDK: drive a harness runtime subprocess over stdio JSON-RPC (the Python SDK's design twin) |
@deepseek-ai/create-sdk is the one package-name exception to the repository's @deepseek-ai/dsh-* rule: npm's scoped initializer convention requires that name for npm create @deepseek-ai/sdk.
Generated projects keep cordis.yml as the only runtime plugin tree. dsh-sdk dev adds TypeScript and local-workspace resolution around that same file; it does not create a development-only config.