Sttrevens / dsh-linked-folders

Listed

dsh plugin: multi-folder workspace — global linked-folders list + per-session on-the-fly linking, managed from the Web sidebar.

mainSession View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:Sttrevens/dsh-linked-folders

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 88fce3fSynced Aug 17, 2026

@steven-wu/dsh-linked-folders

Out-of-tree dsh plugin that gives a session multi-folder workspace access — like Codex's linked folders.

  • A global linked-folders list (durable, cross-session) — your "global workspace".
  • Per-session temporary links the model adds/removes on the fly with link_folder / unlink_folder.

Both lists are injected into the system prompt, so the model knows which extra roots it may cd into and work across.

Install

The package declares a dsh.bundle manifest, so dsh plugin add installs it and adds it to the profile's bundle layers automatically:

dsh plugin --profile web add @steven-wu/dsh-linked-folders
# restart the web profile, then refresh the page

Use

  • Sidebar → footer → 📁 Linked folders (N). Expand it to see the global list, add a folder by absolute path, or remove one with ×.
  • Model: say "link folder /path/to/foo" — the agent calls link_folder; "unlink /path/to/foo" calls unlink_folder. Session links appear in the prompt as (this session).

Configuration

State lives in ~/.dsh/linked-folders.json:

{
  "global": ["/Users/you/projects/app", "/Users/you/projects/lib"],
  "sessions": { "session-abc…": ["/tmp/scratch"] }
}

Override the path with the DSH_LINKED_FOLDERS env var or the bundle row's config.path. Linked folders are canonicalized to real paths and must be existing directories.

Sandbox note

The plugin only advertises folders to the model and provides the management UI; it does not change the file sandbox. Under danger-full-access the model can read/write anywhere; under workspace-write it can read linked folders but writes are still confined to the session workspace root.

Model experience

  • System prompt: a ## Linked folders section listing global + session roots.
  • Tools: link_folder(path) / unlink_folder(path).
  • Web Remote: the client bundle explicitly mounts the linkedFolders Remote contribution before the sidebar consumes it (required by dsh rc.6+).
  • Prompt token cost: proportional to the number of linked folders (one short line each), zero when none are linked.

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected

Repository information

Language
JavaScript
License
MIT
Last updated
Aug 17, 2026, 5:52 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.