feat(host): adaptive directory-picker default via -auto chooser

Add @deepseek-ai/dsh-host-directory-picker-auto, a node-half-only chooser
that samples the host situation once at boot (bind host via a new
httpServer.host getter, SSH markers, platform, DISPLAY/WAYLAND_DISPLAY)
and mounts the matching dual-face backend (-native or -browse) as a real
Loader entry in the in-memory root tree; the effect disposer removes it.
Entry-level mounting keeps the seam's one-row-swaps-both-faces invariant:
the client module table discovers the mounted backend's browser half
exactly as a config row's. apps/cli now composes -auto as its
directory-picker row; composing a backend row directly remains the pin.
This commit is contained in:
creatixchu
2026-07-29 18:34:06 +08:00
parent 87c9ab06b3
commit 8cec74748b
32 changed files with 553 additions and 19 deletions

30
pnpm-lock.yaml generated
View File

@@ -230,6 +230,9 @@ importers:
'@deepseek-ai/dsh-host-apiproxy':
specifier: workspace:^
version: link:../../packages/host/apiproxy
'@deepseek-ai/dsh-host-directory-picker-auto':
specifier: workspace:^
version: link:../../packages/host/directory-picker-auto
'@deepseek-ai/dsh-host-directory-picker-browse':
specifier: workspace:^
version: link:../../packages/host/directory-picker-browse
@@ -2934,6 +2937,33 @@ importers:
specifier: ^4.0.0-rc.7
version: 4.0.0-rc.7(@cordisjs/plugin-include@1.0.4)(@cordisjs/plugin-loader@1.0.0-rc.5)
packages/host/directory-picker-auto:
devDependencies:
'@cordisjs/plugin-include':
specifier: workspace:^
version: link:../../../vendor/include
'@cordisjs/plugin-loader':
specifier: workspace:^
version: link:../../../vendor/loader
'@deepseek-ai/dsh-host-directory-picker':
specifier: workspace:^
version: link:../directory-picker
'@deepseek-ai/dsh-host-directory-picker-browse':
specifier: workspace:^
version: link:../directory-picker-browse
'@deepseek-ai/dsh-host-directory-picker-native':
specifier: workspace:^
version: link:../directory-picker-native
'@deepseek-ai/dsh-host-webserver':
specifier: workspace:^
version: link:../webserver
'@deepseek-ai/dsh-invariants':
specifier: workspace:^
version: link:../../support/invariants
cordis:
specifier: ^4.0.0-rc.7
version: 4.0.0-rc.7(@cordisjs/plugin-include@vendor+include)(@cordisjs/plugin-loader@vendor+loader)
packages/host/directory-picker-browse:
dependencies:
'@deepseek-ai/dsh-host-directory-picker':