# zhu1090093659/dsh-web architecture

> Architecture diagram of the GitHub repository zhu1090093659/dsh-web, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/zhu1090093659/dsh-web
- Repository: https://github.com/zhu1090093659/dsh-web

## Overview

dsh-web is a modular DeepSeek Harness extension ecosystem, combining a plugin marketplace with operational and collaboration tools. A typical user installs extensions into a DSH web or desktop profile, then uses their GUI surfaces to manage tasks, remote access, SSH, Git, and other workflows. The graph preserves documented capabilities even where implementation details were not sampled; links for those areas are intentionally limited. The task, remote, SSH, Git, plugin-manager, and marketplace route relationships reflect the available source excerpts and README.

Main entry points: [`packages/dsh-task-board/src/core/controller.ts`](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-task-board/src/core/controller.ts) (Task controller), [`market/src/app.js`](https://github.com/zhu1090093659/dsh-web/blob/dev/market/src/app.js) (Market browser), [`packages/dsh-plugin-manager/src/host/routes.ts`](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-plugin-manager/src/host/routes.ts) (Plugin manager), [`packages/dsh-task-board/src/client/board/TaskBoard.tsx`](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-task-board/src/client/board/TaskBoard.tsx) (Task board UI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ecosystem["Extension Ecosystem"]
  node_plugin_manager["Plugin manager<br/>[routes.ts]"]
end

subgraph group_work["Task Workflow"]
  node_task_ui["Task board UI<br/>[TaskBoard.tsx]"]
  node_task_controller["Task controller<br/>[controller.ts]"]
  node_task_routes["Task host routes<br/>[host-routes.ts]"]
end

subgraph group_remote_ops["Remote Operations"]
  node_remote_ui["Remote control UI<br/>[RemotePanel.tsx]"]
  node_remote_routes["Pairing routes<br/>[routes.ts]"]
  node_ssh_ui["SSH operations UI<br/>[SshPanel.tsx]"]
  node_ssh_engine["SSH engine<br/>[engine.ts]"]
end

subgraph group_engineering["Engineering Tools"]
  node_git_ui["Git graph UI<br/>[GraphDialog.tsx]"]
  node_git_routes["Git host routes<br/>[routes.ts]"]
  node_git_service["Git service<br/>[git-service.ts]"]
  node_archive["Session archive<br/>[routes.ts]"]
  node_skills["Skill explorer<br/>[routes.ts]"]
  node_model_caps["Model capabilities<br/>[capabilities.ts]"]
end

subgraph group_marketplace["Marketplace"]
  node_market_ui["Market browser<br/>[app.js]"]
  node_market_api["Market API<br/>[index.js]"]
  node_market_install["Asset installer<br/>[routes.ts]"]
end

node_user(("DSH user"))
node_dsh["DSH host"]
node_agent["DSH agent sessions"]

node_user -->|"installs plugins"| node_plugin_manager
node_plugin_manager -->|"adds extensions"| node_dsh
node_user -->|"manages tasks"| node_task_ui
node_task_ui -->|"dispatches actions"| node_task_controller
node_task_controller -->|"sends actions"| node_task_routes
node_task_routes -->|"returns state"| node_task_controller
node_task_controller -->|"runs task sessions"| node_agent
node_user -->|"pairs device"| node_remote_ui
node_remote_ui -->|"uses pairing API"| node_remote_routes
node_user -->|"operates hosts"| node_ssh_ui
node_ssh_ui -->|"runs SSH actions"| node_ssh_engine
node_user -->|"views Git history"| node_git_ui
node_git_ui -->|"requests Git operations"| node_git_routes
node_git_routes -->|"delegates operations"| node_git_service
node_user -->|"manages sessions"| node_archive
node_user -->|"manages skills"| node_skills
node_user -->|"configures models"| node_model_caps
node_user -->|"browses assets"| node_market_ui
node_market_ui -->|"loads listings"| node_market_api
node_market_ui -.->|"requests installation"| node_market_install
node_market_install -->|"writes DSH assets"| node_dsh

click node_plugin_manager "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-plugin-manager/src/host/routes.ts"
click node_task_ui "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-task-board/src/client/board/TaskBoard.tsx"
click node_task_controller "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-task-board/src/core/controller.ts"
click node_task_routes "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-task-board/src/host-routes.ts"
click node_remote_ui "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-remote-web-ui/src/client/RemotePanel.tsx"
click node_remote_routes "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-remote-web-ui/src/routes.ts"
click node_ssh_ui "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-ssh/src/client/panel/SshPanel.tsx"
click node_ssh_engine "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-ssh/src/engine.ts"
click node_git_ui "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-git-graph/src/client/graph/GraphDialog.tsx"
click node_git_routes "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-git-graph/src/host/routes.ts"
click node_git_service "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-git-graph/src/host/git-service.ts"
click node_archive "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-session-archive/src/host/routes.ts"
click node_skills "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-skill-explorer/src/routes.ts"
click node_model_caps "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-model-capabilities/src/core/capabilities.ts"
click node_market_ui "https://github.com/zhu1090093659/dsh-web/blob/dev/market/src/app.js"
click node_market_api "https://github.com/zhu1090093659/dsh-web/blob/dev/market/worker/src/index.js"
click node_market_install "https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-market/src/routes.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_plugin_manager,node_user toneBlue
class node_task_ui,node_task_controller,node_task_routes toneAmber
class node_remote_ui,node_remote_routes,node_ssh_ui,node_ssh_engine toneMint
class node_git_ui,node_git_routes,node_git_service,node_archive,node_skills,node_model_caps toneRose
class node_market_ui,node_market_api,node_market_install,node_dsh,node_agent toneIndigo
```

## Components

### Extension Ecosystem

- [Plugin manager](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-plugin-manager/src/host/routes.ts): `packages/dsh-plugin-manager/src/host/routes.ts`

### Task Workflow

- [Task board UI](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-task-board/src/client/board/TaskBoard.tsx): `packages/dsh-task-board/src/client/board/TaskBoard.tsx`
- [Task controller](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-task-board/src/core/controller.ts): `packages/dsh-task-board/src/core/controller.ts`
- [Task host routes](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-task-board/src/host-routes.ts): `packages/dsh-task-board/src/host-routes.ts`

### Remote Operations

- [Remote control UI](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-remote-web-ui/src/client/RemotePanel.tsx): `packages/dsh-remote-web-ui/src/client/RemotePanel.tsx`
- [Pairing routes](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-remote-web-ui/src/routes.ts): `packages/dsh-remote-web-ui/src/routes.ts`
- [SSH operations UI](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-ssh/src/client/panel/SshPanel.tsx): `packages/dsh-ssh/src/client/panel/SshPanel.tsx`
- [SSH engine](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-ssh/src/engine.ts): `packages/dsh-ssh/src/engine.ts`

### Engineering Tools

- [Git graph UI](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-git-graph/src/client/graph/GraphDialog.tsx): `packages/dsh-git-graph/src/client/graph/GraphDialog.tsx`
- [Git host routes](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-git-graph/src/host/routes.ts): `packages/dsh-git-graph/src/host/routes.ts`
- [Git service](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-git-graph/src/host/git-service.ts): `packages/dsh-git-graph/src/host/git-service.ts`
- [Session archive](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-session-archive/src/host/routes.ts): `packages/dsh-session-archive/src/host/routes.ts`
- [Skill explorer](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-skill-explorer/src/routes.ts): `packages/dsh-skill-explorer/src/routes.ts`
- [Model capabilities](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-model-capabilities/src/core/capabilities.ts): `packages/dsh-model-capabilities/src/core/capabilities.ts`

### Marketplace

- [Market browser](https://github.com/zhu1090093659/dsh-web/blob/dev/market/src/app.js): `market/src/app.js`
- [Market API](https://github.com/zhu1090093659/dsh-web/blob/dev/market/worker/src/index.js): `market/worker/src/index.js`
- [Asset installer](https://github.com/zhu1090093659/dsh-web/blob/dev/packages/dsh-market/src/routes.ts): `packages/dsh-market/src/routes.ts`

### Other components

- **DSH user**
- **DSH host**
- **DSH agent sessions**

## Connections

- DSH user → Plugin manager: installs plugins
- Plugin manager → DSH host: adds extensions
- DSH user → Task board UI: manages tasks
- Task board UI → Task controller: dispatches actions
- Task controller → Task host routes: sends actions
- Task host routes → Task controller: returns state
- Task controller → DSH agent sessions: runs task sessions
- DSH user → Remote control UI: pairs device
- Remote control UI → Pairing routes: uses pairing API
- DSH user → SSH operations UI: operates hosts
- SSH operations UI → SSH engine: runs SSH actions
- DSH user → Git graph UI: views Git history
- Git graph UI → Git host routes: requests Git operations
- Git host routes → Git service: delegates operations
- DSH user → Session archive: manages sessions
- DSH user → Skill explorer: manages skills
- DSH user → Model capabilities: configures models
- DSH user → Market browser: browses assets
- Market browser → Market API: loads listings
- Market browser → Asset installer: requests installation
- Asset installer → DSH host: writes DSH assets
