Bundle
@dsh-external/dsh-workspace-tree
Virtual session folder grouping, move-to-folder menu, and nested workspace subproject manager for DeepSeek Harness (DSH).
- Source
- pipipigu
- stars
- 1 stars
- License
- MIT
- Updated
- Updated yesterday
Readme
# 🌲 dsh-workspace-tree <p align="center"> <strong>English</strong> | <strong><a href="./README.zh.md">简体中文</a></strong> </p> > **Virtual Session Folder Grouping, Move-to-Folder Menu, and In-App Visual Directory Browser for DeepSeek Harness (DSH).** [](LICENSE) [](https://github.com/pipipigu/dsh-workspace-tree) [](https://www.typescriptlang.org/) [](https://vitest.dev/) --- ## 📸 Visual Previews ### 1. Sidebar Overview & Core Features  --- ### 2. In-App Visual Directory Browser & Workspace Creator  --- ### 3. Precision Click-to-Move Folder Menu  --- ## 🌟 Key Features - **📁 Virtual Session Folders** - **Zero Filesystem Pollution**: Never moves or modifies underlying conversation logs or physical directories. Metadata is atomically persisted at `.dsh/workspace-tree.json`. - **Multi-Workspace Stability**: Independent classification and pin queue per workspace. Folders remain persistent and stable across workspace switches. - **Full Folder Lifecycle**: Create, inline rename (double-click), custom color badge, and delete (internal sessions safely fallback to uncategorized). - **➕ Folder-Scoped Session Creation** - Hover on any folder and click **`[+]`** to start a new conversation **directly inside that targeted folder** with atomic SessionId binding, avoiding race conditions. - **🚀 Active Task Banner & Read-to-Dismiss** - **Compact 28px Top Capsule**: Pins active running tasks and unread completed conversations at the top of the sidebar. - **Smooth Lifecycle Transition**: Pulsing blue dot during generation -> persistent green `[Unread]` badge when completed in background -> automatically dismissed upon reading. - **Deep-Jump & Auto-Expand**: One-click navigation that automatically expands the parent workspace and folder. - **📂 Precision Move-to-Folder Dropdown Menu** - **Zero Misclicks**: Replaced awkward sidebar drag-and-drop with a crisp, reliable click-to-move dropdown menu. - **Instant Categorization**: Quick folder selection or inline new folder creation; dedicated eject button inside folders to return sessions to uncategorized. - **🗂️ In-App Visual Directory Browser & Workspace Creator** - **One-Click Visual Adoption**: Click **`[+]`** on the sidebar header to open a native-feeling "Select Workspace Directory" modal dialog. - **Full Hierarchy Navigation**: Home directory jump, breadcrumb navigation, single-click selection, double-click/chevron drill-down, and up-level button. - **Inline Folder Creation & Hidden Files**: Create new subdirectories directly in the dialog and toggle hidden files (`.config`, etc.). - **Direct Path Editing**: Click the pen icon to switch to raw path typing/pasting. - **Zero Slot Conflicts**: Self-contained host RPC and UI, completely bypassing DSH internal slot conflicts with 100% stability across Web and Desktop. - **📌 Session Pinning, Inline Rename & Pagination** - Pin important sessions to the top of the workspace. - Double-click any session title to activate inline renaming. - Displays top 10 sessions by default with an expander for remaining items. - **🎨 Native Single Slot Shadowing** - Seamlessly shadows the native `sidebar.workspaces` slot with `priority: -10`, blending with DSH dark/light color schemes (`--dsw-*`). - Pure SVG vector icons with zero emoji clutter. - **⚡ 0ms Reactive Engine (Version Snapshot)** - Powered by `useSyncExternalStore` with immutable version increment snapshots, ensuring instant 0ms UI re-renders on any action. --- ## 📦 Installation ### Option A: Install from GitHub (Recommended) Run the following command in your terminal: ```bash dsh plugin --profile web add github:pipipigu/dsh-workspace-tree ``` Restart your DSH Web instance (or refresh the browser) to enjoy! ### Option B: Local Development (Link Mode) ```bash # 1. Clone repository git clone https://github.com/pipipigu/dsh-workspace-tree.git cd dsh-workspace-tree # 2. Install dependencies & build pnpm install pnpm build # 3. Link to DSH Web Profile dsh plugin --profile web add link:$(pwd) ``` --- ## 🏗️ Architecture & Data Flow  --- ## 🛠️ Development & Commands ```bash # Install dependencies pnpm install # Type checking (0 errors) pnpm typecheck # Unit tests (Vitest) pnpm test # Production build (generates lib/index.js & lib/client.js) pnpm build ``` --- ## 📄 License This project is licensed under the [MIT License](LICENSE).
Install
dsh plugin --profile web add github:pipipigu/dsh-workspace-tree
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-external-dsh-workspace-tree from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.