dshbase

插件目录 / Developer / dsh-linked-folders

dsh-linked-folders

已验证 · 实测可装 Sttrevens

✓ 持续维护 基于 5 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

0Stars
0Forks
0未关闭 issue
—语言
2026-08-18最近推送
跨平台平台

功能简介

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

✅
我们的评价
可用 — 实测通过,早期项目

dsh plugin: multi-folder workspace — global linked-folders list + per-session on-the-fly linking, managed from the Web sidebar. 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

@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

  • Composer → the 📁 button on the left of the input bar. Click it to
    open the panel: manage the global list (add by absolute path or Browse…,
    remove with ×) and see this session's temporary links.
  • 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).

Workspace-picker entry (optional Tier-2 patch)

The official workspace-picker menu is inline (not a slot), so the plugin can't
add to it. scripts/patch-workspace-picker.py patches the compiled
dsh-client-ui-workspace bundle to add a "Link folder…" entry next to
"Add workspace"; selecting it dispatches dsh:link-folder-requested, which this
plugin listens for (opens the native picker and links the chosen path).

python3 scripts/patch-workspace-picker.py
# then restart dsh web

Re-run after a dsh update (idempotent; the original bundle is backed up to
*.pre-linkfolder.bak).

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.

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-linked-folders」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:Sttrevens/dsh-linked-folders

Headless(CLI)profile:

dsh plugin --profile headless add github:Sttrevens/dsh-linked-folders

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7819 个插件 →