How michengai/dsh-codex-ui works
DSH Codex UI is a browser plugin that replaces and extends DSH Web’s navigation. A user browses workspaces and conversations in its sidebar, chooses a conversation or starts one, then manages sessions or navigates long chats. The README also documents global search, input recall, scheduled tasks, connectors, and companion-plugin settings. Paths reflect the supplied tree; detailed wiring for unsampled UI modules is intentionally omitted.
Main entry points: src/index.ts Host plugin entry · session-tree.tsx Session tree · session-row-actions.tsx Session actions · client/index.ts Client plugin entry
Components 24
Navigation UI
- Codex sidebar
src/client/CodexSidebar.tsx - Workspace browser
src/client/CodexWorkspaceBrowser.tsx - Session tree
src/client/session-tree.tsx - Sidebar search
src/client/sidebar-search.ts
Conversation workflow
- Session actions
src/client/session-row-actions.tsx - Session navigation
src/client/session-navigation.ts - Turn navigator
src/client/TurnNavigator.tsx - Input history
src/client/InputHistoryDock.tsx
Settings and tools
- Schedule browser
src/client/ScheduleBrowser.tsx - Channel browser
src/client/ChannelBrowser.tsx - Settings page
src/client/CodexSettingsPage.tsx - Plugin configuration
src/client/PluginConfigSection.tsx
Host integration
- Host plugin entry
src/index.ts - Client plugin entry
src/client/index.ts - Session host adapter
src/client/session-host.ts - Session migration
src/session-migration.ts - Companion manager
src/dependency-manager.ts - Host service boundary
src/host-services.ts
Session and workspace state
- Unread session state
src/client/session-manager.ts - Workspace preferences
src/workspace-preferences.ts
Other components
- DSH Web user
- DSH Web host
- DSH host services
- Browser storage
Connections 27
- DSH Web user → Codex sidebar: uses
- DSH Web host → Host plugin entry: loads plugin
- DSH Web host → Client plugin entry: loads client
- Client plugin entry → Codex sidebar: registers UI
- Codex sidebar → Workspace browser: shows workspaces
- Workspace browser → Session tree: lists sessions
- DSH Web user → Sidebar search: searches
- DSH Web user → Session tree: selects session
- Session tree → Session actions: offers actions
- Session actions → Session host adapter: manages sessions
- Session actions → Session migration: requests move
- Session tree → Session navigation: opens conversation
- Session navigation → Session host adapter: opens session
- DSH Web user → Turn navigator: jumps to turn
- DSH Web user → Input history: recalls input
- DSH Web user → Schedule browser: browses schedules
- DSH Web user → Channel browser: browses channels
- DSH Web user → Settings page: opens settings
- Settings page → Plugin configuration: configures plugins
- Plugin configuration → Companion manager: manages companions
- Client plugin entry → Unread session state: tracks unread
- Unread session state → Browser storage: reads and writes
- Host plugin entry → Host service boundary: validates services
- Host plugin entry → Companion manager: serves management
- Host plugin entry → Session migration: moves sessions
- Host plugin entry → Workspace preferences: serves preferences
- Host service boundary → DSH host services: accesses services