How omdsh-dev/dsh-better-sidebar works
dsh-better-sidebar is a DSH plugin that provides a native right-sidebar tab system and a complementary bottom workbench, with file browsing/editing, change review, task visibility, side chat, and an extension service. The main user path is opening a session’s sidebar, selecting a file or feature tab, and using the client UI against session-scoped host APIs. The README documents major capabilities; source excerpts and the SOURCE INDEX support selected client, routing, and model links. Several UI and server subsystems are represented at subsystem level because their implementation excerpts were not supplied.
Main entry points: index.ts Sidebar API · index.tsx Client bootstrap · api.ts Typed API client · service.ts Plugin registration service
Components 26
Sidebar client
- Client bootstrap
src/client/index.tsx - Native sidebar tabs
src/client/native/tab-adapter.tsx - Bottom workbench
src/client/SideCardSection.tsx - Typed API client
src/client/api.ts - Session state
src/client/state.ts
Files and changes
- File explorer
src/client/FileTree.tsx - Editor and preview
src/client/EditorHost.tsx - Change review
src/client/changes/ChangesTab.tsx - Diff rendering
src/client/changes/DiffPane.tsx
Work and collaboration
- Task views
src/client/TasksGraph.tsx - Task model
src/client/tasks-model.ts - Side chat
src/client/SideChatView.tsx - Team board
src/client/TeamBoard.tsx - Background jobs
src/client/JobsDrawer.tsx
Host services
- Sidebar API
src/index.ts - Filesystem services
src/fs-operations.ts - Git services
src/git.ts - Side-chat routes
src/sidechat-routes.ts - Side-chat runtime
src/sidechat-core.ts - Workflow routes
src/workflow-routes.ts - Team mutations
src/team-routes.ts
Plugin extension
- Plugin registration service
src/client/service.ts - Native surface integration
src/client/native/surface.ts
Other components
- DSH user
- DSH host
- Other plugins
Connections 32
- DSH user → Client bootstrap: opens sidebar
README.md - DSH host → Client bootstrap: loads plugin
README.md - Client bootstrap → Native sidebar tabs: installs adapter
src/client/index.tsx - Client bootstrap → Bottom workbench: mounts workbench
src/client/index.tsx - Client bootstrap → Plugin registration service: publishes service
src/client/index.tsx - Native sidebar tabs → Session state: reads session state
src/client/native/tab-adapter.tsx - Bottom workbench → Session state: persists layout
README.md - DSH user → File explorer: browses files
README.md - File explorer → Typed API client: requests file data
- DSH user → Editor and preview: opens file
README.md - Editor and preview → Typed API client: reads and saves
- DSH user → Change review: reviews changes
README.md - Change review → Diff rendering: renders diffs
- DSH user → Task views: views activity
README.md - Task views → Task model: renders model
src/client/TasksGraph.tsx - Task model → Sidebar API: uses workflow data
- DSH user → Side chat: starts side thread
README.md - Side chat → Typed API client: sends chat actions
- DSH user → Team board: manages team tasks
README.md - Team board → Typed API client: submits mutations
- DSH user → Background jobs: monitors jobs
README.md - Typed API client → Sidebar API: posts API requests
src/client/api.ts - Sidebar API → Filesystem services: calls filesystem
src/index.ts - Sidebar API → Git services: calls Git
src/index.ts - Sidebar API → Side-chat routes: dispatches chat routes
src/index.ts - Side-chat routes → Side-chat runtime: resolves thread data
src/sidechat-routes.ts - Sidebar API → Workflow routes: dispatches workflow route
src/index.ts - Sidebar API → Team mutations: dispatches team routes
src/index.ts - Workflow routes → DSH host: reads session activity
src/workflow-routes.ts - Team mutations → DSH host: mutates team tasks
src/team-routes.ts - Other plugins → Plugin registration service: registers tabs
src/client/service.ts - Plugin registration service → Native surface integration: opens native tabs
src/client/service.ts