The open source infra for virtual desktop orchestration, tailored for computer agents
A computer agent operating a Cyberdesk virtual desktop from a user prompt
import { createCyberdeskClient } from 'cyberdesk';
const cyberdesk = createCyberdeskClient({ apiKey: 'YOUR_API_KEY' });
const launchResult = await cyberdesk.launchDesktop({ body: { timeout_ms: 10000 } });
const desktopId = launchResult.id;
// Take a screenshot
const screenshot = await cyberdesk.executeComputerAction({
path: { id: desktopId },
body: { type: 'screenshot' }
});
// Left click at (100, 150)
await cyberdesk.executeComputerAction({
path: { id: desktopId },
body: { type: 'click_mouse', x: 100, y: 150, button: 'left' }
});
from cyberdesk import CyberdeskClient
from cyberdesk.actions import click_mouse, screenshot, ClickMouseButton
client = CyberdeskClient(api_key="YOUR_API_KEY")
result = client.launch_desktop(timeout_ms=10000)
desktop_id = result.id
# Take a screenshot
screenshot_action = screenshot()
screenshot_result = client.execute_computer_action(desktop_id, screenshot_action)
# Left click at (100, 150)
click_action = click_mouse(x=100, y=150, button=ClickMouseButton.LEFT)
client.execute_computer_action(desktop_id, click_action)
👉 For more details and advanced usage, see the Quickstart Guide and Official Documentation.
🚀 Fast Launch Spin up virtual desktops in seconds, ready for automation or remote use. |
🖱️ Full Automation Control mouse, keyboard, and more—perfect for computer agents. |
🖥️ Cloud Native Runs on AKS, or self-hosted on your own infrastructure. |
🔒 Secure & Auditable Session logs, API keys, and enterprise-grade security. |
🧩 Type-Safe SDKs Official Python & TypeScript SDKs with full type hints. |
🤖 AI-Ready Tailor built for the next generation of computer use agents |
- web: Landing page and dashboard (README)
- api: Developer-facing API (README)
- docs: Documentation site (README)
- cyberdesk-operator: Kubernetes operator for managing Cyberdesk Custom Resources, and starting/stopping Kubevirt virtual machines (README)
- gateway: HTTP service that proxies requests to the Kubevirt API, and routes them to the correct virtual machine (README)
- terraform: AKS Cluster Setup (Terraform) (README)
- kubernetes: Kubernetes resources for the Cyberdesk operator
We welcome contributions!
- Join the Discord for discussion and support
- Get a personal 1-1 walkthrough of how to self host the project by contacting us on Discord
- Discord for help and chat
- Good First Issues
- Open an Issue
At Cyberdesk our mission is to make building computer agents as easy as playing with legos. We believe in open, simple, and extensible tools for the new generation of developers: computer agent developers.
Apache License 2.0. See LICENSE.
Made with ❤️ by the Cyberdesk Team