Files
deepseek-harness/packages/shell
Yichen Jiang 06d1caf82f feat(agent): choose the step route through agent/route
- Add the agent/route waterfall, dispatched once per proposed step before
  system-prompt/prepare and agent/pre-step; model selection captures its
  choice there, and a later selection applies from the next step.
- Pass the chosen StepRoute to prompt preparation and assembly, the
  agent/pre-step payload, and tool conditions; remove Agent.currentRoute().
- Run agent/request and prepareCall() for each attempt after step/start and
  prompt assembly; agent/request may change only call controls, and another
  provider or model fails the step.
- Resolve conditional tools and assemble the prompt once per step; retries
  reuse the route, tool set, and rendered assembly.
- Update documentation, Agent Notes, generated catalogs, tests, and the
  cordis-inspect-jsdoc snapshot.
2026-10-12 23:59:29 +08:00
..
2026-10-09 15:13:40 +08:00
2026-10-09 15:13:40 +08:00
2026-10-09 15:13:40 +08:00

description, kind
description kind
The bash capability family for deployments and maintainers choosing and composing a shell executor, sandboxing, and the model-facing bash and pwsh tools. package-group

shell/ — bash capability family

English | 中文

Summary

The shell group provides command execution to agents: run a foreground command and read its bounded output, or start a background process and poll it, on POSIX with Bash and on Windows with PowerShell. Exactly one executor implementation is mounted per composition; the sandboxing executors confine every command through the sandbox capability, and the model-facing bash and pwsh tools sit on top of whichever executor is mounted. Choose a Bash executor for POSIX, a PowerShell executor for Windows, and pick the sandboxing variant when commands need file-level confinement.

Table of Contents


Packages

Package Role ctx key
shell Defines the executor contract: foreground runs, background handles, and request resolution ctx.shell
bash-local Runs Bash commands as fresh bash -c processes on POSIX registers ctx.shell
bash-sandbox Runs Bash commands confined through the sandbox capability, reporting denials as facts registers ctx.shell
pwsh-local Runs PowerShell commands as fresh pwsh -Command processes on Windows registers ctx.shell
pwsh-sandbox Runs PowerShell commands confined through the sandbox capability registers ctx.shell
shell-env Supplies the managed DSH_* environment every shell command receives ctx.shellEnv
tool-bash Exposes Bash execution and background jobs to the model as the bash tool registers on ctx.tools
tool-bash-persistent Runs model shell calls in one owner-isolated persistent Bash session registers on ctx.tools
tool-pwsh Exposes PowerShell execution to the model as the pwsh tool registers on ctx.tools
tool-pwsh-persistent Runs model shell calls in one owner-isolated persistent PowerShell session registers on ctx.tools

A profile layer selects exactly one executor implementation (the win32 layer swaps the POSIX rows for the pwsh ones; mounting two fails loudly at load time on the duplicate service registration) and the model-facing tools it needs. A sandboxed composition also selects a ctx.sandbox provider and ctx.sandboxPolicy; the base bundle owns the shipped wiring.


  • Bash executor subsystem — the shared request/spec vocabulary, results, background processes, and the complete service contract.
  • Sandbox subsystem — the confinement capability the sandboxing executors consume.

Dev Note

None.