Files
deepseek-harness/packages/terminal
sjw1231 ffde355ab7 refactor(jobs,terminal): import HarnessError from dsh-error
JobError and TerminalError only need the error base, so dsh-jobs and
dsh-terminal depend on dsh-error instead of the LLM runtime. The Python
SDK runtime closure includes the new package.

Refs #7869
2026-11-05 21:40:22 +08:00
..

description, kind
description kind
Package map for the persistent terminal service and the shell backend that starts interactive bash or pwsh. package-group

terminal/ — persistent PTY capability family

English | 中文

Summary

The terminal/ family lets agents keep interactive shell and REPL sessions alive across tool calls, including the working directory, environment variables, and running child processes. Use terminal/ for owner-isolated session management, terminal-bash/ for sandboxed interactive bash or pwsh sessions. Choose this family when a task needs interactive input or state that a one-shot bash command cannot retain. Sessions remain local to one harness process and do not survive a restart.

Table of Contents


Packages

This group contains one session service and one shell backend. Each child README owns the full contract; the subsystem reference owns the shared vocabulary and the generated service surface.

Package Role ctx key
terminal/ Session service: owner-scoped sessions with opaque ids, exact-owner fencing, and awaited cleanup ctx.terminals
terminal-bash/ Shell backend: interactive bash or pwsh under the shared sandbox policy, with readiness detection and bounded output registers a backend on ctx.terminals

Start with the subsystem reference for the shared types and the service surface, then the Agent Note for the design rationale and deferred boundaries.

See tool-terminal for the experimental optional capability.

Dev Note

Working context for maintainers — click to expand

None.