Files
deepseek-harness/packages/bundle/base/windows.cordis.patch.yml
T
Huanqi Cao 8ff75622c6 feat(bundle): default Windows hosts to the pwsh shell stack
win32 hosts booting a shipped profile now get pwsh-local as the ctx.bash
executor and tool-pwsh as the shell tool through the base bundle's new
windows.cordis.patch.yml platform layer, injected by the launcher between
the bundle layers and the user layers on win32. bash-sandbox, tool-bash,
permission, and ui-permission are disabled there: the POSIX-only executor
cannot run on Windows, and dsh-permission requires a confining executor.
Overriding the default is a composition decision through the user's
cordis.patch.yml; there is no environment override channel.

apps/cli and dsh-base re-declare dsh-pwsh-local/dsh-tool-pwsh so the
profile module fallback links them for cold starts (the profiles rework
had dropped them from the CLI closure).

Promotes the windows-pwsh-default Agent Note from proposed to implemented
and documents the platform layer in the base bundle README.
2026-08-07 00:37:33 +08:00

35 lines
1.3 KiB
YAML

# The dsh-base Windows platform layer: applied by the dsh launcher on win32
# hosts, between the bundle layers and the user layers, replacing the
# POSIX-only bash stack with the PowerShell stack. The launcher reads THIS
# file from the base bundle package (never through dsh.bundle.patch — that
# field names the one universal layer). A Windows host that prefers bash
# overrides the rows here through its profile or home cordis.patch.yml.
#
# Windows hosts cannot run the shipped bash executor (POSIX-only: hardcoded
# `bash -c` argv and process-group semantics), so the shipped Windows
# experience is PowerShell-native: pwsh-local backs `ctx.bash` and tool-pwsh
# is the model-facing shell tool. dsh-permission requires a confining
# executor (its presets bundle a sandbox mode the unconfined pwsh executor
# cannot honor), so the permission service and its client knob leave the
# Windows roster with the bash stack; the fs tools keep the sandbox policy
# and the approval service, so file confinement and escalation still apply.
- id: bash-sandbox
disabled: true
- id: tool-bash
disabled: true
- id: permission
disabled: true
- id: ui-permission
disabled: true
- insert:
- id: pwsh-local
name: '@deepseek-ai/dsh-pwsh-local'
- id: tool-pwsh
name: '@deepseek-ai/dsh-tool-pwsh'