# Conflicts: # .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml # .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.md # .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md # examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/input.json # examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl # packages/bundle/acp-app/package.json # packages/examples/jsonrpc-demo/src/packaged-bin.ts # packages/subagent/subagent-acp/src/run.ts # packages/subagent/subagent-acp/tests/subagent-acp.spec.ts # packages/subprocess/subprocess-local/README.i18n.yaml # packages/subprocess/subprocess-local/README.md # packages/subprocess/subprocess-local/README.zh.md # pnpm-lock.yaml # scripts/smoke-python-runtime.py
subprocess/ — subprocess capability family
English | 中文
The shared process substrate for one execution world: executable lookup, fully-specified managed child-process trees with raw or collected stdio, and one deep terminal-process primitive that owns PTY allocation, foreground groups, and provider-observable session cleanup. Command defaulting, shell semantics, deadlines, protocol framing, readiness, and presentation stay with consumers — the bash executors, LSP host, PTY shell backend, and ACP subagent backend. See the subprocess seam Agent Note.
| Package | ctx key | Role |
|---|---|---|
subprocess (@deepseek-ai/dsh-subprocess) |
ctx.subprocess |
Service Definition: executable lookup, ordinary managed spawns, the terminal-process primitive, handle lifecycles, and shared environment/output vocabulary |
subprocess-local (@deepseek-ai/dsh-subprocess-local) |
— | Local Service Provider: native managed ranges with disclosed fallbacks, bounded collection/spill, node-pty, foreground/session inspection, signalling, and terminate-and-join disposal |
win32-process (@deepseek-ai/dsh-win32-process) |
— | Windows-only low-level library: the single Koffi owner for sandbox and ordinary process creation, inherited/anonymous/named-pipe stdio, suspended Job assignment, polling, waits, and handle cleanup |
The service owns process lifetime across consumer reloads; consumers own what a process means (a bash command, a future non-shell runner) and every default that shapes one.
The subsystem reference — spawn specs, output readers, outcomes, the DSH_* environment — is docs/subsystems/subprocess.md; the seam decision in the subprocess seam Agent Note.