# Conflicts: # packages/acp/acp/tests/approval.spec.ts # packages/acp/acp/tests/edges.spec.ts # packages/api/session-controller/tests/event-script.client.ts # packages/client/connection/src/client/fixture.ts # packages/client/ui-conversation/src/client/contract/slots.ts # packages/client/ui-conversation/src/client/contract/views.ts # packages/client/ui-conversation/src/client/index.ts # packages/client/ui-conversation/src/client/stores.ts # packages/core/agent-loop/tests/loop.spec.ts # packages/extensions/cordis-client-runner/src/client/slot-catalog.ts # packages/extensions/tool-cordis/src/api-catalog.ts # packages/host/apiproxy/src/api-proxy.ts # packages/host/apiproxy/src/api/events.ts # packages/host/apiproxy/tests/api-proxy-view.spec.ts # packages/interaction/user-approval/src/index.ts # packages/llm/llm-deepseek/tests/adapter.e2e.ts # packages/llm/llm-pi-ai/src/context.ts # packages/llm/llm-pi-ai/tests/context.spec.ts # packages/llm/llm/tests/content.spec.ts # packages/subagent/subagent/tests/continuation.spec.ts # packages/subagent/tool-subagent/tests/tool-subagent.spec.ts # packages/test-support/llm-replay/tests/llm-replay.spec.ts # packages/todo/tool-todo/tests/tool-todo.spec.ts # scripts/gen-persistence-catalog.ts
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: detached process trees, bounded collection/spill, node-pty, foreground/session inspection, tree signalling, and terminate-and-join disposal |
win32-process (@deepseek-ai/dsh-win32-process) |
— | Windows-only low-level library: the single Koffi owner for restricted process creation, inherited/anonymous-pipe stdio, suspended Job assignment, 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.