Loading...
Loading...
TuriX Computer Use Agent for macOS desktop automation. Use when you need to perform visual UI tasks that lack CLI or API access, such as opening apps, clicking buttons, navigating GUIs, or multi-step visual workflows.
npx skill4agent add shiehxj/turix-cua-skill turix-cuaexecweb_fetchbrowsergit clone https://github.com/TurixAI/TuriX-CUA.git
cd TuriX-CUA
conda create -n turix_env python=3.12
conda activate turix_env
pip install -r requirements.txtexamples/config.json{
"brain_llm": {
"provider": "turix",
"model_name": "turix-brain-model",
"api_key": "YOUR_API_KEY",
"base_url": "https://llm.turixapi.io/v1"
},
"actor_llm": {
"provider": "turix",
"model_name": "turix-actor-model",
"api_key": "YOUR_API_KEY",
"base_url": "https://llm.turixapi.io/v1"
},
"memory_llm": {
"provider": "turix",
"model_name": "turix-memory-model",
"api_key": "YOUR_API_KEY",
"base_url": "https://llm.turixapi.io/v1"
},
"planner_llm": {
"provider": "turix",
"model_name": "turix-planner-model",
"api_key": "YOUR_API_KEY",
"base_url": "https://llm.turixapi.io/v1"
}
}{
"brain_llm": {
"provider": "ollama",
"model_name": "llama3.2-vision",
"base_url": "http://localhost:11434"
}
// ... same for actor, memory, planner
}# Run a simple task
skills/turix-cua/scripts/run_turix.sh "Open Chrome and go to github.com"
# Run with planning enabled (for complex tasks)
skills/turix-cua/scripts/run_turix.sh "Search AI news and create summary" --use-plan
# Resume an interrupted task
skills/turix-cua/scripts/run_turix.sh --resume my-task-001skills/turix-cua/
├── SKILL.md # This file
├── README.md # Detailed documentation
├── scripts/
│ └── run_turix.sh # Main execution script
└── examples/
└── config.json # TuriX configuration (managed by script)| Option | Description | Default |
|---|---|---|
| Enable planning for complex tasks | |
| Enable skill selection | |
| Resume from previous interruption | |
| Stable ID for task resumption | auto-generated |
| Limit total steps | |
| Actions per step | |
--use-plan# Basic usage
./run_turix.sh "Your task description"
# With options
./run_turix.sh "Task" --use-plan --use-skills --background
# Resume task
./run_turix.sh --resume my-task-001
# Set custom agent ID
./run_turix.sh "Task" --agent-id custom-id-123--use-plan--use-skills--background--agent-id <id>--resumeexamples/config.json/usr/sbinscreencapture# Check if TuriX is running
ps aux | grep "python.*main.py" | grep -v grep
# View logs
tail -f TuriX-CUA/.turix_tmp/logging.log
# List step files
ls -lt TuriX-CUA/examples/.turix_tmp/brain_llm_interactions.log_brain_*.txt| File | Description |
|---|---|
| Main execution log |
| Brain reasoning for step N |
| Actor actions for step N |
📍 Step N✅ Eval: Success/Failed🎯 Goal to achieve this step🛠️ Action✅ Task completed successfullyCmd+Shift+2pkill -f "python examples/main.py"github-web-actionsbrowser-tasks.mdTuriX-CUA/skills/---
name: my-skill-name
description: When to use this skill (Planner matches on this)
---
# Skill Instructions
## Guidelines
- Step 1: Do this first
- Step 2: Then do that
- Step 3: Verify result
## Safety
- Confirm before important actionsexamples/config.json{
"agent": {
"use_plan": true,
"use_skills": true,
"skills_dir": "skills",
"skills_max_chars": 4000
}
}web_fetch# 1. Fetch news (OpenClaw)
news = web_fetch("https://36kr.com")
# 2. Create Word doc (OpenClaw)
doc = Document()
doc.add_heading('AI News')
doc.save('news.docx')
# 3. Send via Messages (TuriX)
run_turix.sh "Open Messages, send news.docx to contact John"--use-plan--backgroundencoding='utf-8'ensure_ascii=False| Error | Solution |
|---|---|
| Grant Screen Recording permission |
| Run Safari trigger command, click Allow |
| |
| Module import errors | |
| Keyboard listener errors | Add Terminal to Accessibility permissions |
| Task stuck on step 1 | Check |
| No log output | Check |
--background# In OpenClaw skill or workflow:
# 1. Simple task
exec('skills/turix-cua/scripts/run_turix.sh "Open Safari"')
# 2. Complex task with planning
exec('skills/turix-cua/scripts/run_turix.sh "Search AI news and summarize" --use-plan')
# 3. Monitor progress
exec('tail -f TuriX-CUA/.turix_tmp/logging.log')
# 4. Check completion
exec('ps aux | grep "python.*main.py" | grep -v grep')