whitefirer/dsh-browser-fs
Give agents access to files on the machine where the browser runs: user authorizes a local directory via File System Access, tool calls relay over the plugin's own WebSocket; read-only compat mode for mobile/insecure contexts.
dsh-browser-fs lets the DSH agent read and write local files on the machine where the browser runs — filling the gap when dsh is deployed remotely and the browser is on a different machine than the host. The user authorizes a local directory via showDirectoryPicker in the dsh web page; the handle is stored in IndexedDB; the agent works with three model tools (browser_fs_list, browser_fs_read, browser_fs_write) relayed to the browser over the plugin's own WebSocket channel at /browser-fs/ws. A floating card shows connection/authorization status with buttons to authorize, re-authorize, switch, or revoke. Only the tab with hasHandle=true executes calls; cancel frames are wired to exec.signal for abort.
Install
dsh plugin --profile web add dsh-browser-fsThe npm package dsh-browser-fs 0.2.0 was re-verified live on 2026-10-01 with its repository field back-linking to whitefirer/dsh-browser-fs (MIT). No install scripts or build authorization required (npm install form).
Compatibility
DSH web UI. Requires browser support for the File System Access API (showDirectoryPicker). The authorized directory handle is stored in IndexedDB and survives page reloads. Multiple open tabs are supported; only the tab holding the authorized handle executes File System Access operations.
Details
- Repo: whitefirer/dsh-browser-fs
- Category: Tools & Capabilities
- Stars: 0
- Version: npm dsh-browser-fs 0.2.0 (registry re-verified 2026-10-01); MIT
- Last push: 2026-08-23
- First seen: 2026-08-15
Recent updates
The README documents the two-sided plugin architecture (host half: WebSocket channel + three tools; client half: File System Access API + IndexedDB handle + floating card), the multi-tab handling (only hasHandle tab executes), and the screenshot (agent calling browser_fs_read).
FAQ
- How do I install dsh-browser-fs?
- dsh plugin --profile web add dsh-browser-fs (npm 0.2.0 re-verified 2026-10-01).
- Why do I need this if dsh has its own fs tools?
- The README explains: dsh's built-in fs tools only reach the host machine; when dsh is deployed remotely, the browser is on a different machine and the agent can't touch your local files — this plugin bridges the gap.
- Does my authorization survive a page refresh?
- Yes — the README says the handle is stored in IndexedDB and retrieved on startup with queryPermission.
Alternatives
joejojoking-cloud/dsh-file-explorer · jiavenzhong/dsh-tool-markitdown · shixiliya1/dsh-rich-file-reader