# qomicex-public/qomicex.harness architecture

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

- Interactive diagram: https://gitdiagram.com/qomicex-public/qomicex.harness
- Repository: https://github.com/qomicex-public/qomicex.harness

## Overview

Qomicex Harness is a plugin-based agent harness and downstream distribution of DeepSeek Harness. Its principal workflow is to load a profile bundle of plugins, run agent sessions, and expose session state and capabilities through client and Host APIs. The README also documents optional memory, automation, safety, personalization, and plugin-market capabilities, plus a Desktop distribution. Several capabilities are described but their implementation files are not present in the supplied tree; those nodes use only supported enclosing paths, and uncertain wiring is omitted.

Main entry points: [`packages/api/session-controller/src/client/sessions/session.ts`](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/session-controller/src/client/sessions/session.ts) (Session Runtime), [`packages/api/session-controller/src/client/sessions/manager.ts`](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/session-controller/src/client/sessions/manager.ts) (Session Manager), [`packages/bundle/web-app/src/index.ts`](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/bundle/web-app/src/index.ts) (Web Bundle), [`apps/web/src/main.ts`](https://github.com/qomicex-public/qomicex.harness/blob/master/apps/web/src/main.ts) (Web Client)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Harness Runtime"]
  node_profile["Profile Bundles<br/>[profile.ts]"]
  node_plugins["Plugin Manager<br/>[operations.ts]"]
  node_webbundle["Web Bundle<br/>[index.ts]"]
end

subgraph group_sessions["Sessions and APIs"]
  node_sessionmanager["Session Manager<br/>[manager.ts]"]
  node_session["Session Runtime<br/>[session.ts]"]
  node_sessioncontract["Session Contracts<br/>[session.ts]"]
  node_sessionstorage[("Session Persistence<br/>[storage.ts]")]
  node_gateway["Gateway Streams<br/>[stream-server.ts]"]
  node_workspace["Workspace API<br/>[commands.ts]"]
end

subgraph group_capabilities["Agent Capabilities"]
  node_memory["Global Memory<br/>[repository.ts]"]
  node_memoryapi["Memory Remote<br/>[index.ts]"]
  node_browser["Browser Automation<br/>[index.ts]"]
  node_schedule[("Scheduled Tasks<br/>[storage.ts]")]
end

subgraph group_clients["Clients and Desktop"]
  node_webclient["Web Client<br/>[main.ts]"]
  node_pluginui["Plugin Settings UI"]
  node_desktop["Desktop App<br/>[main.ts]"]
  node_desktopproject["Desktop Profile Setup<br/>[project-manager.ts]"]
end

node_user(("User"))

node_user -->|"uses"| node_webclient
node_user -->|"uses"| node_desktop
node_webclient -.->|"runs"| node_webbundle
node_profile -->|"mounts"| node_plugins
node_webbundle -->|"provides"| node_profile
node_plugins -.->|"enables"| node_sessionmanager
node_sessionmanager -->|"constructs"| node_session
node_session -->|"uses"| node_sessioncontract
node_session -.->|"persists"| node_sessionstorage
node_sessionmanager -.->|"exposes"| node_gateway
node_sessionmanager -.->|"scopes"| node_workspace
node_memory -->|"observes events"| node_session
node_session -->|"recalls"| node_memory
node_memoryapi -->|"inspects"| node_memory
node_browser -->|"ships with"| node_webbundle
node_schedule -.->|"delivers to"| node_session
node_webclient -->|"opens"| node_pluginui
node_desktop -->|"initializes"| node_desktopproject
node_desktopproject -->|"configures"| node_webbundle

click node_profile "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/boot/app-boot/src/profile.ts"
click node_plugins "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/boot/plugin-manager/src/operations.ts"
click node_webbundle "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/bundle/web-app/src/index.ts"
click node_sessionmanager "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/session-controller/src/client/sessions/manager.ts"
click node_session "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/session-controller/src/client/sessions/session.ts"
click node_sessioncontract "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/session-controller/src/client/contract/session.ts"
click node_sessionstorage "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/session/session-persistence-jsonl/src/storage.ts"
click node_gateway "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/gateway/src/stream-server.ts"
click node_workspace "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/workspace-controller/src/commands.ts"
click node_memory "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/memory/memory/src/repository.ts"
click node_memoryapi "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/memory-controller/src/index.ts"
click node_browser "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/browser-use/runtime/src/index.ts"
click node_schedule "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/schedule/schedule/src/storage.ts"
click node_webclient "https://github.com/qomicex-public/qomicex.harness/blob/master/apps/web/src/main.ts"
click node_pluginui "https://github.com/qomicex-public/qomicex.harness/blob/master/packages/client/ui-plugin-manager/src/client/PluginManagerPage.tsx"
click node_desktop "https://github.com/qomicex-public/qomicex.harness/blob/master/apps/desktop/src/main.ts"
click node_desktopproject "https://github.com/qomicex-public/qomicex.harness/blob/master/apps/desktop/src/project-manager.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_profile,node_plugins,node_webbundle,node_user toneBlue
class node_sessionmanager,node_session,node_sessioncontract,node_sessionstorage,node_gateway,node_workspace toneAmber
class node_memory,node_memoryapi,node_browser,node_schedule toneMint
class node_webclient,node_pluginui,node_desktop,node_desktopproject toneRose
```

## Components

### Harness Runtime

- [Profile Bundles](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/boot/app-boot/src/profile.ts): `packages/boot/app-boot/src/profile.ts`
- [Plugin Manager](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/boot/plugin-manager/src/operations.ts): `packages/boot/plugin-manager/src/operations.ts`
- [Web Bundle](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/bundle/web-app/src/index.ts): `packages/bundle/web-app/src/index.ts`

### Sessions and APIs

- [Session Manager](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/session-controller/src/client/sessions/manager.ts): `packages/api/session-controller/src/client/sessions/manager.ts`
- [Session Runtime](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/session-controller/src/client/sessions/session.ts): `packages/api/session-controller/src/client/sessions/session.ts`
- [Session Contracts](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/session-controller/src/client/contract/session.ts): `packages/api/session-controller/src/client/contract/session.ts`
- [Session Persistence](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/session/session-persistence-jsonl/src/storage.ts): `packages/session/session-persistence-jsonl/src/storage.ts`
- [Gateway Streams](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/gateway/src/stream-server.ts): `packages/api/gateway/src/stream-server.ts`
- [Workspace API](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/workspace-controller/src/commands.ts): `packages/api/workspace-controller/src/commands.ts`

### Agent Capabilities

- [Global Memory](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/memory/memory/src/repository.ts): `packages/memory/memory/src/repository.ts`
- [Memory Remote](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/api/memory-controller/src/index.ts): `packages/api/memory-controller/src/index.ts`
- [Browser Automation](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/browser-use/runtime/src/index.ts): `packages/browser-use/runtime/src/index.ts`
- [Scheduled Tasks](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/schedule/schedule/src/storage.ts): `packages/schedule/schedule/src/storage.ts`

### Clients and Desktop

- [Web Client](https://github.com/qomicex-public/qomicex.harness/blob/master/apps/web/src/main.ts): `apps/web/src/main.ts`
- [Plugin Settings UI](https://github.com/qomicex-public/qomicex.harness/blob/master/packages/client/ui-plugin-manager/src/client/PluginManagerPage.tsx): `packages/client/ui-plugin-manager/src/client/PluginManagerPage.tsx`
- [Desktop App](https://github.com/qomicex-public/qomicex.harness/blob/master/apps/desktop/src/main.ts): `apps/desktop/src/main.ts`
- [Desktop Profile Setup](https://github.com/qomicex-public/qomicex.harness/blob/master/apps/desktop/src/project-manager.ts): `apps/desktop/src/project-manager.ts`

### Other components

- **User**

## Connections

- User → Web Client: uses
- User → Desktop App: uses
- Web Client → Web Bundle: runs
- Profile Bundles → Plugin Manager: mounts
- Web Bundle → Profile Bundles: provides
- Plugin Manager → Session Manager: enables
- Session Manager → Session Runtime: constructs (evidence: `packages/api/session-controller/src/client/sessions/manager.ts`)
- Session Runtime → Session Contracts: uses (evidence: `packages/api/session-controller/src/client/sessions/session.ts`)
- Session Runtime → Session Persistence: persists
- Session Manager → Gateway Streams: exposes
- Session Manager → Workspace API: scopes
- Global Memory → Session Runtime: observes events
- Session Runtime → Global Memory: recalls
- Memory Remote → Global Memory: inspects
- Browser Automation → Web Bundle: ships with
- Scheduled Tasks → Session Runtime: delivers to
- Web Client → Plugin Settings UI: opens
- Desktop App → Desktop Profile Setup: initializes (evidence: `apps/desktop/src/project-manager.ts`)
- Desktop Profile Setup → Web Bundle: configures (evidence: `apps/desktop/src/project-manager.ts`)
