# bingomaha-creator/knowledge-agent-workspace architecture

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

- Interactive diagram: https://gitdiagram.com/bingomaha-creator/knowledge-agent-workspace
- Repository: https://github.com/bingomaha-creator/knowledge-agent-workspace

## Overview

Matthew’s Workspace is a Vue/Express AI-agent workbench for streaming chat with inspectable evidence, confirmed long-term memory, knowledge retrieval, deep research, and structured BugCases. The main workflow runs from the workspace through feature APIs into server-side orchestration and persistence; research adds staged retrieval and reporting, while BugCase investigation turns evidence into reviewable cases. The README documents the broad architecture and capabilities; some subsystem internals are unsampled, so links between their implementation layers are shown only where the excerpts or README support them.

Main entry points: [`server/app.js`](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/app.js) (Express application), [`server/infrastructure/mcp-gateway.js`](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/infrastructure/mcp-gateway.js) (MCP gateway and tools), [`server/research-worker.js`](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/research-worker.js) (Research worker), [`src/App.vue`](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/src/App.vue) (Workspace shell)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Workspace UI"]
  node_app["Workspace shell<br/>[App.vue]"]
  node_chatui["Chat workspace<br/>[ChatPanel.vue]"]
  node_featureui["Feature workspaces"]
  node_chatstore["Chat state and stream<br/>[store.ts]"]
  node_featurestores["Feature state"]
  node_chatapi["Chat API<br/>[api.ts]"]
  node_featureapis["Feature APIs"]
end

subgraph group_server["API and Chat"]
  node_express["Express application<br/>[app.js]"]
  node_chatroutes["Chat routes<br/>[chat-routes.js]"]
  node_chatflow["Chat orchestrator"]
  node_mcp["MCP gateway and tools<br/>[mcp-gateway.js]"]
end

subgraph group_knowledge["Knowledge and Memory"]
  node_knowledge["Knowledge indexing and RAG"]
  node_knowledgeapi["Knowledge routes"]
  node_memory["Reviewable memory<br/>[memory-service.js]"]
end

subgraph group_research["Deep Research"]
  node_researchroutes["Research routes<br/>[research-routes.js]"]
  node_worker["Research worker<br/>[research-worker.js]"]
  node_researchai["Research planning and writing"]
  node_researchstore[("Research task store<br/>[research-store.js]")]
  node_search["Research source search"]
  node_web["Web search provider"]
end

subgraph group_bugs["Bug Knowledge"]
  node_bugroutes["BugCase routes"]
  node_buginvestigation["Bug investigation"]
  node_bugstore[("Bug investigation store")]
end

node_user(("Workspace user"))
node_qwen{{"Qwen-compatible API"}}
node_sqlite[("SQLite and FTS5")]

node_user -->|"uses"| node_app
node_app -->|"shows"| node_chatui
node_app -->|"switches workspaces"| node_featureui
node_chatui -->|"dispatches actions"| node_chatstore
node_featureui -->|"dispatches actions"| node_featurestores
node_chatstore -->|"requests and streams"| node_chatapi
node_featurestores -->|"requests data"| node_featureapis
node_chatapi -->|"HTTP / SSE"| node_express
node_featureapis -->|"HTTP"| node_express
node_express -->|"dispatches"| node_chatroutes
node_express -->|"dispatches"| node_knowledgeapi
node_express -->|"dispatches"| node_researchroutes
node_express -->|"dispatches"| node_bugroutes
node_chatroutes -->|"invokes"| node_chatflow
node_chatflow -->|"requests completions"| node_qwen
node_chatflow -->|"dispatches tools"| node_mcp
node_knowledgeapi -->|"calls tools"| node_mcp
node_mcp -->|"dispatches knowledge tools"| node_knowledge
node_mcp -->|"dispatches memory tools"| node_memory
node_knowledge -->|"indexes and retrieves"| node_sqlite
node_memory -->|"reads and writes"| node_sqlite
node_researchroutes -->|"reads and creates tasks"| node_researchstore
node_researchroutes -->|"enqueues and cancels"| node_worker
node_worker -->|"claims and persists stages"| node_researchstore
node_worker -->|"plans and writes"| node_researchai
node_researchai -->|"requests completions"| node_qwen
node_worker -->|"retrieves sources"| node_search
node_search -->|"searches local sources"| node_knowledge
node_search -.->|"searches web sources"| node_web
node_researchstore -->|"persists tasks"| node_sqlite
node_bugroutes -->|"calls BugCase tools"| node_mcp
node_mcp -->|"dispatches investigation tools"| node_buginvestigation
node_buginvestigation -->|"reads and updates"| node_bugstore
node_bugstore -->|"persists investigations"| node_sqlite

click node_app "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/src/App.vue"
click node_chatui "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/src/components/ChatPanel.vue"
click node_featureui "https://github.com/bingomaha-creator/knowledge-agent-workspace/tree/main/src/features"
click node_chatstore "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/src/features/chat/store.ts"
click node_featurestores "https://github.com/bingomaha-creator/knowledge-agent-workspace/tree/main/src/features"
click node_chatapi "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/src/features/chat/api.ts"
click node_featureapis "https://github.com/bingomaha-creator/knowledge-agent-workspace/tree/main/src/features"
click node_express "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/app.js"
click node_chatroutes "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/routes/chat-routes.js"
click node_chatflow "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/chat/chat-orchestrator.js"
click node_mcp "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/infrastructure/mcp-gateway.js"
click node_knowledge "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/services/knowledge-service.js"
click node_knowledgeapi "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/routes/knowledge-routes.js"
click node_memory "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/services/memory-service.js"
click node_researchroutes "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/routes/research-routes.js"
click node_worker "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/research-worker.js"
click node_researchai "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/services/research-ai-service.js"
click node_researchstore "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/research-store.js"
click node_search "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/services/research-search-service.js"
click node_web "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/web-search-provider.js"
click node_bugroutes "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/routes/bug-knowledge-routes.js"
click node_buginvestigation "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/bug-investigation/bug-investigation-service.js"
click node_bugstore "https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/bug-investigation/bug-investigation-store.js"

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_app,node_chatui,node_featureui,node_chatstore,node_featurestores,node_chatapi,node_featureapis,node_user toneBlue
class node_express,node_chatroutes,node_chatflow,node_mcp,node_sqlite toneAmber
class node_knowledge,node_knowledgeapi,node_memory,node_qwen toneMint
class node_researchroutes,node_worker,node_researchai,node_researchstore,node_search,node_web toneRose
class node_bugroutes,node_buginvestigation,node_bugstore toneIndigo
```

## Components

### Workspace UI

- [Workspace shell](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/src/App.vue): `src/App.vue`
- [Chat workspace](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/src/components/ChatPanel.vue): `src/components/ChatPanel.vue`
- [Feature workspaces](https://github.com/bingomaha-creator/knowledge-agent-workspace/tree/main/src/features): `src/features`
- [Chat state and stream](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/src/features/chat/store.ts): `src/features/chat/store.ts`
- [Feature state](https://github.com/bingomaha-creator/knowledge-agent-workspace/tree/main/src/features): `src/features`
- [Chat API](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/src/features/chat/api.ts): `src/features/chat/api.ts`
- [Feature APIs](https://github.com/bingomaha-creator/knowledge-agent-workspace/tree/main/src/features): `src/features`

### API and Chat

- [Express application](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/app.js): `server/app.js`
- [Chat routes](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/routes/chat-routes.js): `server/routes/chat-routes.js`
- [Chat orchestrator](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/chat/chat-orchestrator.js): `server/chat/chat-orchestrator.js`
- [MCP gateway and tools](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/infrastructure/mcp-gateway.js): `server/infrastructure/mcp-gateway.js`

### Knowledge and Memory

- [Knowledge indexing and RAG](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/services/knowledge-service.js): `server/services/knowledge-service.js`
- [Knowledge routes](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/routes/knowledge-routes.js): `server/routes/knowledge-routes.js`
- [Reviewable memory](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/services/memory-service.js): `server/services/memory-service.js`

### Deep Research

- [Research routes](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/routes/research-routes.js): `server/routes/research-routes.js`
- [Research worker](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/research-worker.js): `server/research-worker.js`
- [Research planning and writing](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/services/research-ai-service.js): `server/services/research-ai-service.js`
- [Research task store](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/research-store.js): `server/research-store.js`
- [Research source search](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/services/research-search-service.js): `server/services/research-search-service.js`
- [Web search provider](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/web-search-provider.js): `server/web-search-provider.js`

### Bug Knowledge

- [BugCase routes](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/routes/bug-knowledge-routes.js): `server/routes/bug-knowledge-routes.js`
- [Bug investigation](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/bug-investigation/bug-investigation-service.js): `server/bug-investigation/bug-investigation-service.js`
- [Bug investigation store](https://github.com/bingomaha-creator/knowledge-agent-workspace/blob/main/server/bug-investigation/bug-investigation-store.js): `server/bug-investigation/bug-investigation-store.js`

### Other components

- **Workspace user**
- **Qwen-compatible API**
- **SQLite and FTS5**

## Connections

- Workspace user → Workspace shell: uses
- Workspace shell → Chat workspace: shows
- Workspace shell → Feature workspaces: switches workspaces
- Chat workspace → Chat state and stream: dispatches actions
- Feature workspaces → Feature state: dispatches actions
- Chat state and stream → Chat API: requests and streams
- Feature state → Feature APIs: requests data
- Chat API → Express application: HTTP / SSE
- Feature APIs → Express application: HTTP
- Express application → Chat routes: dispatches
- Express application → Knowledge routes: dispatches
- Express application → Research routes: dispatches
- Express application → BugCase routes: dispatches
- Chat routes → Chat orchestrator: invokes
- Chat orchestrator → Qwen-compatible API: requests completions
- Chat orchestrator → MCP gateway and tools: dispatches tools
- Knowledge routes → MCP gateway and tools: calls tools
- MCP gateway and tools → Knowledge indexing and RAG: dispatches knowledge tools
- MCP gateway and tools → Reviewable memory: dispatches memory tools
- Knowledge indexing and RAG → SQLite and FTS5: indexes and retrieves
- Reviewable memory → SQLite and FTS5: reads and writes
- Research routes → Research task store: reads and creates tasks
- Research routes → Research worker: enqueues and cancels
- Research worker → Research task store: claims and persists stages
- Research worker → Research planning and writing: plans and writes
- Research planning and writing → Qwen-compatible API: requests completions
- Research worker → Research source search: retrieves sources
- Research source search → Knowledge indexing and RAG: searches local sources
- Research source search → Web search provider: searches web sources
- Research task store → SQLite and FTS5: persists tasks
- BugCase routes → MCP gateway and tools: calls BugCase tools
- MCP gateway and tools → Bug investigation: dispatches investigation tools
- Bug investigation → Bug investigation store: reads and updates
- Bug investigation store → SQLite and FTS5: persists investigations
