Trần Quốc Việt
← All posts

2026-04-12

Gen AI

BeGuru AI — AIO Sandbox: component thực thi cô lập (lộ trình)

Tài liệu kiến trúc trên blog: vì sao baseline chạy test/build trên host, AIO Sandbox (shell, file, MCP Hub, preview), SandboxExecutor, điểm tích hợp — SSOT trong repo beguru-ai/docs/AIO_SANDBOX_INTEGRATION.md.

Trạng thái

Lộ trình · chưa merge

Thay thế

subprocess trên host

Component

SandboxExecutor

SSOT

docs/ trong repo

View
Lang

Tóm lược

  • Chưa triển khai trong code mặc định — đây là hợp đồng kiến trúc cho lớp thực thi cô lập, bám plan AIO Sandbox Integration và file SSOT trong repo beguru-ai/docs/AIO_SANDBOX_INTEGRATION.md.
  • Mục tiêu: thay subprocess trên host (Jest, Playwright, preview Popen, static check / docker_mode stub) bằng service AIO Sandbox (HTTP + SDK agent-sandbox): shell, file, browser, MCP Hub, port proxy.
  • Không thay thế artifact-first (.guru/, repo trên đĩa); sandbox chỉ đổi nơi chạy lệnh nguy hiểm — khác hẳn memory plane (Mem0).

Vì sao cần (baseline đang thiếu gì?)

Khu vựcBaselineRủi ro
Testsubprocess trên OS cùng APIKhông cô lập session; nhiễu môi trường
Build / staticHost + nhánh docker có thể stubKhông hermetic như CI
PreviewSpawn dev server trên hostTrùng port, ảnh hưởng máy chạy API
MCPstdio gần filesystem hostLLM-generated code “gần” host

Chi tiết giới hạn baseline: Technical Narrative, mục Limitations.

AIO Sandbox (khả năng mục tiêu)

Giả định: một container/service expose API; cấu hình SANDBOX_URL / sandbox_url trong Settings (chốt lúc code).

SurfaceVai trò
Shell execjest, playwright, bun run build trong container
Filesystem APIĐồng bộ project → workspace sandbox trước exec
Browser / screenshotQA multimodal
MCP Hub /mcpshell, file, browser qua SSE — bổ sung SseServerParameters trong MCP client
Port proxyPreview không bind port trực tiếp trên host API

Component đề xuất

  • SandboxExecutorsrc/components/sandbox/sandbox_executor.py: bọc SDK, run_shell, sync_project, (tuỳ chọn) screenshot; trả stdout/stderr/exit chuẩn hoá; timeout / giới hạn output.
  • Singleton client — tránh tạo mới mỗi request.

beguru-ai ↔ AIO Sandbox (SVG tương tác)

Hover vào QAAgent, project_validation hoặc MCP để thấy nhánh sang sandbox.
Sơ đồ tương tác · SSOT: beguru-ai/docs

Chú thích: fs (đồng bộ cây project trước khi chạy lệnh) nằm cùng mặt phẳng sandbox nhưng không có cạnh riêng trên sơ đồ tối giản — xem SSOT repo.

Điểm tích hợp (theo plan)

Điểm đụngFile gợi ý
Test runnermcp_servers/test_runner_server.py
Docker / buildsrc/components/project_validation/service.py
MCP xasrc/mcp/client.py
Previewsrc/api/routes/preview.py
QAsrc/agents/qa.py
Infradocker/docker-compose.yml → service aio-sandbox

Lộ trình (8 bước)

Settings + singleton → SandboxExecutor → refactor test runner → docker_mode thật → MCP SSE → preview → QA screenshot → compose.

SSOT

Bản đầy đủ bảng trạng thái, sơ đồ kiến trúc sau tích hợp, rủi ro / test: beguru-ai/docs/AIO_SANDBOX_INTEGRATION.md trong repo (cập nhật khi merge từng PR).


Bài liên quan / Related posts