darwin is a self-hosted agent app built on eve. The agent works inside its own microVM, drives a real browser you can watch live, and ships with a streaming chat UI you host yourself.
/workspace, so nothing it does touches your machinebash and write_file literally aren't callable), then build turns work the plan/grill interrogates your task before a line of code exists, and skills load on demandapps/webeve deploy links the project and ships the agentTwo halves, one repo: a Next.js app you talk to, and an eve agent that does the work.
apps/web is a normal Next.js project with the chat UI, auth, sessions and workspaces. Your message reaches the agent over eve's channel auth (Vercel OIDC in production, open on localhost).agent/ is a directory of plain files (instructions, tools, skills, sandbox config) that eve compiles and runs./workspace. Switching the workspace to "this machine" runs them on the host instead, and every call pauses for your approval.What exactly is darwin?
An agent app: an eve agent (instructions, tools, skills and sandbox, all plain files) plus a Next.js chat frontend. You can read the whole thing on GitHub.
Does the agent touch my machine?
Not by default. Built-in shell and file tools run inside the microVM. Tools that do reach the host (local_bash, local_write) pause and wait for your approval first, and browser clicks and fills are approved once per session.
How does the browser panel work?
Chromium runs on the host (so the window is real and visible), driven through snapshot references rather than raw DOM. Screenshots stream over an internal API into a floating, draggable, fullscreenable panel in the chat.
Which model does it use?
Whatever OpenAI-compatible endpoint you point it at. The default is OpenCode Go's gateway, called through the Responses API; swapping providers is a few lines of agent/agent.ts.
Where does it run?
Locally with eve dev, deployed to Vercel with eve deploy. The web app is a standard Next.js project, so it hosts anywhere Next does.