wjwjw/dsh-workspace-files--packages-host-workspace-files ↗★ 1
@deepseek-ai/dsh-host-workspace-files
工作区文件浏览远程服务:单层列表、文本预览与状态查询原语。 适合为 Web 文件浏览器提供宿主端文件读取能力的开发者。
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗@deepseek-ai/dsh-host-workspace-files
English | 中文
Workspace file browsing Remote for the web GUI explorer. WorkspaceFilesGateway registers the workspaceFiles service and publishes six generated direct Remotes over the host filesystem seam (ctx.fs):
workspaceFiles/list— one directory level with per-entry kind, byte size, and dot-hidden flag, directories first then files, each name-sorted; an absent path lists the host working directory.workspaceFiles/read— a bounded UTF-8 text preview (256 KiB head cap) of one regular file; larger files reporttruncatedwith byte length only, and binary or directory targets fail with a closed business code.workspaceFiles/stat— one path's kind and byte size without reading content.workspaceFiles/write— one full-file text write (create or replace) throughctx.fs. The mounted backend's sandbox fence still applies: under the defaultworkspace-writepolicy the target must canonicalize under the workspace root (or a platform temp area). Published for a future in-dock editor; the current dock never calls it.workspaceFiles/reveal— show-in-folder on the host desktop (Explorer selection on Windows, Finder reveal on macOS, the parent directory on Linux).workspaceFiles/open— open with the Host's default application (Windows routes through PowerShellStart-Processso paths with spaces survive node's argv quoting).
list, read, and stat are deliberate read-only browsing primitives; write is the only mutation and is fenced like every other ctx.fs mutation. Failures map from ctx.fs's closed FsErrorCode vocabulary to the typed WorkspaceFilesFailure union in ./types, so the browser branches on business codes instead of messages. Typert generates the Host and Client Remote artifacts exposed by ./typert and ./remote.
The service is Remote-only and deliberately declares no same-process Cordis Context merge. The browser half mounts it through the plugin's own apply() — ui-workspace-files self-mounts workspaceFilesRemote onto the shared ctx.remote service, so no hardcoded harness Remote roster is involved — see the dsh-workspace-files README for how this package and the client plugin wire together.
Model Experience
None, as this Host-only browsing projection registers no prompt, tool, message, or provider request.
KV Cache effect
None; this package never assembles model input.
Known Limitations and Deferred Work
- No mtime or platform-hidden metadata — the
ctx.fsseam reports kind and size only; the dot-prefix convention covers hidden rows on POSIX, and Windows hidden attributes stay listed. - Narrow mutation surface — only full-file
write(create/replace) exists; directory creation, rename, and deletion stay on the workspace seams, and the current dock never callswrite. - Desktop verbs have no loopback check —
open/revealspawn host commands for any connected client; the web GUI hides the row actions unless the page is loopback and the Host reportscanOpenPath, but the Remote itself does not enforce that gate. - Truncated previews carry no head slice — a file over the 256 KiB cap returns
truncatedwith empty content rather than a partial decode; a streaming head read is deferred work.