dsh-host-directory-picker-auto/packages/host/directory-picker-auto官方
根据宿主机环境自动选择目录选择器后端:启动时检测是否有显示器和 SSH 会话,挂载 native(本地原生选择器)或 browse(网页选择器)后端到 DeepSeek Harness GUI
ⓘ 此插件是大仓库 deepseek-ai/deepseek-harness 的子包,星数与活跃度统计的是整个仓库。
- 语言
- TypeScript
- License
- MIT
- 分支
- master
安装
$ dsh plugin --profile web add npm:@deepseek-ai/dsh-host-directory-picker-auto在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
对话式安装
帮我安装 DeepSeek Harness 插件 deepseek-ai/deepseek-harness/packages/host/directory-picker-auto:先查看仓库 https://github.com/deepseek-ai/deepseek-harness 确认安全性,然后执行安装命令并验证插件加载成功。
把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。
English | 中文
The adaptive chooser of the directory-picker seam: a node-half-only plugin that resolves the host's situation once at boot and mounts the matching dual-face backend — -native or -browse — as a real Loader entry in the in-memory root tree (never persisted to a config file; the root tree's write() is a no-op). Because the backend arrives as an ordinary entry, its browser half is discovered by the client module table exactly as a config-row's would be, so the seam's one-row-swaps-both-faces invariant holds for the resolved choice. Unloading the chooser removes the entry again, unloading both faces with it.
Resolution is one pure boot-time sample (resolveDirectoryPickerBackend), exported for reuse. native requires every signal that the operator can see the host display and the native backend can serve it: a loopback-only bind (read from the injected webServer; an all-interfaces bind admits remote browsers no OS chooser can reach), no SSH launch (SSH_CONNECTION/SSH_TTY unset or blank — under SSH port-forwarding the chooser would open on the unattended server), and a servable display session — assumed on darwin/win32; on linux DISPLAY/WAYLAND_DISPLAY plus a zenity or kdialog binary on PATH (the probe is one more boot-time fact); never on any other platform, since the native backend drives exactly darwin/win32/linux. Anything ambiguous resolves to browse, which works everywhere. The sample happens exactly once per boot so the mounted capability stays stable for the service lifetime, as the seam requires. Pinning an interaction is not a config field here — compose the -native or -browse row directly instead of this one, the seam's documented swap point; mounting the chooser and a backend row together fails loud (duplicate directoryPicker service, duplicate client flow in the single holes).
Model Experience
None, as the chooser only composes 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
- Detection infers operator location from launch context, which no launch-side signal can prove — a tmux session detached from its SSH launch loses the
SSH_*markers; a Darwin process outside an Aqua session still counts as displayed; and a workstation-local launch later reached throughssh -Larrives from127.0.0.1, resolvesnative, and opens the chooser on the unattended workstation. A wrongnativechoice degrades to the backend's existing retryable failure dialog, and composing-browsedirectly selects the safe interaction for such deployments. - The Linux chooser probe reads
PATHonly — a zenity/kdialog reachable some other way (shell alias, non-PATH install) still resolvesbrowse; installing either binary onPATHrestoresnativeeligibility at the next boot. - Boot-time only — one resolution serves every client of the boot; per-connection adaptivity (native for a local browser, browse for a remote one, same server) would need a per-client capability and the wire advertisement the seam deliberately deleted, and waits for a deployment that serves both at once.
收录徽章
[](https://deepseek-plugin.org/plugins/deepseek-ai/deepseek-harness/packages/host/directory-picker-auto)把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。