cyberdesk

cyberdesk-hqApache-2.0长期未更新

给 AI 智能体提供可远程操控的虚拟桌面环境,让 computer-use 类智能体能在隔离的虚拟机里运行和操作图形界面。

Open source virtual desktops for AI agents

暂无版本318star39fork同步于 2026-11-07 07:31 UTC

怎么上手

由 README 提炼,执行前请确认
npm install [email protected]
pip install cyberdesk==0.2.7
硬件要求按 README 说明

README 未说明本地硬件或显存要求;桌面运行在云端或自托管的 Kubernetes/KubeVirt 虚拟机上,README 提到可部署到 AKS。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

面向计算机智能体的开源虚拟桌面编排基础设施,让智能体像人一样操作桌面

给 AI 智能体提供可远程操控的虚拟桌面环境,让 computer-use 类智能体能在隔离的虚拟机里运行和操作图形界面。

核心能力

  • 秒级启动虚拟桌面,可直接用于自动化或远程使用
  • 通过 SDK 控制鼠标、键盘并截图,供智能体操作
  • 提供 Python 与 TypeScript 官方类型安全 SDK
  • 基于 KubeVirt 与 Kubernetes Operator 管理虚拟机生命周期
  • 可部署在 AKS 或自托管基础设施上,带会话日志与 API Key 管理

容易踩的坑

需要先获取 API Key 才能创建客户端并调用接口;自托管需自行搭建 Kubernetes 集群、KubeVirt 与 cyberdesk-operator,README 建议在 Discord 获取一对一指导;Python 与 TypeScript 包版本号不同(0.2.7 / 0.2.1),不要混用。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    🚀 Quick Start

    TypeScript

    npm install [email protected]
    
    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' }
    });
    

    Python

    pip install cyberdesk==0.2.7
    
    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.


    ✨ Features


    📚 Official Documentation


    🛠️ Project Structure

    /apps

    • web: Landing page and dashboard (README)
    • api: Developer-facing API (README)
    • docs: Documentation site (README)

    /services

    • 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)

    /sdks

    • ts-sdk: TypeScript SDK (README)
    • py-sdk: Python SDK (README)

    /infrastructure

    • terraform: AKS Cluster Setup (Terraform) (README)
    • kubernetes: Kubernetes resources for the Cyberdesk operator

    🤝 Contributing

    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

    📣 Community & Support


    💡 Philosophy

    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.


    📄 License

    Apache License 2.0. See LICENSE.