description: "Package map for the persistent terminal capability family: the owner-scoped ctx.terminals service, the shell backend that starts interactive bash or pwsh, and the six model-facing tools."
English | 中文
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, and tool-terminal/ for six model-facing terminal operations with bounded results. 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.
The family is one session service, one shell backend, and one set of model-facing tools. 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 |
tool-terminal/ |
Six model-facing tools with owner isolation and optional background sends | registers on ctx.tools |
Start with the subsystem reference for the shared types and the service surface, then the Agent Note for the design rationale and deferred boundaries.
ctx.terminals API.