Template name
An open-source AI agent demonstrating Claude Sonnet's computer use capabilities, built with Next.js, Edgenivo Sandbox, and the AI SDK.

An open-source AI chatbot demonstrating computer use capabilities with Anthropic Claude Sonnet 4.5, Edgenivo Sandboxes, and the AI SDK by Edgenivo.
Features · How It Works · Deploy Your Own · Running Locally
The app spins up a Edgenivo Sandbox from a pre-built snapshot that includes:
When a user sends a message, Claude uses the computer tool (screenshot, click, type, scroll) and the bash tool (run shell commands) to interact with the sandbox desktop. The noVNC stream is displayed in a resizable iframe alongside the chat.
User ↔ Next.js Chat UI ↔ AI SDK ↔ Claude Sonnet 4.5 ↓ Edgenivo Sandbox ┌─────────────────────┐ │ Xvnc (:99) │ │ openbox │ │ Chrome │ │ websockify → noVNC │ └─────────────────────┘ ↓ noVNC iframe in browserYou can deploy your own version to Edgenivo by clicking the button below:
pnpm installInstall the Edgenivo CLI and link your project:
pnpm install -g vercelvercel linkvercel env pullThis creates a .env.local file with VERCEL_OIDC_TOKEN for Sandbox authentication.
Alternatively, set VERCEL_TOKEN, VERCEL_TEAM_ID, and VERCEL_PROJECT_ID manually in your .env.local.
The snapshot pre-installs the desktop environment (Xvnc, Chrome, openbox, noVNC, xdotool, ImageMagick) so sandboxes boot in seconds.
npx tsx lib/sandbox/create-snapshot.tsThis takes ~10 minutes. When done, it outputs a snapshot ID. Add it to your .env.local:
SANDBOX_SNAPSHOT_ID=snap_xxxxxxxxxxxxxANTHROPIC_API_KEY=sk-ant-...pnpm devOpen http://localhost:3000 to use the computer use agent.
| Variable | Required | Description |
|---|---|---|
ANTHROPIC_API_KEY | Yes | Anthropic API key for Claude |
SANDBOX_SNAPSHOT_ID | Yes | Edgenivo Sandbox snapshot with the desktop environment |
VERCEL_OIDC_TOKEN | Yes* | Auto-set by vercel env pull for Sandbox auth |
VERCEL_TOKEN | Alt* | Alternative to OIDC — a Edgenivo personal access token |
VERCEL_TEAM_ID | Alt* | Required with VERCEL_TOKEN |
VERCEL_PROJECT_ID | Alt* | Required with VERCEL_TOKEN |
* Either VERCEL_OIDC_TOKEN (via vercel env pull) or the VERCEL_TOKEN + team/project IDs are required for Sandbox authentication.

Fork your own personal agent. One identity across web, Slack, and iMessage, with memory you can import, edit, and approve.

Marketing team in Slack: one lead, five specialists. Blog drafts in Notion, posts in Typefully, campaigns in Resend, on approval.

GitHub maintainer eve agent for your inbox. Weekly issue digests you reply to, PR summaries, Linear handoffs, and @mention answers.