forked from stackblitz-labs/bolt.diy
-
Notifications
You must be signed in to change notification settings - Fork 8
Labels
Description
현재 구조
sequenceDiagram
autonumber
actor U as User
participant FE as Frontend (UI)
participant BE as Backend (API)
participant SDK as ai-sdk (streamObject / typed stream router)
participant LLM as LLM Server
participant RC as Remote Container
participant GL as GitLab
%% 1) Prompt -> streamObject -> typed streaming -> FE
U->>FE: 프롬프트 입력
FE->>BE: POST /prompt (prompt, context)
BE->>SDK: streamObject 요청 (schema, prompt, messages)
SDK->>LLM: LLM 호출 (stream)
loop 스트리밍 수신 (chunk/event)
LLM-->>SDK: stream event (type + payload)
SDK-->>BE: typed event forward (type + payload)
BE-->>FE: typed message 전달 (type별 UI 업데이트)
end
SDK-->>BE: stream 종료 (final object / usage)
BE-->>FE: 최종 결과 전달
%% 2) If FE triggers file write / bash based on typed messages
alt FE가 type을 보고 file_write / bash 실행 요청
FE->>BE: POST /actions (type=file_write|bash, payload)
BE->>RC: 명령 실행 (write file / bash exec)
RC-->>BE: 실행 결과 (stdout/stderr, changed files)
BE-->>FE: 실행 결과 전달 (type=action_result)
end
%% 3) Commit to GitLab
alt 사용자가 커밋 트리거 (또는 FE가 최종 메시지로 자동 준비)
FE->>BE: POST /commit (message, diff/meta)
BE->>GL: Commit/Push
GL-->>BE: commit sha / pipeline info
BE-->>FE: 커밋 결과 (sha, pipeline status)
end
변경 구조
sequenceDiagram
autonumber
actor U as User
participant FE as Frontend (UI)
participant RC as Remote Container (Runner)
participant OC as OpenCode API
participant LLM as LLM Server
participant GL as GitLab
%% 1) Prompt -> Remote Container
U->>FE: 프롬프트 입력
FE->>RC: 프롬프트 전달 (prompt, context)
%% 2) Remote Container streams LLM output to Frontend via OpenCode API
RC->>OC: OpenCode API 호출 (start stream)
OC->>LLM: LLM 요청 (stream)
loop 스트리밍 수신
LLM-->>OC: stream chunk/event
OC-->>RC: stream chunk/event
RC-->>FE: stream 전달 (delta/event)
FE-->>FE: UI 업데이트만 수행
end
LLM-->>OC: stream 종료 (final)
OC-->>RC: final response + 종료 신호
RC-->>FE: 완료 알림 (done/final)
%% 3) Remote Container checks code changes and commits to GitLab
RC->>RC: 코드 변경 체크 (git status / diff)
alt 변경사항 있음
RC->>GL: Commit/Push (direct)
GL-->>RC: commit sha / pipeline info
RC-->>FE: 커밋 결과 알림 (sha, status)
else 변경사항 없음
RC-->>FE: 변경사항 없음 알림
end
Reactions are currently unavailable