2026-04-12
Gen AIBeGuru 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
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
subprocesstrên host (Jest, Playwright, previewPopen, static check /docker_modestub) bằng service AIO Sandbox (HTTP + SDKagent-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ực | Baseline | Rủi ro |
|---|---|---|
| Test | subprocess trên OS cùng API | Không cô lập session; nhiễu môi trường |
| Build / static | Host + nhánh docker có thể stub | Không hermetic như CI |
| Preview | Spawn dev server trên host | Trùng port, ảnh hưởng máy chạy API |
| MCP | stdio gần filesystem host | LLM-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).
| Surface | Vai trò |
|---|---|
| Shell exec | jest, playwright, bun run build trong container |
| Filesystem API | Đồng bộ project → workspace sandbox trước exec |
| Browser / screenshot | QA multimodal |
MCP Hub /mcp | shell, file, browser qua SSE — bổ sung SseServerParameters trong MCP client |
| Port proxy | Preview không bind port trực tiếp trên host API |
Component đề xuất
SandboxExecutor—src/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)
beguru-ai/docsChú 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 đụng | File gợi ý |
|---|---|
| Test runner | mcp_servers/test_runner_server.py |
| Docker / build | src/components/project_validation/service.py |
| MCP xa | src/mcp/client.py |
| Preview | src/api/routes/preview.py |
| QA | src/agents/qa.py |
| Infra | docker/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).