Sttrevens/dsh-linked-folders
dsh plugin: multi-folder workspace — global linked-folders list + per-session on-the-fly linking, managed from the Web sidebar.
이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.
업스트림에서 중국어 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" callsunlink_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 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.
보안 및 설치 증거
이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.
공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.
저장소가 MIT 라이선스를 선언했습니다.
최근 180일 내 코드 업데이트가 있습니다.
재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.
검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.