dsh-workspace-scope-selection
其他 活跃维护

dsh-workspace-scope-selection

jiangr100/dsh-workspace-scope-selection

作为第四种权限选项,提供选中的工作区写入能力,配套可视化目录树范围编辑器,可直接在Web界面灵活配置权限作用域,无需额外操作即可精准控制写入范围。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
61 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:jiangr100/dsh-workspace-scope-selection
git clone https://github.com/jiangr100/dsh-workspace-scope-selection.git
git clone git@github.com:jiangr100/dsh-workspace-scope-selection.git
README.md master

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

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

dsh plugin --profile web remove dsh-workspace-scope-selection

then restart dsh web.

Development

node --test test/core.test.mjs

lib/client.js is a hand-written module-loader bundle (no build step).