# lioensky/vcptoolbox architecture

> Architecture diagram of the GitHub repository lioensky/vcptoolbox, 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/lioensky/vcptoolbox
- Repository: https://github.com/lioensky/vcptoolbox

## Overview

VCP is a persistent Agent platform: user messages enter through compatible frontends, the runtime assembles context and memory, routes work to models and tools, and maintains continuity across conversations. The Vue panel provides a separate management workflow for configuring and observing that system. The README documents major capabilities not represented by sampled excerpts; their nodes use only paths present in the tree, and uncertain implementation-level wiring is omitted.

Main entry points: [`Plugin.js`](https://github.com/lioensky/vcptoolbox/blob/main/Plugin.js) (VCP Runtime), [`KnowledgeBaseManager.js`](https://github.com/lioensky/vcptoolbox/blob/main/KnowledgeBaseManager.js) (Knowledge Base), [`AdminPanel-Vue/src/App.vue`](https://github.com/lioensky/vcptoolbox/blob/main/AdminPanel-Vue/src/App.vue) (Vue Admin Panel), [`modules/knowledgeBase/ingestionPipeline.js`](https://github.com/lioensky/vcptoolbox/blob/main/modules/knowledgeBase/ingestionPipeline.js) (Knowledge Ingestion)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Frontends and Admin"]
  node_frontends["Compatible Frontends"]
  node_admin["Vue Admin Panel<br/>[App.vue]"]
  node_admin_api["Admin API Clients<br/>[index.ts]"]
  node_admin_config["Configuration Views<br/>[ToolListEditor.vue]"]
end

subgraph group_runtime["Agent Runtime"]
  node_core["VCP Runtime<br/>[Plugin.js]"]
  node_model_route["Semantic Model Router<br/>[semanticRouter.ts]"]
end

subgraph group_memory["Memory and Context"]
  node_context["Context Folding"]
  node_knowledge_ingest["Knowledge Ingestion"]
  node_knowledge_base[("Knowledge Base")]
  node_tag_memo["Tag Memo Engine<br/>[TagMemoEngine.js]"]
  node_native_memo["RiverMemo Native<br/>[memo_pipeline.rs]"]
  node_one_ring[("Unified Timeline<br/>[OneRing.js]")]
end

subgraph group_capabilities["Tools and Autonomy"]
  node_plugin_catalog["Plugin Ecosystem"]
  node_dream["Autonomous Dream Recall<br/>[DreamWaveEngine.js]"]
  node_forum["Agent Forum<br/>[forum-engine.js]"]
  node_scheduler["Scheduling<br/>[schedule.ts]"]
end

subgraph group_distributed["Distributed Services"]
  node_distributed["Distributed Nodes"]
end

node_person(("User"))
node_model_service["Model APIs"]
node_external_services["External Services"]

node_person -->|"sends messages"| node_frontends
node_frontends -->|"submits requests"| node_core
node_core -->|"builds context"| node_context
node_core -->|"retrieves knowledge"| node_knowledge_base
node_core -->|"maintains timeline"| node_one_ring
node_knowledge_ingest -->|"indexes content"| node_knowledge_base
node_knowledge_ingest -.->|"requests embeddings"| node_external_services
node_knowledge_base -->|"provides memory data"| node_tag_memo
node_tag_memo -->|"uses native retrieval"| node_native_memo
node_core -->|"selects model"| node_model_route
node_model_route -->|"routes requests"| node_model_service
node_core -->|"dispatches tools"| node_plugin_catalog
node_core -->|"runs recall"| node_dream
node_core -->|"accesses forum"| node_forum
node_core -->|"manages schedule"| node_scheduler
node_admin -->|"calls APIs"| node_admin_api
node_admin -->|"configures system"| node_admin_config
node_admin_api -->|"requests administration"| node_core
node_core -->|"coordinates nodes"| node_distributed
node_distributed -.->|"accesses services"| node_external_services

click node_admin "https://github.com/lioensky/vcptoolbox/blob/main/AdminPanel-Vue/src/App.vue"
click node_admin_api "https://github.com/lioensky/vcptoolbox/blob/main/AdminPanel-Vue/src/api/index.ts"
click node_core "https://github.com/lioensky/vcptoolbox/blob/main/Plugin.js"
click node_model_route "https://github.com/lioensky/vcptoolbox/blob/main/AdminPanel-Vue/src/api/semanticRouter.ts"
click node_context "https://github.com/lioensky/vcptoolbox/blob/main/Plugin/ContextFoldingV2/ContextFoldingV2.js"
click node_knowledge_ingest "https://github.com/lioensky/vcptoolbox/blob/main/modules/knowledgeBase/ingestionPipeline.js"
click node_knowledge_base "https://github.com/lioensky/vcptoolbox/blob/main/KnowledgeBaseManager.js"
click node_tag_memo "https://github.com/lioensky/vcptoolbox/blob/main/TagMemoEngine.js"
click node_native_memo "https://github.com/lioensky/vcptoolbox/blob/main/rust-vexus-lite/src/memo_pipeline.rs"
click node_one_ring "https://github.com/lioensky/vcptoolbox/blob/main/Plugin/OneRing/OneRing.js"
click node_plugin_catalog "https://github.com/lioensky/vcptoolbox/tree/main/Plugin"
click node_dream "https://github.com/lioensky/vcptoolbox/blob/main/Plugin/AgentDream/DreamWaveEngine.js"
click node_forum "https://github.com/lioensky/vcptoolbox/blob/main/Plugin/VCPTaskAssistant/lib/forum-engine.js"
click node_scheduler "https://github.com/lioensky/vcptoolbox/blob/main/AdminPanel-Vue/src/api/schedule.ts"
click node_admin_config "https://github.com/lioensky/vcptoolbox/blob/main/AdminPanel-Vue/src/views/ToolListEditor.vue"

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_frontends,node_admin,node_admin_api,node_admin_config,node_person toneBlue
class node_core,node_model_route toneAmber
class node_context,node_knowledge_ingest,node_knowledge_base,node_tag_memo,node_native_memo,node_one_ring,node_model_service toneMint
class node_plugin_catalog,node_dream,node_forum,node_scheduler toneRose
class node_distributed,node_external_services toneIndigo
```

## Components

### Frontends and Admin

- **Compatible Frontends**
- [Vue Admin Panel](https://github.com/lioensky/vcptoolbox/blob/main/AdminPanel-Vue/src/App.vue): `AdminPanel-Vue/src/App.vue`
- [Admin API Clients](https://github.com/lioensky/vcptoolbox/blob/main/AdminPanel-Vue/src/api/index.ts): `AdminPanel-Vue/src/api/index.ts`
- [Configuration Views](https://github.com/lioensky/vcptoolbox/blob/main/AdminPanel-Vue/src/views/ToolListEditor.vue): `AdminPanel-Vue/src/views/ToolListEditor.vue`

### Agent Runtime

- [VCP Runtime](https://github.com/lioensky/vcptoolbox/blob/main/Plugin.js): `Plugin.js`
- [Semantic Model Router](https://github.com/lioensky/vcptoolbox/blob/main/AdminPanel-Vue/src/api/semanticRouter.ts): `AdminPanel-Vue/src/api/semanticRouter.ts`

### Memory and Context

- [Context Folding](https://github.com/lioensky/vcptoolbox/blob/main/Plugin/ContextFoldingV2/ContextFoldingV2.js): `Plugin/ContextFoldingV2/ContextFoldingV2.js`
- [Knowledge Ingestion](https://github.com/lioensky/vcptoolbox/blob/main/modules/knowledgeBase/ingestionPipeline.js): `modules/knowledgeBase/ingestionPipeline.js`
- [Knowledge Base](https://github.com/lioensky/vcptoolbox/blob/main/KnowledgeBaseManager.js): `KnowledgeBaseManager.js`
- [Tag Memo Engine](https://github.com/lioensky/vcptoolbox/blob/main/TagMemoEngine.js): `TagMemoEngine.js`
- [RiverMemo Native](https://github.com/lioensky/vcptoolbox/blob/main/rust-vexus-lite/src/memo_pipeline.rs): `rust-vexus-lite/src/memo_pipeline.rs`
- [Unified Timeline](https://github.com/lioensky/vcptoolbox/blob/main/Plugin/OneRing/OneRing.js): `Plugin/OneRing/OneRing.js`

### Tools and Autonomy

- [Plugin Ecosystem](https://github.com/lioensky/vcptoolbox/tree/main/Plugin): `Plugin`
- [Autonomous Dream Recall](https://github.com/lioensky/vcptoolbox/blob/main/Plugin/AgentDream/DreamWaveEngine.js): `Plugin/AgentDream/DreamWaveEngine.js`
- [Agent Forum](https://github.com/lioensky/vcptoolbox/blob/main/Plugin/VCPTaskAssistant/lib/forum-engine.js): `Plugin/VCPTaskAssistant/lib/forum-engine.js`
- [Scheduling](https://github.com/lioensky/vcptoolbox/blob/main/AdminPanel-Vue/src/api/schedule.ts): `AdminPanel-Vue/src/api/schedule.ts`

### Distributed Services

- **Distributed Nodes**

### Other components

- **User**
- **Model APIs**
- **External Services**

## Connections

- User → Compatible Frontends: sends messages
- Compatible Frontends → VCP Runtime: submits requests
- VCP Runtime → Context Folding: builds context
- VCP Runtime → Knowledge Base: retrieves knowledge
- VCP Runtime → Unified Timeline: maintains timeline
- Knowledge Ingestion → Knowledge Base: indexes content
- Knowledge Ingestion → External Services: requests embeddings
- Knowledge Base → Tag Memo Engine: provides memory data
- Tag Memo Engine → RiverMemo Native: uses native retrieval
- VCP Runtime → Semantic Model Router: selects model
- Semantic Model Router → Model APIs: routes requests
- VCP Runtime → Plugin Ecosystem: dispatches tools
- VCP Runtime → Autonomous Dream Recall: runs recall
- VCP Runtime → Agent Forum: accesses forum
- VCP Runtime → Scheduling: manages schedule
- Vue Admin Panel → Admin API Clients: calls APIs
- Vue Admin Panel → Configuration Views: configures system
- Admin API Clients → VCP Runtime: requests administration
- VCP Runtime → Distributed Nodes: coordinates nodes
- Distributed Nodes → External Services: accesses services
