
코딩 에이전트를 샌드박스에서 실행하세요. HTTP로 제어하세요. Claude Code, Codex, OpenCode 및 Amp를 지원합니다.
샌드박스 내부에서 실행되는 서버입니다. 앱이 원격으로 연결하여 Claude Code, Codex, OpenCode, Cursor, Amp, Pi를 제어하며 이벤트 스트리밍, 권한 처리, 세션 관리를 수행합니다.
실험적: Gigacode — 모든 코딩 에이전트와 함께 OpenCode의 TUI를 사용합니다.
코딩 에이전트를 원격으로 실행하는 것은 어렵습니다. 기존 SDK는 로컬 실행을 가정하고, SSH는 TTY 처리와 스트리밍을 망가뜨리며, 각 에이전트마다 다른 API를 가지고 있습니다. 처음부터 구축하려면 모든 코딩 에이전트에 대해 모든 것을 다시 구현해야 합니다.
Sandbox Agent는 세 가지 문제를 해결합니다:
코딩 에이전트에는 샌드박스가 필요합니다 — AI가 프로덕션 서버에서 임의의 코드를 실행하도록 할 수 없습니다. 코딩 에이전트는 격리된 환경이 필요하지만 기존 SDK는 로컬 실행을 가정합니다. Sandbox Agent는 샌드박스 내부에서 실행되며 HTTP/SSE를 노출하는 서버입니다.
모든 코딩 에이전트는 다릅니다 — Claude Code, Codex, OpenCode, Cursor, Amp, Pi는 각각 독점 API, 이벤트 형식 및 동작을 가지고 있습니다. 에이전트를 교체하려면 통합을 다시 작성해야 합니다. Sandbox Agent는 하나의 HTTP API를 제공합니다. 코드를 한 번 작성하고 구성 변경으로 에이전트를 교체하세요.
세션은 일시적입니다 — 에이전트 기록은 샌드박스에 있습니다. 프로세스가 종료되면 모든 것을 잃습니다. Sandbox Agent는 이벤트를 보편적 스키마로 스트리밍하여 저장소로 보냅니다. Postgres, ClickHouse 또는 Rivet에 유지하세요. 나중에 재생하고 모든 것을 감사하세요.

Sandbox Agent는 클라이언트 애플리케이션과 다양한 코딩 에이전트 사이의 범용 어댑터 역할을 합니다. 각 에이전트는 자체 어댑터를 가지고 있으며, 이 어댑터가 범용 API와 에이전트별 인터페이스 간의 변환을 처리합니다.
사용 사례에 가장 적합한 설치 방법을 선택하세요.
다음과 같이 skill을 설치하세요:
npx skills add rivet-dev/skills -s sandbox-agent
bunx skills add rivet-dev/skills -s sandbox-agent
SDK를 Node 또는 브라우저 애플리케이션으로 직접 가져오세요. 완전한 타입 안전성과 스트리밍 지원을 제공합니다.
설치
npm install [email protected]
bun add [email protected]
# 선택 사항: 네이티브 바이너리를 위해 Bun이 postinstall 스크립트를 실행하도록 허용합니다 (SandboxAgent.start()에 필요).
bun pm trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64
설정
로컬 (임베디드 모드):
import { SandboxAgent } from "sandbox-agent";
const client = await SandboxAgent.start();
원격 (서버 모드):
import { SandboxAgent } from "sandbox-agent";
const client = await SandboxAgent.connect({
baseUrl: "http://127.0.0.1:2468",
token: process.env.SANDBOX_TOKEN,
});
API 개요
const agents = await client.listAgents();
await client.createSession("demo", {
agent: "codex",
agentMode: "default",
});
await client.postMessage("demo", { message: "SDK로부터의 인사입니다." });
for await (const event of client.streamEvents("demo", { offset: 0 })) {
console.log(event.type, event.data);
}
HTTP 서버로 실행하고 모든 언어에서 연결하세요. E2B, Daytona, Vercel 또는 자체 인프라에 배포하세요.
# 설치
curl -fsSL https://releases.rivet.dev/sandbox-agent/0.4.x/install.sh | sh
# 실행
sandbox-agent server --token "$SANDBOX_TOKEN" --host 127.0.0.1 --port 2468
선택 사항: 에이전트 바이너리 사전 설치 (필수 아님; 건너뛰면 처음 사용 시 지연 설치됨):
sandbox-agent install-agent --all
로컬에서 인증 비활성화:
sandbox-agent server --no-token --host 127.0.0.1 --port 2468
CLI 래퍼 설치 (선택 사항이지만 편리함):
npm install -g @sandbox-agent/[email protected]
# 네이티브 바이너리를 위해 Bun이 postinstall 스크립트를 실행하도록 허용합니다.
bun add -g @sandbox-agent/[email protected]
bun pm -g trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64
세션을 생성하고 메시지 보내기:
sandbox-agent api sessions create my-session --agent codex --endpoint http://127.0.0.1:2468 --token "$SANDBOX_TOKEN"
sandbox-agent api sessions send-message my-session --message "Hello" --endpoint http://127.0.0.1:2468 --token "$SANDBOX_TOKEN"
sandbox-agent api sessions send-message-stream my-session --message "Hello" --endpoint http://127.0.0.1:2468 --token "$SANDBOX_TOKEN"
다음과 같이 npx를 사용할 수도 있습니다:
npx @sandbox-agent/[email protected] --help
bunx @sandbox-agent/[email protected] --help
내장 검사기 UI로 세션 및 이벤트를 디버깅하세요 (예: http://localhost:2468/ui/).

종종 개인 API 토큰을 사용하여 샌드박스에서 에이전트를 테스트해야 합니다:
sandbox-agent credentials extract-env --export
이 명령은 Sandbox Agent SDK로 테스트하기 위해 OpenAI/Anthropic 등 API 키에 대한 환경 변수를 출력합니다.
아니요, 이들은 상호 보완적입니다. AI SDK는 채팅 인터페이스를 구축하고 LLM을 호출하기 위한 것입니다. 이 SDK는 코드를 작성하고 명령을 실행하는 자율 코딩 에이전트를 제어하기 위한 것입니다. UI에는 AI SDK를 사용하고, 에이전트가 실제로 코딩해야 할 때는 이 SDK를 사용하십시오.
Claude Code, Codex, OpenCode, Cursor, Amp, Pi입니다. SDK가 이들의 API를 표준화하여 코드를 변경하지 않고도 에이전트 간에 전환할 수 있습니다.
이 SDK는 세션 데이터의 유지를 처리하지 않습니다. 이벤트는 어디든 저장할 수 있는 범용 JSON 스키마로 스트리밍됩니다. Postgres 또는 Rivet Actors를 사용하는 패턴은 세션 관리를 참조하십시오.
둘 다 가능합니다. 개발 시 로컬에서 실행하고, 프로덕션에서는 E2B, Daytona 또는 Vercel Sandboxes에 배포하십시오.
서버는 단일 Rust 바이너리로, curl 설치만으로 어디서나 실행됩니다. 플랫폼이 Linux 바이너리(Docker, VM 등)를 실행할 수 있으면 작동합니다. E2B, Daytona 및 Vercel Sandboxes에 대한 배포 가이드를 참조하십시오.
네. sandbox-agent credentials extract-env를 사용하여 로컬 에이전트 구성(Claude Code, Codex, OpenCode, Amp, Pi)에서 API 키를 추출하고 샌드박스 환경에 전달하십시오.
Rust는 단일 정적 바이너리, 빠른 시작 시간, 예측 가능한 메모리 사용량을 제공합니다. 따라서 Node.js와 같은 큰 런타임을 제공하지 않고도 샌드박스 내부나 CI에서 쉽게 실행할 수 있습니다.
개발 시에는 가능합니다. 그러나 프로덕션에서는 격리가 필요합니다. 코딩 에이전트는 임의의 코드를 실행합니다 — 서버에서 그렇게 할 수 없습니다. 샌드박스가 격리를 제공하고, 이 SDK는 코딩 에이전트를 원격으로 제어하기 위한 HTTP API를 제공합니다.
공식 SDK는 로컬 실행을 가정합니다. 프로세스를 생성하고 대화형 터미널을 기대합니다. 이 SDK는 샌드박스 내부에서 실행되는 서버를 HTTP로 연결하도록 설계되었습니다 — 처음부터 원격 제어를 위해 설계되었습니다.
코딩 에이전트는 적절한 TTY 처리가 포함된 대화형 터미널을 기대합니다. SSH에 파이프된 명령은 도구 확인, 스트리밍 출력 및 인간-루프 흐름을 깨뜨립니다. SDK는 깔끔한 HTTP API를 통해 이 모든 것을 처리합니다.
| 구성 요소 | 설명 |
|---|
| 서버 | HTTP + SSE API를 노출하는 Rust 데몬 (sandbox-agent server) |
| SDK | 임베디드 및 서버 모드를 지원하는 TypeScript 클라이언트 |
| 검사기 | 세션 및 이벤트 검사를 위한 내장 UI |
| CLI | sandbox-agent (동일 바이너리, npm 래퍼 포함)가 HTTP 엔드포인트를 미러링합니다 |