Bundle
dsh-workspace-scope-selection
A fourth permission option for DeepSeek Harness sessions: selected-workspace-write, where the user opens the workspace directory tree and toggles which directories the agent may write to.
- Source
- jiangr100
- License
- MIT
- Updated
- Updated 3 days ago
Readme
# dsh-workspace-scope-selection A fourth permission option for DeepSeek Harness sessions: **Selected Workspace Write**. Instead of "only the workspace" or "everything", you pick exactly which directories the agent may write to — the workspace itself included. ## What you get - The composer permission chip (and `/permission`) gains a **Selected Workspace Write** option. - Picking it opens a directory-tree editor right away. **The checked state IS the writable scope**: check directories to make them writable; the session workspace sits at the top, checked by default — uncheck it to make the workspace read-only. Everything unchecked is denied (or needs your approval). - A small **Edit scope** button next to the access chip reopens the editor. - The selection is per-session and survives restarts. ## Install ```sh dsh plugin --profile web add file:/path/to/dsh-workspace-scope-selection ``` Use the `file:` protocol (not a bare path — that records a `link:` symlink and the plugin fails to load). Then **restart `dsh web`**. ## Usage 1. Click the permission chip (or `/permission`) → **Selected Workspace Write**. 2. In the editor, check the directories the agent may write to. Unchecking a parent removes its whole subtree; a directory included via a checked parent shows a "via parent" mark. 3. Click **Done**. The selection applies immediately. ## How it works - The plugin adds a `selected-workspace-write` sandbox mode and enforces it in both the filesystem tools and the shell/terminal sandboxes: only the selected directories (plus platform temp areas) are writable. - The selection is stored in the session log and replayed on resume. - Outside the selection, writes are denied and can be escalated with your approval, like any other sandboxed operation. ## Notes - The General-settings Permission row still lists the three built-in options; this one is a per-session switch via the chip or `/permission`. - Windows grants the workspace + temp areas only (selected extra roots are denied there). - Writes outside the selection always require an approved escalation. ## Uninstall ```sh dsh plugin --profile web remove dsh-workspace-scope-selection ``` then restart `dsh web`. ## Development ```sh node --test test/core.test.mjs ``` `lib/client.js` is a hand-written module-loader bundle (no build step).
Install
dsh plugin --profile web add github:jiangr100/dsh-workspace-scope-selection#8ddb30078e3a09f75445d4cf9a6cb0329fe10d54
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-workspace-scope-selection from the hub