sandboxd:一個在 Docker 中運行的自架 AI 應用程式建置器
開源、自託管的人工智慧應用程式建立器,代理在您自己的伺服器上的隔離沙箱中建立真實的應用程序,每個應用程式都位於預覽 URL 上。透過一個命令進行自託管。麻省理工學院。
秒懂
- 它是什麼?
- 開放原始碼引擎,將提示詞轉化為隔離沙箱中執行的應用程式,並附帶預覽 URL。
- 適合誰用?
- sandboxd 是一個刻意保持精簡的自架系統:一個 Go 程式驅動 Docker,由 Traefik 處理 URL,SQLite 儲存狀態。專案仍處於 beta 階段,因此 README 建議在面向不可信多租戶前固定版本並加強認證。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 7 天前。
- 用什麼語言寫的?
- 主要是 Go(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。
開源專案深度解析
sandboxd:AI 建置應用程式的自架引擎
sandboxd 是一個開放原始碼、自架的 AI 應用程式建置器。當你傳送提示詞時,它會啟動一個私有且隔離的容器,在其中執行 AI 編碼代理來處理你的提示詞,並為結果提供一個即時預覽 URL。README 將其描述為使提示詞到執行中應用程式的服務能夠在你自己的伺服器上運作的開放原始碼引擎。一個 HTTP 請求即可觸發整個流程。該專案使用 Go 編寫,用 Docker 驅動容器,Traefik 處理 URL,SQLite 儲存狀態,無需 Kubernetes、獨立資料庫或訊息佇列。(sandboxd 1-1)
在 tastyeffectco/sandboxd 的脈絡中,這一節只能由 README 已列出的入口來核對。請以 tastyeffectco/sandboxd 的 README、main 分支內容與 releases 頁面確認版本,再保留實際命令輸出、設定鍵和錯誤訊息。素材未說明的效能、相容性、故障恢復或安全保證,不應從專案描述、star 數或單一範例推導。若要驗證本節,應選取一個與 sandboxd 直接相關的最小輸入,觀察輸出檔案、API 回應或終端日誌,並把成功與失敗結果分開記錄。(章節 1)
tastyeffectco/sandboxd 第 1 節的入口還要和相鄰章節分開看:sandboxd README 明確寫出的命令、檔名或 API 只支持它所描述的範圍。執行時應保存輸入內容、程式版本和輸出結果,遇到錯誤則記錄完整訊息,不把一次成功執行延伸成所有平台都能成功。
tastyeffectco/sandboxd 第 1 節的採用邊界,取決於 README 具體列出的版本與執行條件。測試時先檢查 sandboxd 的安裝入口是否成功,再逐項比對輸入、輸出和日誌;若需要外部服務、容器、憑證或特定作業系統,應把該條件寫入紀錄。sandboxd README 沒有描述的行為仍屬未知,不能用相似工具的經驗代替。
sandboxd:API 和 Web 控制台兩種介面
sandboxd 中的所有操作都以 /v1 HTTP 呼叫的形式暴露,因此你可以無頭執行它,也可以從自己的產品中透過指令碼呼叫。另外還有一個可選的 Web 控制台,它作為純 /v1 用戶端執行,讓你在瀏覽器中建立應用程式、與編碼代理對話、觀看即時預覽、編輯檔案、檢視 git diff 並推送。控制台是無需編碼即可上手的最快方式,但引擎在無控制台情況下也能完美執行。對於產品建置者,API 優先的方式意味著 sandboxd 可以嵌入到更大的系統中。(sandboxd 2-1)
在 tastyeffectco/sandboxd 的脈絡中,這一節只能由 README 已列出的入口來核對。請以 tastyeffectco/sandboxd 的 README、main 分支內容與 releases 頁面確認版本,再保留實際命令輸出、設定鍵和錯誤訊息。素材未說明的效能、相容性、故障恢復或安全保證,不應從專案描述、star 數或單一範例推導。若要驗證本節,應選取一個與 sandboxd 直接相關的最小輸入,觀察輸出檔案、API 回應或終端日誌,並把成功與失敗結果分開記錄。(章節 2)
tastyeffectco/sandboxd 第 2 節的入口還要和相鄰章節分開看:sandboxd README 明確寫出的命令、檔名或 API 只支持它所描述的範圍。執行時應保存輸入內容、程式版本和輸出結果,遇到錯誤則記錄完整訊息,不把一次成功執行延伸成所有平台都能成功。
tastyeffectco/sandboxd 第 2 節的採用邊界,取決於 README 具體列出的版本與執行條件。測試時先檢查 sandboxd 的安裝入口是否成功,再逐項比對輸入、輸出和日誌;若需要外部服務、容器、憑證或特定作業系統,應把該條件寫入紀錄。sandboxd README 沒有描述的行為仍屬未知,不能用相似工具的經驗代替。
sandboxd:可以執行哪些應用程式
控制台支援四種起點:從超過 80 個精選的開放原始碼應用程式(如 Ghost、n8n、Gitea、Grafana、Metabase、Uptime Kuma、Jupyter 和 Keycloak)中執行一個現成應用程式;從 React/Vite、Next.js 或 FastAPI 脚手架啟動,這些脚手架會啟動到即時預覽;匯入任何公共 Git 儲存庫並讓編碼代理處理;或者從零開始,描述一個應用程式讓代理建立。README 還提到,任何 Node、Python 或靜態二進位應用程式都應該可以直接啟動,其他執行階段可以自帶基礎映像或預設。(sandboxd 3-1)
在 tastyeffectco/sandboxd 的脈絡中,這一節只能由 README 已列出的入口來核對。請以 tastyeffectco/sandboxd 的 README、main 分支內容與 releases 頁面確認版本,再保留實際命令輸出、設定鍵和錯誤訊息。素材未說明的效能、相容性、故障恢復或安全保證,不應從專案描述、star 數或單一範例推導。若要驗證本節,應選取一個與 sandboxd 直接相關的最小輸入,觀察輸出檔案、API 回應或終端日誌,並把成功與失敗結果分開記錄。(章節 3)
tastyeffectco/sandboxd 第 3 節的入口還要和相鄰章節分開看:sandboxd README 明確寫出的命令、檔名或 API 只支持它所描述的範圍。執行時應保存輸入內容、程式版本和輸出結果,遇到錯誤則記錄完整訊息,不把一次成功執行延伸成所有平台都能成功。
tastyeffectco/sandboxd 第 3 節的採用邊界,取決於 README 具體列出的版本與執行條件。測試時先檢查 sandboxd 的安裝入口是否成功,再逐項比對輸入、輸出和日誌;若需要外部服務、容器、憑證或特定作業系統,應把該條件寫入紀錄。sandboxd README 沒有描述的行為仍屬未知,不能用相似工具的經驗代替。
sandboxd:快速開始的需求與安裝
sandboxd 需要 Docker 及 Compose 外掛、git 和 Linux 主機。它原生支援 amd64 和 arm64,包括 Apple Silicon Mac(透過 Docker Desktop,盡力支援)和 arm64 Linux 主機(如 AWS Graviton)。README 中的安裝命令是一行 curl 管道到 bash:`curl -fsSL https://raw.githubusercontent.com/tastyeffectco/sandboxd/main/install.sh | bash`。該命令會建置映像、啟動包含 Web 控制台的整套服務,並輸出控制台 URL 和產生的登入資訊。控制台位址為 `http://console.localhost`,API 監聽 `http://127.0.0.1:9090`,並提供 `/healthz` 端點。同時還有升級指令碼,會在升級前備份資料庫,失敗時自動回滾。(sandboxd 4-1)
在 tastyeffectco/sandboxd 的脈絡中,這一節只能由 README 已列出的入口來核對。請以 tastyeffectco/sandboxd 的 README、main 分支內容與 releases 頁面確認版本,再保留實際命令輸出、設定鍵和錯誤訊息。素材未說明的效能、相容性、故障恢復或安全保證,不應從專案描述、star 數或單一範例推導。若要驗證本節,應選取一個與 sandboxd 直接相關的最小輸入,觀察輸出檔案、API 回應或終端日誌,並把成功與失敗結果分開記錄。(章節 4)
tastyeffectco/sandboxd 第 4 節的入口還要和相鄰章節分開看:sandboxd README 明確寫出的命令、檔名或 API 只支持它所描述的範圍。執行時應保存輸入內容、程式版本和輸出結果,遇到錯誤則記錄完整訊息,不把一次成功執行延伸成所有平台都能成功。
tastyeffectco/sandboxd 第 4 節的採用邊界,取決於 README 具體列出的版本與執行條件。測試時先檢查 sandboxd 的安裝入口是否成功,再逐項比對輸入、輸出和日誌;若需要外部服務、容器、憑證或特定作業系統,應把該條件寫入紀錄。sandboxd README 沒有描述的行為仍屬未知,不能用相似工具的經驗代替。
sandboxd:架構與隔離細節
每個應用程式都在獨立的容器中執行,擁有獨立的檔案系統和資源限制。空閒沙箱會休眠並按需喚醒,因此一台普通伺服器可以承載大量應用程式,而不必為每個應用程式準備虛擬機器。README 稱這些容器為「加固」的,但也警告容器隔離不等同於虛擬機器隔離,API 認證預設關閉,並且專案尚未為不可信的多租戶場景加固。每個任務都有檢查點且可回滾,內建代理為 OpenCode 和 Claude Code。代理憑證不會進入沙箱,而是由代理在網路上注入。原始碼沒有提供詳細的安全稽核或超出這些陳述的保證。(sandboxd 5-1)
在 tastyeffectco/sandboxd 的脈絡中,這一節只能由 README 已列出的入口來核對。請以 tastyeffectco/sandboxd 的 README、main 分支內容與 releases 頁面確認版本,再保留實際命令輸出、設定鍵和錯誤訊息。素材未說明的效能、相容性、故障恢復或安全保證,不應從專案描述、star 數或單一範例推導。若要驗證本節,應選取一個與 sandboxd 直接相關的最小輸入,觀察輸出檔案、API 回應或終端日誌,並把成功與失敗結果分開記錄。(章節 5)
tastyeffectco/sandboxd 第 5 節的入口還要和相鄰章節分開看:sandboxd README 明確寫出的命令、檔名或 API 只支持它所描述的範圍。執行時應保存輸入內容、程式版本和輸出結果,遇到錯誤則記錄完整訊息,不把一次成功執行延伸成所有平台都能成功。
tastyeffectco/sandboxd 第 5 節的採用邊界,取決於 README 具體列出的版本與執行條件。測試時先檢查 sandboxd 的安裝入口是否成功,再逐項比對輸入、輸出和日誌;若需要外部服務、容器、憑證或特定作業系統,應把該條件寫入紀錄。sandboxd README 沒有描述的行為仍屬未知,不能用相似工具的經驗代替。
sandboxd:部署選項:VPS 和託管
對於單伺服器部署,你可以在建立 VPS 時貼上 cloud-init 檔案,或者在現有伺服器上執行引導指令碼。README 建議從 2 vCPU / 4 GB 開始,並提供了完整的按提供者操作指南。同時還有託管服務,維護者會在你自己的機器上安裝和設定 sandboxd(BYOC),包括一次性設定和可選月度管理。README 中揭露,專案會透過部分提供者連結賺取推薦佣金。託管選項與自架引擎是分開的,自架引擎始終是完整產品。(sandboxd 6-1)
在 tastyeffectco/sandboxd 的脈絡中,這一節只能由 README 已列出的入口來核對。請以 tastyeffectco/sandboxd 的 README、main 分支內容與 releases 頁面確認版本,再保留實際命令輸出、設定鍵和錯誤訊息。素材未說明的效能、相容性、故障恢復或安全保證,不應從專案描述、star 數或單一範例推導。若要驗證本節,應選取一個與 sandboxd 直接相關的最小輸入,觀察輸出檔案、API 回應或終端日誌,並把成功與失敗結果分開記錄。(章節 6)
tastyeffectco/sandboxd 第 6 節的入口還要和相鄰章節分開看:sandboxd README 明確寫出的命令、檔名或 API 只支持它所描述的範圍。執行時應保存輸入內容、程式版本和輸出結果,遇到錯誤則記錄完整訊息,不把一次成功執行延伸成所有平台都能成功。
tastyeffectco/sandboxd 第 6 節的採用邊界,取決於 README 具體列出的版本與執行條件。測試時先檢查 sandboxd 的安裝入口是否成功,再逐項比對輸入、輸出和日誌;若需要外部服務、容器、憑證或特定作業系統,應把該條件寫入紀錄。sandboxd README 沒有描述的行為仍屬未知,不能用相似工具的經驗代替。
sandboxd:Beta 狀態與授權
sandboxd 處於 beta 階段,版本為 0.x。README 表示在 1.0 之前會有偶爾的破壞性變更,建議固定版本並逐步更新。它還指出 API 認證預設關閉,在暴露給不可信使用者之前應加強安全設定。專案採用 MIT 授權,授予使用、複製、修改、合併、發行、散佈、再授權和銷售副本的許可,但不提供任何形式的擔保。授權文字沒有涉及支援、安全保證或維護承諾。README 宣告自架是 MIT 授權且永久免費,但這是專案宣告,不是授權條款。(sandboxd 7-1)
在 tastyeffectco/sandboxd 的脈絡中,這一節只能由 README 已列出的入口來核對。請以 tastyeffectco/sandboxd 的 README、main 分支內容與 releases 頁面確認版本,再保留實際命令輸出、設定鍵和錯誤訊息。素材未說明的效能、相容性、故障恢復或安全保證,不應從專案描述、star 數或單一範例推導。若要驗證本節,應選取一個與 sandboxd 直接相關的最小輸入,觀察輸出檔案、API 回應或終端日誌,並把成功與失敗結果分開記錄。(章節 7)
tastyeffectco/sandboxd 第 7 節的入口還要和相鄰章節分開看:sandboxd README 明確寫出的命令、檔名或 API 只支持它所描述的範圍。執行時應保存輸入內容、程式版本和輸出結果,遇到錯誤則記錄完整訊息,不把一次成功執行延伸成所有平台都能成功。
tastyeffectco/sandboxd 第 7 節的採用邊界,取決於 README 具體列出的版本與執行條件。測試時先檢查 sandboxd 的安裝入口是否成功,再逐項比對輸入、輸出和日誌;若需要外部服務、容器、憑證或特定作業系統,應把該條件寫入紀錄。sandboxd README 沒有描述的行為仍屬未知,不能用相似工具的經驗代替。
編輯結論
sandboxd 是一個刻意保持精簡的自架系統:一個 Go 程式驅動 Docker,由 Traefik 處理 URL,SQLite 儲存狀態。專案仍處於 beta 階段,因此 README 建議在面向不可信多租戶前固定版本並加強認證。MIT 授權涵蓋使用、修改和散佈,但不提供任何擔保。 適合能依 tastyeffectco/sandboxd README 管理相依環境、版本與輸出的人;不適合把 README 的功能清單當成未經條件限制的服務承諾。先執行 README 所列的最小命令或入口,核對 sandboxd 的實際輸入、輸出、錯誤訊息與資料保存位置,再決定是否放入正式工作負載;MIT 授權下的再發布與修改責任也要由部署者依 LICENSE 原文確認。
社群筆記