Cua (Computer-Use Agent)
Cua (произносится «ку-а», сокращение от Computer-Use Agent) — это открытая платформа, объединяющая высокопроизводительную виртуализацию с возможностями AI-агентов. Она предоставляет изолированные и безопасные окружения, в которых ИИ может взаимодействовать с десктопными приложениями.
Возможности
- Виртуализация с высокой производительностью — создание и запуск виртуальных машин macOS/Linux на Apple Silicon (до 90% от нативной скорости) через Apple Virtualization.Framework.
- Интерфейс Computer-Use и агент — фреймворк, позволяющий ИС наблюдать и управлять виртуальными окружениями: запускать приложения, работать в браузере, писать код, выполнять сложные рабочие процессы.
Зачем использовать Cua?
- Безопасность и изоляция — AI-агент работает в полностью изолированной ВМ, а не на основной системе.
- Производительность — почти нативная скорость на Apple Silicon (бенчмарк).
- Гибкость — один фреймворк для macOS и Linux.
- Воспроизводимость — детерминированные окружения для повторяемых экспериментов.
- Интеграция с LLM — встроенная поддержка различных провайдеров языковых моделей.
Системные требования
- Mac на Apple Silicon (M1/M2/M3/M4)
- macOS 14 (Sonoma) или новее
- Python 3.10+
- Дисковое пространство: от 40 ГБ для образов ВМ
Быстрый старт
Вариант 1: Только управление ВМ (Lume CLI)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/lume/scripts/install.sh)"
Подробнее — в документации Lume.
Вариант 2: Полный Computer-Use Agent
- Установи Lume CLI (команда выше).
- Установи Python-библиотеки:
pip install cua-computer cua-agent[all]
- Пример использования в коде:
import logging
from cua.computer import Computer
from cua.agent import ComputerAgent, LLM, AgentLoop, LLMProvider
async with Computer(verbosity=logging.DEBUG) as macos_computer:
agent = ComputerAgent(
computer=macos_computer,
loop=AgentLoop.OPENAI, # или AgentLoop.ANTHROPIC, AgentLoop.OMNI
model=LLM(provider=LLMProvider.OPENAI)
)
tasks = ["Найди репозиторий trycua/cua на GitHub."]
for task in tasks:
async for result in agent.run(task):
print(result)
Готовый пример — в Agent Notebook.
- (Опционально) Запуск с веб-интерфейсом Gradio:
from utils import load_dotenv_files
load_dotenv_files()
from agent.ui.gradio.app import create_gradio_ui
app = create_gradio_ui()
app.launch(share=False)
Для разработчиков (сборка из исходников)
git clone https://github.com/trycua/cua.git
cd cua
code ./vscode/py.code-workspace
./scripts/build.sh
Подробнее — Developer Guide.
Библиотеки монорепозитория
| Библиотека |
Описание |
Установка |
| Lume |
CLI для запуска macOS/Linux ВМ с производительностью, близкой к нативной |
Скачать .pkg.tar.gz с релизов |
| Computer |
Интерфейс Computer-Use (CUI) для взаимодействия с песочницами |
pip install cua-computer |
| Agent |
Фреймворк для агентских рабочих процессов в выделенных песочницах |
pip install cua-agent |
Вспомогательные библиотеки
| Библиотека |
Описание |
Установка |
| Core |
Базовые утилиты |
pip install cua-core |
| PyLume |
Python-привязки для Lume |
pip install pylume |
| Computer Server |
Серверный компонент CUI |
pip install cua-computer-server |
| SOM |
Self-of-Mark для Agent |
pip install cua-som |
Документация
Рекомендуемый порядок изучения:
- Computer — основные возможности песочницы.
- Agent — AI-агент.
- Notebooks — практические примеры.
Примеры использования
Посмотрите демо в Discord-сообществе:
- AI-Gradio — мультиприложение, требующее браузер, VS Code и терминал
- Notebook — исправление GitHub issue в Cursor
Участие в разработке
Мы приветствуем вклад: документация, новые фичи, исправления, образы ВМ. См. CONTRIBUTING.md.
Присоединяйтесь к Discord для обсуждений.
Лицензия
MIT — подробнее LICENSE.
Торговые марки
Apple, macOS, Apple Silicon — товарные знаки Apple Inc. Ubuntu и Canonical — зарегистрированные товарные знаки Canonical Ltd. Проект не аффилирован с Apple Inc. или Canonical Ltd.
Комментарии
Комментариев пока нет. Будьте первым.