deepseek-harness/packages/subprocess
pku-xht e6818bd697 Merge commit '4913489a6184d124900273e3a76d595e25d76099' into codex/subprocess-win32-process-primitives
# Conflicts:
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	docs/config-catalog.zh.md
2026-08-21 21:42:39 +08:00
..
subprocess release(dsh): 0.1.1-rc.2 2026-08-21 19:48:58 +08:00
subprocess-local release(dsh): 0.1.1-rc.2 2026-08-21 19:48:58 +08:00
win32-process Merge commit '4913489a6184d124900273e3a76d595e25d76099' into codex/subprocess-win32-process-primitives 2026-08-21 21:42:39 +08:00
README.i18n.yaml Merge origin/master into codex/subprocess-win32-process-primitives 2026-08-20 19:49:34 +08:00
README.md refactor(win32-process): restore mechanical extraction 2026-08-20 15:21:01 +08:00
README.zh.md Merge origin/master into codex/subprocess-win32-process-primitives 2026-08-20 19:49:34 +08:00

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.