DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-fork-view

a

dsh-fork-view

Manifest valid

DSH web plugin: replaces the native workspace browser in the left sidebar with a session tree in the style of pi-web by agegr.

UI (client)hasBundlePatch

[!WARNING] BROKEN / UNMAINTAINED — do not install this plugin.

It is superseded by dsh-client-ui-forkspace. Forkspace takes over the entire sidebar.workspaces occupant (the official ui-workspace row is disabled and the fork fills the slot), and does strictly more than this plugin did — this one shadowed that same slot and did everything else worse.

The code below is kept for historical reference only. It is not built, not mounted by any profile, and receives no fixes. There is no migration path worth writing: install forkspace instead.

dsh-fork-view

English | 中文

DSH web plugin: replaces the native workspace browser in the left sidebar with a session tree in the style of pi-web by agegr — workspace → session → forks / subagents. Flat by default: forks-of-forks collapse into level-2 siblings; raise maxDepth to nest them for real.

SidebarHover actions
SidebarHover actions

Features

  • Flat by default: workspace → session, with fork rows and collapsible > Subagents (N) groups underneath. At the default maxDepth: 2, forks-of-forks at any depth flatten into sibling rows at level 2 — set maxDepth ≥ 3 and they nest under their parent instead.
  • Subagent groups: each session/fork collects its subagents into a collapsible group, collapsed by default.
  • Archive-friendly: archived sessions hide their whole group; descendants of archived nodes re-parent to the nearest surviving ancestor — no orphaned rows.
  • Hover actions menu: Rename / Fork / Archive, matching the native dsh sidebar. Self-contained inline SVG + small popover; zero extra modules.
  • dsh-native look: one muted vertical indent guide instead of tree elbows; all colors via dsh CSS variables, adapts to light/dark.

Install

Requires a DSH ≥ 0.0.1 web profile and Node ≥ 20.

From GitHub (pnpm / dsh)

One-liner via the dsh CLI (installs and auto-mounts — the plugin ships its own cordis.patch.yml; the CLI sees the dsh.bundle.patch declaration and appends it to the bundle stack, no profile file edits):

dsh plugin --profile web add github:an4nsi/dsh-fork-view   # adjust profile name

Or manually with pnpm — inside your web profile directory (the one with package.json / cordis.patch.yml):

cd ~/.dsh/profiles/web        # adjust to your profile path
pnpm add github:an4nsi/dsh-fork-view#main
# pnpm ≥ 10 asks to approve build scripts on first run: allow esbuild and
# dsh-fork-view's prepare; missed it? `pnpm approve-builds`, then check lib/ exists

The pnpm route also mounts the plugin row in the profile's cordis.patch.yml (the dsh CLI route already did):

- insert:
    - id: dsh-fork-view
      name: "dsh-fork-view"
      # optional config, see "Configuration":
      # config:
      #   maxDepth: 2

Restart dsh web (host-half change) and hard-refresh the browser.

Manual / development

git clone https://github.com/an4nsi/dsh-fork-view.git && cd dsh-fork-view
pnpm install  # prepare hook builds lib/
pnpm test

Configuration

KeyDefaultDescription
maxDepth2Levels to render. 1 roots only; 2 roots + direct forks + subagent groups; ≥3 actually nests fork-of-fork under its parent
showSubagentstrueRender > Subagents (N) groups
subagentsCollapsedByDefaulttrueInitial open/closed state of subagent groups

Config lives on the plugin row (YAML above); validated host-side by schemastery, forwarded to the client half.

Development

# dsh-fork-view:tree tab registration (better-sidebar) — wrapped in ctx.effect for HMR/disposer safety; old sidebar.workspaces slot kept as fallback so no-better-sidebar installs still work

src/client/index.jsx   client half: sidebar component (real JSX) → CJS bundle
src/index.js           host half: schemastery Config + no-op apply (client-only plugin)
cordis.patch.yml       dsh.bundle.patch layer: inserts the plugin row
build.mjs              esbuild dual-entry build → lib/client.js + lib/index.js
tests/                 model tests against the built bundle (mock jsx-runtime)
lib/                   build output, gitignored; produced by prepare on install
pnpm run build && pnpm test

src/client/index.jsx client half: sidebar component (real JSX) → CJS bundle src/index.js host half: schemastery Config + no-op apply (client-only plugin) cordis.patch.yml dsh.bundle.patch layer: inserts the plugin row build.mjs esbuild dual-entry build → lib/client.js + lib/index.js tests/ model tests against the built bundle (mock jsx-runtime) lib/ build output, gitignored; produced by prepare on install


```bash
pnpm run build && pnpm test

Credits

  • pi-web by agegr — the original fork/subagent process tree this plugin reimplements for the dsh sidebar.
  • The dsh web plugin surface (__ModuleLoader__, client slots) that makes a drop-in sidebar replacement possible.

License

MIT © anansi & inogai

Comments

Loading…

Similar plugins

dsh-better-workspace

by KannaKuron

DSH web plugin: a hierarchical workspace tree for the sidebar — titles containing / group into virtual folders; the add-workspace flow gains a parent-group popup

UI & ExperienceManifest valid

★ 14

↓ 1.4k/wk

MIT

JavaScript

Oct 5, 2026

dsh plugin --profile web add dsh-better-workspace

by jackxiao-hub

A DSH web client plugin that turns the Settings → Plugins page into a dependency-layered plugin tree, plus an interactive dependency graph. Dependencies are prerequisites: see at a glance how plugins

Manifest valid

★ 0

MIT

TypeScript

Aug 16, 2026

dsh plugin --profile web add @dsh-external/dsh-client-ui-plugin-tree

by NattoCB

Adds a Workspaces / Recent-sessions switcher above the sidebar list, with a pinned-sessions group, a per-row menu (pin/unpin, copy session id), title filtering, and browser-local pin storage with a on

UI & ExperienceSessions & MessagesManifest valid

★ 1

MIT

JavaScript

Sep 10, 2026

dsh plugin --profile web add dsh-plugin-sidebar-views

✦

No screenshots

by Xliecc

DSH web plugin: show every session's theme in the left sidebar on load

Themes & SkinsUI & ExperienceSessions & MessagesManifest valid

★ 3

↓ 68/wk

MIT

JavaScript

Aug 20, 2026

dsh plugin --profile web add dsh-session-theme

by Schrei5

DSH sidebar plugin: show each session's project (Workspace) name under its title in the flat session list

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 30, 2026

dsh plugin --profile web add dsh-plugin-session-project

by doebkblcya

A VS Code-style workbench (Preview + Files/Git panels) plugin for the DSH Web GUI

Manifest valid

★ 0

TypeScript

Aug 18, 2026

dsh plugin --profile web add @doebkblcya/dsh-workbench