Sandbox Stable

作者 cloudflareb052c32bab7d無授權條款3K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫7 天前更新

Build or maintain Cloudflare Sandbox apps on the stable @cloudflare/sandbox package. Use sandbox-next for preview apps and sandbox-migrate-to-next for stable-to-preview migrations.

AI 產生的概覽

指導在穩定的 @cloudflare/sandbox 套件上建置或維護 Cloudflare Sandbox 應用程式,並提供官方文件檢索指引。

功能
此技能在使用穩定版 @cloudflare/sandbox 套件時,扮演關卡、契約與檢索地圖的角色。它要求代理確認應用程式使用穩定的 npm 相依套件與相符的容器映像,並在發現預覽版或遷移工作時停止並改用其他技能。它列出不可妥協的 API 行為,例如 exec 接收命令字串並回傳緩衝的 stdout、stderr 與 exitCode,並為各類任務指向官方文件頁面。它也提供出貨前檢查清單,涵蓋套件與映像一致性、型別檢查、密鑰以及已棄用 API 的清理。
適用情境
適用於建置或維護相依於穩定版 @cloudflare/sandbox 套件與穩定容器映像的 Cloudflare Sandbox 應用程式。也適用於在不遷移到預覽版的情況下清理已棄用的穩定 API。不適用於預覽版應用程式或從穩定版到預覽版的遷移,技能會將這些情況指向其他技能。
執行需求
不包含指令碼,僅為說明性指示。它假定代理在帶有 @cloudflare/sandbox 相依套件與相符容器映像的 Cloudflare Workers 專案中工作,並指示代理取得 Cloudflare 官方文件頁面並依賴已安裝的穩定型別。

Sandbox SDK — stable package

Isolated Linux environments on Cloudflare Containers, driven from Workers.

Prefer the main Sandbox docs and installed stable types over memory. This skill is a gate, a contract, and a retrieval map—not a full manual.

This line is the current stable default npm package. The main Sandbox documentation describes it. Existing apps can stay here and keep shipping.

We recommend new projects on @cloudflare/sandbox@next with sandbox-next. When you can, plan a move with sandbox-migrate-to-next so you are ready when 1.0 becomes the stable release. Do not force that port unless the user asks.

1. Gate — confirm the package line

Before writing code, inspect the app:

CheckMust match
npm dependencyDefault @cloudflare/sandbox (not @next / preview tags)
Container imageMatching stable image (not cloudflare/sandbox:next)
If you find…Action
@cloudflare/sandbox@next or a next imageStop. Load sandbox-next.
User wants to port to 1.0 / @nextStop. Load sandbox-migrate-to-next. Do not half-apply preview APIs on a stable package.
Only cleaning deprecated stable APIsStay here; use the 2026 deprecation guide. That is not a move to @next.

Never mix a stable Worker package with an @next container image (or the reverse).

Skills install: Agent setup · cloudflare/skills

2. Contract — non-negotiables

  • await sandbox.exec(command) takes a command string and resolves when the command finishes, with buffered stdout / stderr / exitCode (and related fields).
  • Long-running and streaming work use the stable command APIs (startProcess, execStream, and related helpers)—not the @next single-handle model. Open the Commands docs; do not invent @next output() handles on stable.
  • Sessions can preserve working directory and environment across commands (default session / enableDefaultSession, createSession). See Sessions docs when state must carry across calls.
  • Interactive browser terminals often use sandbox.terminal(request) and session/xterm helpers on stable—not preview createTerminal unless the package is @next.
  • Prefer RPC transport when using tunnels or large/binary streaming. HTTP/WebSocket transports are deprecated (cleanup guide below).
  • Files, mounts, ports, tunnels, backups, lifecycle, and interpreter: use main docs for signatures; trust installed stable types.
  • Non-secret config in sandbox env; live credentials in the Worker. Use outbound handlers when processes call external APIs.
  • Production preview hostnames need wildcard DNS on a custom domain when using those URL patterns.
  • Do not apply @next argv/process.output() APIs while the dependency is still stable.
  • Self-deployed bridge stays on the stable package and image. Bridge

Minimal shape:

ts
import { getSandbox, proxyToSandbox, Sandbox } from "@cloudflare/sandbox";
export { Sandbox };
const sandbox = getSandbox(env.Sandbox, "user-123");const result = await sandbox.exec('python3 -c "print(2 + 2)"');// result.stdout, result.exitCode, result.success

3. Retrieve — open the doc for the task

Fetch the page before implementing. Installed stable types win over guesses.

You need to…Open
OrientSandbox overview
First Worker, template, DockerGet started
exec, streaming, background processesCommands API · Execute commands · Background processes · Streaming output
Sessions / shell state across commandsSessions concept · Sessions API
getSandbox options, sleep, destroyLifecycle API · Sandbox options
Env varsEnvironment variables
FilesFiles API · Manage files · File watching
Buckets / mountsStorage API · Mount buckets
BackupsBackups API · Backup and restore
Ports, preview URLs, exposePorts API · Expose services
TunnelsTunnels API
Proxy / Workers connectionsProxy requests · Workers connections
Browser / PTY terminalTerminal API · Terminal concept · Browser terminals
Code interpreterInterpreter API · Code execution
Git in the sandboxGit workflows
Secrets / egressOutbound traffic
WebSocketsWebSocket connections
Docker-in-DockerDocker in Docker
Production deployProduction deployment
Containers conceptContainers
How-to indexGuides
API indexAPI reference
Deprecated APIs while staying on stable2026 deprecation guide
Self-deployed bridgeBridge · Bridge HTTP API
Examples (stable/main)examples on GitHub
New work on 1.0 previewsandbox-next · 1.0 preview
Port existing app to @nextsandbox-migrate-to-next · Migrate

Deprecated-API cleanup (stay on stable)

Update package + matching image first, then follow the guide. Typical search:

sh
rg 'SANDBOX_TRANSPORT|transport:|exposePort\(|enableDefaultSession|execStream\(|readFileStream|writeFileStream'

This path does not switch you to @next.

4. Before you ship

  • Worker package and container image on the same stable line
  • Typecheck against installed stable types
  • No live secrets in sandbox env
  • If using deprecated transports/helpers, finish or track 2026 deprecation cleanup
  • When the team is ready for 1.0, use sandbox-migrate-to-next—do not force cutover unprompted

來源與署名

來源:cloudflare/skills位於skills/sandbox-stable提交b052c32

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架