deepseek-harness/packages/pty
Huanqi Cao a3a91aa654 Merge branch 'merge/1829-master' into merge/1990-1829
# Conflicts:
#	vitest.config.ts
2026-08-10 11:24:58 +08:00
..
pty docs(i18n): standardize contract terminology 2026-08-09 11:33:14 +08:00
pty-local Merge branch 'feat/windows-pwsh-default' into feat/windows-acl-sandbox 2026-08-09 16:59:52 +08:00
tool-bash-persistent Merge remote-tracking branch 'origin/worktree/ci-native-windows-20260808' into worktree/ci-native-windows-coverage-20260808 2026-08-09 13:29:57 +08:00
tool-pty fix(subprocess-local): fence descendant adoption on the shell's start identity 2026-08-08 22:17:54 +08:00
README.i18n.yaml docs(i18n): reconcile source-drifted translations 2026-08-09 10:24:11 +08:00
README.md docs: anchor each subsystem page to its package group; make group READMEs thin tables 2026-08-09 01:32:39 +08:00
README.zh.md docs(i18n): reconcile source-drifted translations 2026-08-09 10:24:11 +08:00

pty/ — 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-pty) Backend registry, branded ids, exact-Agent ownership, session operations, and awaited cleanup ctx.pty
pty-local (@deepseek-ai/dsh-pty-local) Shell backend over ctx.subprocess.spawnTerminal: readiness detection, bounded terminal state, sandbox policy, and session operations registers on ctx.pty
tool-pty (@deepseek-ai/dsh-tool-pty) 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/pty.md; design and deferred boundaries in the persistent PTY Agent Note.