.NET 10's modern FolderBrowserDialog renders Description as a bottom strip above the folder input, and the 5.1 classic dialog as an unthemed white box; the property is dropped entirely and a regression assertion pins its absence.
@deepseek-ai/dsh-host-directory-picker-native
English | 中文
The native-OS-chooser backend of the directory-picker seam: NativeDirectoryPicker registers ctx.directoryPicker with the native capability, whose pick(signal) opens one native chooser per call and resolves the chosen absolute path (null on cancel). Platform tools run without a shell: osascript on macOS, pwsh (PowerShell 7) with a Windows PowerShell 5.1 fallback on Windows — the dialog script opts the process into system DPI awareness — and Zenity with a KDialog fallback on Linux; the caller's abort terminates the native process. Only viable when the operator sits at the host's display — remote deployments compose -browse instead. The command boundary (DirectoryPickerRunner) and platform facts are injectable for deterministic tests. The shared no-shell subprocess runner lives in dsh-native-command.
Dual-face package: the browser half (./client) registers a renderless flow occupant into ui-workspace's two directory-flow holes — each open request drives host.pickDirectory and reports the one outcome (picked path / cancel / failure) through the hole's owner conversation. One cordis.yml row therefore composes both sides of the native interaction; the client carries no capability-kind branching, and mounting a second flow package fails at load (the holes are single kind).
Model Experience
None, as the backend serves the GUI host's directory selection; nothing here reaches a model request.
KV Cache effect
None; this package neither assembles nor sends a provider request.
Known Limitations and Deferred Work
- Linux requires desktop tooling — with neither Zenity nor KDialog installed,
pickrejects with an actionable error; it does not fall back to a typed-path prompt (the browse backend is that fallback at the composition level). - Windows needs PowerShell 7 for the modern picker —
pwshrenders the Explorer-style folder dialog; a machine with only Windows PowerShell 5.1 falls back to the legacy folder tree, DPI-corrected but not the modern UI.