Files
deepseek-harness/packages/shell
Yichen Jiang a8dc6f9776 fix(pty): keep the controlled prompt so persistent bash settles fast
tool-bash-persistent overwrote the backend's PS1, so terminal-bash prompt
readiness never matched and every send degraded to the 3.5s silence tier
(idleSilenceMs + handoffGraceMs) under production defaults.

The controlled PROMPT_COMMAND now re-asserts PS1 before every prompt, so an
in-shell override never survives to the next prompt. The tool initializes
with stty -echo alone and detects the no-end-marker fallback through the
seam's stdin_read wait reason instead of matching its own prompt text.

Tool calls drop from 7180/3560/3566 ms to 355/88/91 ms (spawn+init+echo,
echo, pwd; darwin, production defaults). The loader composition suite now
pins the fast path by pushing idleSilenceMs beyond the send bound, and a
real-PTY case proves PS1 self-healing.

Fixes #2585
2026-08-15 11:06:57 +08:00
..
2026-08-13 19:52:05 +08:00
2026-08-13 19:52:05 +08:00
2026-08-13 19:52:05 +08:00
2026-08-13 19:52:05 +08:00
2026-08-13 19:52:05 +08:00
2026-08-13 19:52:05 +08:00
2026-08-13 19:52:05 +08:00
2026-08-13 19:52:05 +08:00

shell/ — bash capability family

English | 中文

The capability family spans the canonical executor seam, its implementations, the shared shell environment, and the model-facing tools. All are product packages.

Package Role ctx key
shell/ Defines the executor contract shared by Service Providers and Consumers. ctx.shell
bash-local/ Executes commands through the local subprocess service. (registers ctx.shell)
bash-sandbox/ Applies the configured sandbox backend before local execution. (registers ctx.shell)
pwsh-local/ Executes PowerShell commands with Windows-specific process behavior. (registers ctx.shell)
shell-env/ Provides the managed DSH_* environment shared by shell tools. ctx.shellEnv
tool-bash/ Exposes Bash execution and background-job integration to the model. (registers on ctx.tools)
tool-pwsh/ Exposes PowerShell execution to the model. (registers on ctx.tools)

A leaf cordis.yml selects one executor implementation and the model-facing tools it needs. A sandboxed composition also selects a ctx.sandbox provider; the ACP example shows one complete wiring.

The subsystem reference — request/spec vocabulary, results, background processes, the service, and events — is docs/subsystems/shell.md.