DeepSHPlugins
dsh-linked-folders 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-linked-folders

會話與訊息JavaScriptMIT

多資料夾工作區:全域性連結資料夾列表 + 會話內臨時掛載(link_folder/unlink_folder),側邊欄管理並支援系統選目錄。

1 StarsSttrevens 更新時間 2026-08-18
訪問 GitHub 倉庫
dsh-linked-folders 專案預覽

專案介紹

中文

多資料夾工作區:全域性連結資料夾列表 + 會話內臨時掛載(link_folder/unlink_folder),側邊欄管理並支援系統選目錄。

English

Multi-folder workspace: a durable global linked-folders list plus per-session on-the-fly linking (link_folder/unlink_folder), managed from the Web sidebar with a native folder picker.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
Sttrevens
倉庫
Sttrevens/dsh-linked-folders
GitHub Stars
1
Forks
0
開發語言
JavaScript
許可證
MIT
最近推送
2026-08-18
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

52/ 100
維護活躍
84
文件與實用資訊
85
生態關注度
9
安裝便捷訊號
100
專案宣告訊號
100

README 含完整安裝與使用說明;關注度尚低(1);標準命令一鍵安裝。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add @steven-wu/dsh-linked-folders

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

@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.

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案