CUA (Computer Use) Agent for AI-driven computer interaction
Project description
cua-agent is a general Computer-Use framework with liteLLM integration for running agentic workflows on macOS, Windows, and Linux sandboxes. It provides a unified interface for computer-use agents across multiple LLM providers with advanced callback system for extensibility.
Features
- Safe Computer-Use/Tool-Use: Using Computer SDK for sandboxed desktops
- Multi-Agent Support: Anthropic Claude, OpenAI computer-use-preview, UI-TARS, Omniparser + any LLM
- Multi-API Support: Take advantage of liteLLM supporting 100+ LLMs / model APIs, including local models (
huggingface-local/,ollama_chat/,mlx/) - Cross-Platform: Works on Windows, macOS, and Linux with cloud and local computer instances
- Extensible Callbacks: Built-in support for image retention, cache control, PII anonymization, budget limits, and trajectory tracking
Install
pip install "cua-agent[all]"
Quick Start
import asyncio
import os
from agent import ComputerAgent
from computer import Computer
async def main():
# Set up computer instance
async with Computer(
os_type="linux",
provider_type="cloud",
name=os.getenv("CUA_CONTAINER_NAME"),
api_key=os.getenv("CUA_API_KEY")
) as computer:
# Create agent
agent = ComputerAgent(
model="anthropic/claude-3-5-sonnet-20241022",
tools=[computer],
only_n_most_recent_images=3,
trajectory_dir="trajectories",
max_trajectory_budget=5.0 # $5 budget limit
)
# Run agent
messages = [{"role": "user", "content": "Take a screenshot and tell me what you see"}]
async for result in agent.run(messages):
for item in result["output"]:
if item["type"] == "message":
print(item["content"][0]["text"])
if __name__ == "__main__":
asyncio.run(main())
Docs
- Agent Loops
- Supported Agents
- Supported Models
- Chat History
- Callbacks
- Custom Tools
- Custom Computer Handlers
- Prompt Caching
- Usage Tracking
- Benchmarks
License
MIT License - see LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cua_agent-0.4.32.tar.gz.
File metadata
- Download URL: cua_agent-0.4.32.tar.gz
- Upload date:
- Size: 112.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
421c48a12f9bccc2594611ba6ba8d186e6651be5963659d0c97c65a96fd6a998
|
|
| MD5 |
e00ecbb8ccb4d779edffd92600d5317b
|
|
| BLAKE2b-256 |
5bc3c76d4e0ad091994775d3a8be5f62be82e45e1876e4d9700a77c114684dd9
|
File details
Details for the file cua_agent-0.4.32-py3-none-any.whl.
File metadata
- Download URL: cua_agent-0.4.32-py3-none-any.whl
- Upload date:
- Size: 143.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b08e1de0f8b0232f0700395ad0b8c59767f8dd3de7171caf5ddacd4ad2c1682
|
|
| MD5 |
4fdbb5348d17f5ef28fd0377ca785d97
|
|
| BLAKE2b-256 |
92e03a702e66a47745a6467bac543465d581b7b0d9b1a50ed5f122994836a0f0
|