dsh-fork-view
Manifest validDSH web plugin: replaces the native workspace browser in the left sidebar with a session tree in the style of pi-web by agegr.
[!WARNING] BROKEN / UNMAINTAINED — do not install this plugin.
It is superseded by
dsh-client-ui-forkspace. Forkspace takes over the entiresidebar.workspacesoccupant (the officialui-workspacerow 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.
| Sidebar | Hover actions |
|---|---|
![]() | ![]() |
Features
- Flat by default:
workspace → session, with fork rows and collapsible> Subagents (N)groups underneath. At the defaultmaxDepth: 2, forks-of-forks at any depth flatten into sibling rows at level 2 — setmaxDepth ≥ 3and 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
| Key | Default | Description |
|---|---|---|
maxDepth | 2 | Levels to render. 1 roots only; 2 roots + direct forks + subagent groups; ≥3 actually nests fork-of-fork under its parent |
showSubagents | true | Render > Subagents (N) groups |
subagentsCollapsedByDefault | true | Initial 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
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
★ 14
↓ 1.4k/wk
MIT
JavaScript
Oct 5, 2026
dsh plugin --profile web add dsh-better-workspaceby 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
★ 0
MIT
TypeScript
Aug 16, 2026
dsh plugin --profile web add @dsh-external/dsh-client-ui-plugin-treeby 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
★ 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
★ 3
↓ 68/wk
MIT
JavaScript
Aug 20, 2026
dsh plugin --profile web add dsh-session-themeby Schrei5
DSH sidebar plugin: show each session's project (Workspace) name under its title in the flat session list
★ 0
MIT
JavaScript
Sep 30, 2026
dsh plugin --profile web add dsh-plugin-session-projectby doebkblcya
A VS Code-style workbench (Preview + Files/Git panels) plugin for the DSH Web GUI
★ 0
TypeScript
Aug 18, 2026
dsh plugin --profile web add @doebkblcya/dsh-workbench
