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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cua_agent-0.4.32.tar.gz
(112.5 kB
view details)
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
cua_agent-0.4.32-py3-none-any.whl
(143.2 kB
view details)
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
|