多文件夹工作区:全局链接文件夹列表 + 会话内临时挂载(link_folder/unlink_folder),侧边栏管理并支持系统选目录。
安装
# npm 包(预构建)
dsh plugin --profile web add @steven-wu/dsh-linked-folders
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:Sttrevens/dsh-linked-folders
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
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" callsunlink_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 folderssection listing global + session roots. - Tools:
link_folder(path)/unlink_folder(path). - Web Remote: the client bundle explicitly mounts the
linkedFoldersRemote 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.
链接
同类插件
Anionex/dsh-turn-rewind★ 67
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。
Nwflower/dsh-chat-import★ 51
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。
whyihaveyou/dsh-suite#plugin-session-export★ 38
把 append-only 会话日志导出为按轨迹来源分组的可读 Markdown 或 HTML。
Chinesezjc/dsh-interconnect★ 30
跨实例互联:经 interconnect 服务在多个 DSH 实例间转发消息与事件。
Moeblack/dsh-message-edit★ 25
基于分支的消息编辑、reroll、重试与版本时间线。
hellodigua/dsh-share★ 22
一键分享你的对话。