# manikandan1511/deepseek-harness architecture

> Architecture diagram of the GitHub repository manikandan1511/deepseek-harness, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/manikandan1511/deepseek-harness
- Repository: https://github.com/manikandan1511/deepseek-harness

## Overview

DeepSeek Harness is a plugin-oriented agent harness with a Web UI and CLI launch path. The user-facing workflow starts the local web experience; inside the runtime, session management, tool execution, subagents, scheduling, and durable session storage are distinct capabilities. The excerpts support some session-client and persistence links, but do not show the web server’s internal startup wiring or most plugin/runtime integration, so those links are omitted or marked unverified.

Main entry points: [`packages/api/session-controller/src/client/sessions/manager.ts`](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/api/session-controller/src/client/sessions/manager.ts) (Session client manager), [`packages/api/session-controller/src/client/sessions/session.ts`](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/api/session-controller/src/client/sessions/session.ts) (Session instances), [`apps/cli/src/bin.ts`](https://github.com/manikandan1511/deepseek-harness/blob/master/apps/cli/src/bin.ts) (DSH CLI), [`apps/web/src/main.ts`](https://github.com/manikandan1511/deepseek-harness/blob/master/apps/web/src/main.ts) (Web UI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["User entry"]
  node_cli["DSH CLI<br/>[bin.ts]"]
  node_web["Web UI<br/>[main.ts]"]
end

subgraph group_runtime["Harness runtime"]
  node_subagents["Subagent manager<br/>[manager.ts]"]
  node_schedule[("Schedule storage<br/>[storage.ts]")]
  node_sdk_server["SDK server<br/>[server.ts]"]
end

subgraph group_sessions["Session services"]
  node_session_client["Session client manager<br/>[manager.ts]"]
  node_session_instances["Session instances<br/>[session.ts]"]
  node_session_projection["Session projections"]
  node_session_notifier["Session notifier<br/>[notifier.ts]"]
  node_session_gateway["Gateway client<br/>[index.ts]"]
  node_persistence_contract["Persistence contract"]
  node_jsonl_storage[("JSONL persistence<br/>[storage.ts]")]
end

subgraph group_extensions["Plugins and tools"]
  node_plugin_ui["Plugin manager UI"]
  node_tool_pipeline["Tool execution<br/>[pipeline.ts]"]
  node_mods_engine["Mods engine<br/>[engine.ts]"]
end

node_user(("User"))

node_user -->|"launches"| node_cli
node_cli -->|"starts UI"| node_web
node_session_client -->|"constructs"| node_session_instances
node_session_client -->|"uses"| node_session_projection
node_session_instances -->|"uses"| node_session_notifier
node_session_instances -->|"uses"| node_session_projection
node_session_client -->|"checks failures"| node_session_gateway
node_jsonl_storage -->|"materializes batches"| node_persistence_contract
node_web -.->|"hosts"| node_plugin_ui
node_tool_pipeline -.->|"integrates"| node_mods_engine

click node_cli "https://github.com/manikandan1511/deepseek-harness/blob/master/apps/cli/src/bin.ts"
click node_web "https://github.com/manikandan1511/deepseek-harness/blob/master/apps/web/src/main.ts"
click node_plugin_ui "https://github.com/manikandan1511/deepseek-harness/blob/master/packages/client/ui-plugin-manager/src/client/PluginManagerPage.tsx"
click node_tool_pipeline "https://github.com/manikandan1511/deepseek-harness/blob/master/packages/core/tools/src/pipeline.ts"
click node_mods_engine "https://github.com/manikandan1511/deepseek-harness/blob/master/packages/experimental/claude-code-mods/src/engine.ts"
click node_subagents "https://github.com/manikandan1511/deepseek-harness/blob/master/packages/subagent/subagent/src/manager.ts"
click node_schedule "https://github.com/manikandan1511/deepseek-harness/blob/master/packages/schedule/schedule/src/storage.ts"
click node_session_client "https://github.com/manikandan1511/deepseek-harness/blob/master/packages/api/session-controller/src/client/sessions/manager.ts"
click node_session_instances "https://github.com/manikandan1511/deepseek-harness/blob/master/packages/api/session-controller/src/client/sessions/session.ts"
click node_session_projection "https://github.com/manikandan1511/deepseek-harness/blob/master/packages/api/session-controller/src/client/sessions/projection-store.ts"
click node_session_notifier "https://github.com/manikandan1511/deepseek-harness/blob/master/packages/api/session-controller/src/client/sessions/notifier.ts"
click node_session_gateway "https://github.com/manikandan1511/deepseek-harness/blob/master/packages/api/gateway/src/client/index.ts"
click node_persistence_contract "https://github.com/manikandan1511/deepseek-harness/blob/master/packages/session/session-persistence/src/storage-contract.ts"
click node_jsonl_storage "https://github.com/manikandan1511/deepseek-harness/blob/master/packages/session/session-persistence-jsonl/src/storage.ts"
click node_sdk_server "https://github.com/manikandan1511/deepseek-harness/blob/master/packages/sdk/server/src/server.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_cli,node_web,node_user toneBlue
class node_subagents,node_schedule,node_sdk_server toneAmber
class node_session_client,node_session_instances,node_session_projection,node_session_notifier,node_session_gateway,node_persistence_contract,node_jsonl_storage toneMint
class node_plugin_ui,node_tool_pipeline,node_mods_engine toneRose
```

## Components

### User entry

- [DSH CLI](https://github.com/manikandan1511/deepseek-harness/blob/master/apps/cli/src/bin.ts): `apps/cli/src/bin.ts`
- [Web UI](https://github.com/manikandan1511/deepseek-harness/blob/master/apps/web/src/main.ts): `apps/web/src/main.ts`

### Harness runtime

- [Subagent manager](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/subagent/subagent/src/manager.ts): `packages/subagent/subagent/src/manager.ts`
- [Schedule storage](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/schedule/schedule/src/storage.ts): `packages/schedule/schedule/src/storage.ts`
- [SDK server](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/sdk/server/src/server.ts): `packages/sdk/server/src/server.ts`

### Session services

- [Session client manager](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/api/session-controller/src/client/sessions/manager.ts): `packages/api/session-controller/src/client/sessions/manager.ts`
- [Session instances](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/api/session-controller/src/client/sessions/session.ts): `packages/api/session-controller/src/client/sessions/session.ts`
- [Session projections](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/api/session-controller/src/client/sessions/projection-store.ts): `packages/api/session-controller/src/client/sessions/projection-store.ts`
- [Session notifier](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/api/session-controller/src/client/sessions/notifier.ts): `packages/api/session-controller/src/client/sessions/notifier.ts`
- [Gateway client](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/api/gateway/src/client/index.ts): `packages/api/gateway/src/client/index.ts`
- [Persistence contract](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/session/session-persistence/src/storage-contract.ts): `packages/session/session-persistence/src/storage-contract.ts`
- [JSONL persistence](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/session/session-persistence-jsonl/src/storage.ts): `packages/session/session-persistence-jsonl/src/storage.ts`

### Plugins and tools

- [Plugin manager UI](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/client/ui-plugin-manager/src/client/PluginManagerPage.tsx): `packages/client/ui-plugin-manager/src/client/PluginManagerPage.tsx`
- [Tool execution](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/core/tools/src/pipeline.ts): `packages/core/tools/src/pipeline.ts`
- [Mods engine](https://github.com/manikandan1511/deepseek-harness/blob/master/packages/experimental/claude-code-mods/src/engine.ts): `packages/experimental/claude-code-mods/src/engine.ts`

### Other components

- **User**

## Connections

- User → DSH CLI: launches (evidence: `README.md`)
- DSH CLI → Web UI: starts UI (evidence: `README.md`)
- Session client manager → Session instances: constructs (evidence: `packages/api/session-controller/src/client/sessions/manager.ts`)
- Session client manager → Session projections: uses (evidence: `packages/api/session-controller/src/client/sessions/manager.ts`)
- Session instances → Session notifier: uses (evidence: `packages/api/session-controller/src/client/sessions/session.ts`)
- Session instances → Session projections: uses (evidence: `packages/api/session-controller/src/client/sessions/session.ts`)
- Session client manager → Gateway client: checks failures (evidence: `packages/api/session-controller/src/client/sessions/manager.ts`)
- JSONL persistence → Persistence contract: materializes batches (evidence: `packages/session/session-persistence-jsonl/src/storage.ts`)
- Web UI → Plugin manager UI: hosts
- Tool execution → Mods engine: integrates
