# tencentedgeone/vibe-coding-agent-platform architecture

> Architecture diagram of the GitHub repository tencentedgeone/vibe-coding-agent-platform, 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/tencentedgeone/vibe-coding-agent-platform
- Repository: https://github.com/tencentedgeone/vibe-coding-agent-platform

## Overview

Vibe Coding Platform is a browser-based AI coding workspace for generating full-stack apps and agents from natural-language requests, with Makers compatibility checks, live preview, workspace persistence, and edge deployment. The main user flow runs from the workspace conversation through agent turns and project tools; users can then inspect files, preview the app, and deploy it. The tree and excerpts support the preview lifecycle in detail, but not every request, model, persistence, or deployment call, so uncertain wiring is omitted.

Main entry points: [`agents/_lib/lazy/preview.ts`](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/lazy/preview.ts) (Preview readiness), [`agents/_lib/tools/assemble.ts`](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/tools/assemble.ts) (Agent tools), [`agents/_lib/project/preview.ts`](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/project/preview.ts) (Makers dev server), [`app/features/workspace/workspace-screen.tsx`](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/app/features/workspace/workspace-screen.tsx) (Workspace screen)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workspace["Coding workspace"]
  node_workspace["Workspace screen"]
  node_conversation["Conversation UI<br/>[index.tsx]"]
  node_livehook["Live turn hook<br/>[use-live-turn.ts]"]
  node_files["File browser<br/>[index.tsx]"]
  node_previewui["Preview surface"]
end

subgraph group_agent["Agent runtime"]
  node_api["Workspace API<br/>[workspace-api.ts]"]
  node_sessionroute["Session endpoint<br/>[session.ts]"]
  node_turn["Chat turn<br/>[chat.ts]"]
  node_toolset["Agent tools<br/>[assemble.ts]"]
  node_makercompat["Makers compatibility<br/>[run.ts]"]
end

subgraph group_project["Project lifecycle"]
  node_projectstate["Project state<br/>[state.ts]"]
  node_workspacepersist[("Workspace persistence<br/>[workspace-store.ts]")]
  node_projectfiles["Project files<br/>[fs.ts]"]
end

subgraph group_delivery["Preview and deploy"]
  node_previewtool["Preview tool<br/>[preview-tools.ts]"]
  node_previewready["Preview readiness<br/>[preview.ts]"]
  node_previewserver["Makers dev server<br/>[preview.ts]"]
  node_previewproxy["Preview proxy"]
  node_deploytools["Deploy tools<br/>[deploy-tools.ts]"]
  node_deployturn["Deploy lifecycle<br/>[deploy.ts]"]
end

node_user(("Developer"))
node_edgeone{{"EdgeOne Makers"}}

node_user -->|"enters request"| node_workspace
node_workspace -->|"shows conversation"| node_conversation
node_conversation -->|"submits turn"| node_livehook
node_livehook -->|"sends requests"| node_api
node_api -->|"routes session"| node_sessionroute
node_sessionroute -->|"runs turn"| node_turn
node_turn -->|"assembles tools"| node_toolset
node_toolset -->|"checks project"| node_makercompat
node_toolset -->|"offers preview"| node_previewtool
node_previewtool -->|"ensures preview"| node_previewready
node_previewready -->|"reads file tree"| node_projectfiles
node_previewready -->|"saves state"| node_workspacepersist
node_previewready -->|"starts server"| node_previewserver
node_previewserver -->|"runs CLI"| node_edgeone
node_previewserver -->|"uses proxy"| node_previewproxy
node_previewui -->|"updates preview"| node_workspace
node_files -->|"requests file"| node_api
node_deploytools -->|"handles deploy"| node_deployturn
node_deployturn -->|"deploys project"| node_edgeone
node_projectstate -->|"persists state"| node_workspacepersist

click node_workspace "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/app/features/workspace/workspace-screen.tsx"
click node_conversation "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/app/features/workspace/components/conversation/index.tsx"
click node_livehook "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/app/features/workspace/hooks/use-live-turn.ts"
click node_files "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/app/features/workspace/components/files/index.tsx"
click node_previewui "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/app/features/workspace/hooks/use-preview-surface.ts"
click node_api "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/app/features/workspace/workspace-api.ts"
click node_sessionroute "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/session.ts"
click node_turn "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/turn/chat.ts"
click node_toolset "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/tools/assemble.ts"
click node_makercompat "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/makers/compat/run.ts"
click node_projectstate "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/project/state.ts"
click node_workspacepersist "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/project/workspace-store.ts"
click node_projectfiles "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/project/fs.ts"
click node_previewtool "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/tools/preview-tools.ts"
click node_previewready "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/lazy/preview.ts"
click node_previewserver "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/project/preview.ts"
click node_previewproxy "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/makers/preview-proxy-source.ts"
click node_deploytools "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/tools/deploy-tools.ts"
click node_deployturn "https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/turn/deploy.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_workspace,node_conversation,node_livehook,node_files,node_previewui toneBlue
class node_api,node_sessionroute,node_turn,node_toolset,node_makercompat toneAmber
class node_projectstate,node_workspacepersist,node_projectfiles toneMint
class node_previewtool,node_previewready,node_previewserver,node_previewproxy,node_deploytools,node_deployturn toneRose
class node_user,node_edgeone toneIndigo
```

## Components

### Coding workspace

- [Workspace screen](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/app/features/workspace/workspace-screen.tsx): `app/features/workspace/workspace-screen.tsx`
- [Conversation UI](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/app/features/workspace/components/conversation/index.tsx): `app/features/workspace/components/conversation/index.tsx`
- [Live turn hook](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/app/features/workspace/hooks/use-live-turn.ts): `app/features/workspace/hooks/use-live-turn.ts`
- [File browser](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/app/features/workspace/components/files/index.tsx): `app/features/workspace/components/files/index.tsx`
- [Preview surface](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/app/features/workspace/hooks/use-preview-surface.ts): `app/features/workspace/hooks/use-preview-surface.ts`

### Agent runtime

- [Workspace API](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/app/features/workspace/workspace-api.ts): `app/features/workspace/workspace-api.ts`
- [Session endpoint](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/session.ts): `agents/session.ts`
- [Chat turn](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/turn/chat.ts): `agents/_lib/turn/chat.ts`
- [Agent tools](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/tools/assemble.ts): `agents/_lib/tools/assemble.ts`
- [Makers compatibility](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/makers/compat/run.ts): `agents/_lib/makers/compat/run.ts`

### Project lifecycle

- [Project state](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/project/state.ts): `agents/_lib/project/state.ts`
- [Workspace persistence](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/project/workspace-store.ts): `agents/_lib/project/workspace-store.ts`
- [Project files](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/project/fs.ts): `agents/_lib/project/fs.ts`

### Preview and deploy

- [Preview tool](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/tools/preview-tools.ts): `agents/_lib/tools/preview-tools.ts`
- [Preview readiness](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/lazy/preview.ts): `agents/_lib/lazy/preview.ts`
- [Makers dev server](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/project/preview.ts): `agents/_lib/project/preview.ts`
- [Preview proxy](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/makers/preview-proxy-source.ts): `agents/_lib/makers/preview-proxy-source.ts`
- [Deploy tools](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/tools/deploy-tools.ts): `agents/_lib/tools/deploy-tools.ts`
- [Deploy lifecycle](https://github.com/tencentedgeone/vibe-coding-agent-platform/blob/main/agents/_lib/turn/deploy.ts): `agents/_lib/turn/deploy.ts`

### Other components

- **Developer**
- **EdgeOne Makers**

## Connections

- Developer → Workspace screen: enters request
- Workspace screen → Conversation UI: shows conversation
- Conversation UI → Live turn hook: submits turn
- Live turn hook → Workspace API: sends requests
- Workspace API → Session endpoint: routes session
- Session endpoint → Chat turn: runs turn
- Chat turn → Agent tools: assembles tools
- Agent tools → Makers compatibility: checks project
- Agent tools → Preview tool: offers preview
- Preview tool → Preview readiness: ensures preview
- Preview readiness → Project files: reads file tree
- Preview readiness → Workspace persistence: saves state
- Preview readiness → Makers dev server: starts server
- Makers dev server → EdgeOne Makers: runs CLI
- Makers dev server → Preview proxy: uses proxy
- Preview surface → Workspace screen: updates preview
- File browser → Workspace API: requests file
- Deploy tools → Deploy lifecycle: handles deploy
- Deploy lifecycle → EdgeOne Makers: deploys project
- Project state → Workspace persistence: persists state
