Files
deepseek-harness/packages/terminal
imccyu 8c1e8d9890 build(release): publish the dsh family publicly
Every release member now declares publishConfig.access: public, so the scope no
longer mixes levels: the 221 packages/*/* and apps/* manifests join the vendored
framework and the native packages.

check-workspace-constraints drops the per-sequence expectation and holds every
release member to public, which is what stops a member from drifting back.

Access is a property of the package, not of a version: the dsh packages already
published as restricted become world-readable at their next publication.
2026-08-13 18:49:32 +08:00
..

terminal/ — persistent PTY capability family

English | 中文

PTY stands for Pseudo-Terminal(伪终端). This capability provides persistent, owner-scoped terminal sessions for workflows that require state across tool calls or interactive stdin. PTY complements the one-shot bash and filesystem tools; it does not replace their stronger per-operation contracts.

Package Role ctx key
pty (@deepseek-ai/dsh-terminal) Backend registry, branded ids, exact-Agent ownership, session operations, and awaited cleanup ctx.terminals
terminal-bash (@deepseek-ai/dsh-terminal-bash) Shell backend over ctx.subprocess.spawnTerminal: readiness detection, bounded terminal state, sandbox policy, and session operations registers on ctx.terminals
tool-terminal (@deepseek-ai/dsh-tool-terminal) Six model-facing tools and generic task integration for background sends registers on ctx.tools

The design and deferred boundaries live in the persistent PTY Agent Note.

The subsystem reference — ids, backend/session contracts, send readiness, bounded reads — is docs/subsystems/terminal.md; design and deferred boundaries in the persistent PTY Agent Note.