Connect OpenCode desktop web to sandbox

2025-12-09
Cloudflare

Connect OpenCode desktop web to sandbox

One Worker, zero config

index.ts
1import { getSandbox } from '@cloudflare/sandbox';
2import { createOpencodeServer, proxyToOpencode } from '@cloudflare/sandbox/opencode';
3export { Sandbox } from '@cloudflare/sandbox';
4
5export default {
6 async fetch(request: Request, env: Env): Promise<Response> {
7 const sandbox = getSandbox(env.Sandbox, 'opencode');
8
9 // Start OpenCode server inside the container
10 const server = await createOpencodeServer(sandbox, {
11 directory: '/home/user/project',
12 config: { provider: { anthropic: { options: { apiKey: env.ANTHROPIC_API_KEY } } } }
13 });
14
15 // Proxy requests to OpenCode's web UI
16 return proxyToOpencode(request, sandbox, server);
17 }
18};