{
  "schemaVersion": "1.0",
  "item": {
    "slug": "turix-cua",
    "name": "TuriX Computer Use",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Tongyu-Yan/turix-cua",
    "canonicalUrl": "https://clawhub.ai/Tongyu-Yan/turix-cua",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/turix-cua",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=turix-cua",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "scripts/run_turix.sh",
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/turix-cua"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/turix-cua",
    "agentPageUrl": "https://openagent3.xyz/skills/turix-cua/agent",
    "manifestUrl": "https://openagent3.xyz/skills/turix-cua/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/turix-cua/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "TuriX-Mac Skill",
        "body": "This skill allows Clawdbot to control the macOS desktop visually using the TuriX Computer Use Agent."
      },
      {
        "title": "When to Use",
        "body": "When asked to perform actions on the Mac desktop (e.g., \"Open Spotify and play my liked songs\").\nWhen navigating applications that lack command-line interfaces.\nFor multi-step visual workflows (e.g., \"Find the latest invoice in my email and upload it to the company portal\").\nWhen you need the agent to plan, reason, and execute complex tasks autonomously."
      },
      {
        "title": "🤖 Multi-Model Architecture",
        "body": "TuriX uses a sophisticated multi-model system:\n\nBrain: Understands the task and generates step-by-step plans\nActor: Executes precise UI actions based on visual understanding\nPlanner: Coordinates high-level task decomposition (when use_plan: true)\nMemory: Maintains context across task steps"
      },
      {
        "title": "📋 Skills System",
        "body": "Skills are markdown playbooks that guide the agent for specific domains:\n\ngithub-web-actions: GitHub navigation, repo search, starring\nbrowser-tasks: General web browser operations\nCustom skills can be added to the skills/ directory"
      },
      {
        "title": "🔄 Resume Capability",
        "body": "The agent can resume interrupted tasks by setting a stable agent_id."
      },
      {
        "title": "Basic Task",
        "body": "skills/local/turix-mac/scripts/run_turix.sh \"Open Chrome and go to github.com\""
      },
      {
        "title": "Resume Interrupted Task",
        "body": "skills/local/turix-mac/scripts/run_turix.sh --resume my-task-001\n\n✅ Note: run_turix.sh updates examples/config.json for you (task, resume, use_plan, use_skills). If you want to keep a hand-edited config, skip passing a task and edit examples/config.json directly."
      },
      {
        "title": "Tips for Effective Tasks",
        "body": "✅ Good Examples:\n\n\"Open Safari, go to google.com, search for 'TuriX AI', and click the first result\"\n\"Open System Settings, click on Dark Mode, then return to System Settings\"\n\"Open Finder, navigate to Documents, and create a new folder named 'Project X'\"\n\n❌ Avoid:\n\nVague instructions: \"Help me\" or \"Fix this\"\nImpossible actions: \"Delete all files\"\nTasks requiring system-level permissions without warning\n\n💡 Best Practices:\n\nBe specific about the target application\nBreak complex tasks into clear steps, but do not mention the precise coordinates on the screen."
      },
      {
        "title": "Hotkeys",
        "body": "Force Stop: Cmd+Shift+2 - Immediately stops the agent"
      },
      {
        "title": "Monitoring & Logs",
        "body": "Logs are saved to .turix_tmp/logging.log in the project directory. Check this for:\n\nStep-by-step execution details\nLLM interactions and reasoning\nErrors and recovery attempts"
      },
      {
        "title": "How TuriX Runs",
        "body": "TuriX can be started via clawdbot exec with pty:true mode\nThe first launch takes 2-5 minutes to load all AI models (Brain, Actor, Planner, Memory)\nBackground output is buffered - you won't see live progress until task completes or stops"
      },
      {
        "title": "Before Running",
        "body": "Always set PATH first:\n\nexport PATH=\"/usr/sbin:$PATH\"\ncd your_dir/TuriX-CUA\n/opt/anaconda3/envs/turix_env/bin/python examples/main.py\n\nWhy? The screencapture tool is located at /usr/sbin/screencapture, which is not in the default PATH."
      },
      {
        "title": "Checking if TuriX is Running",
        "body": "# Check process\nps aux | grep \"python.*main\" | grep -v grep\n\n# Should show something like:\n# user  57425  0.0  2.4 412396704 600496 s143  Ss+  5:56PM   0:04.76 /opt/anaconda3/envs/turix_env/bin/python examples/main.py\n\nNote: The .turix_tmp directory may not be created until TuriX starts executing steps."
      },
      {
        "title": "Common Issues",
        "body": "ErrorSolutionNoneType has no attribute 'save'Screen recording permission missing. Grant in System Settings and restart Terminal.Screen recording access deniedRun: osascript -e 'tell application \"Safari\" to do JavaScript \"alert(1)\"' and click AllowConda environment not foundEnsure turix_env exists: conda create -n turix_env python=3.12Module import errorsActivate environment: conda activate turix_env then pip install -r requirements.txtPermission errors for keyboard listenerAdd Terminal/IDE to Accessibility permissions"
      },
      {
        "title": "Debug Mode",
        "body": "Logs include DEBUG level by default. Check:\n\ntail -f your_dir/TuriX-CUA/.turix_tmp/logging.log"
      },
      {
        "title": "Architecture",
        "body": "User Request\n     ↓\n[Clawdbot] → [TuriX Skill] → [run_turix.sh] → [TuriX Agent]\n                                              ↓\n                    ┌─────────────────────────┼─────────────────────────┐\n                    ↓                         ↓                         ↓\n               [Planner]                 [Brain]                  [Memory]\n                    ↓                         ↓                         ↓\n                                         [Actor] ───→ [Controller] ───→ [macOS UI]"
      },
      {
        "title": "Skill System Details",
        "body": "Skills are markdown files with YAML frontmatter in the skills/ directory:\n\n---\nname: skill-name\ndescription: When to use this skill\n---\n# Skill Instructions\nHigh-level workflow like: Open Safari,then go to Google.\n\nThe Planner selects relevant skills based on name/description; the Brain uses full content for step guidance."
      },
      {
        "title": "Advanced Options",
        "body": "OptionDescriptionuse_plan: trueEnable planning for complex tasksuse_skills: trueEnable skill selectionresume: trueResume from previous interruptionmax_steps: NLimit total steps (default: 100)max_actions_per_step: NActions per step (default: 5)force_stop_hotkeyCustom hotkey to stop agent"
      },
      {
        "title": "TuriX Skills System",
        "body": "TuriX supports Skills: markdown playbooks that help the agent behave more reliably in specific domains."
      },
      {
        "title": "1. Built-in Skills",
        "body": "SkillUsegithub-web-actionsGitHub web actions (search repos, star, etc.)"
      },
      {
        "title": "2. Create a Custom Skill",
        "body": "Create a .md file in the TuriX project's skills/ directory:\n\n---\nname: my-custom-skill\ndescription: When performing X specific task\n---\n# Custom Skill\n\n## Guidelines\n- Step 1: Do this first\n- Step 2: Then do that\n- Step 3: Verify the result\n\nField definitions:\n\nname: Skill identifier (used by the Planner to select)\ndescription: When to use this skill (Planner matches on this)\nThe body below: Full execution guide (used by the Brain)"
      },
      {
        "title": "3. Enable Skills",
        "body": "In examples/config.json:\n\n{\n  \"agent\": {\n    \"use_plan\": true,\n    \"use_skills\": true,\n    \"skills_dir\": \"skills\",\n    \"skills_max_chars\": 4000\n  }\n}"
      },
      {
        "title": "4. Run a Task with Skills",
        "body": "skills/local/turix-mac/scripts/run_turix.sh \"Search for turix-cua on GitHub and star it\"\n\nThe agent will automatically:\n\nPlanner reads the skill name and description\nSelects relevant skills\nBrain uses the full skill content to guide execution"
      },
      {
        "title": "5. Chinese Text Support",
        "body": "Background:\nPassing Chinese text through shell interpolation can mangle UTF-8, and interpolating untrusted text into a heredoc is unsafe.\n\nSolution:\nThe run_turix.sh script uses Python to handle UTF-8 correctly and reads task text from environment variables:\n\nimport json\n\n# Read with UTF-8\nwith open(config_path, 'r', encoding='utf-8') as f:\n    data = json.load(f)\n\n# Write without escaping non-ASCII text\nwith open(config_path, 'w', encoding='utf-8') as f:\n    json.dump(data, f, indent=2, ensure_ascii=False)\n\nKey points:\n\nAlways use encoding='utf-8' when reading/writing files\nUse ensure_ascii=False to preserve non-ASCII text\nPass task content via environment variables or stdin, and use a single-quoted heredoc to avoid shell interpolation"
      },
      {
        "title": "6. Document Creation Best Practices",
        "body": "Challenges:\n\nAsking TuriX to collect news, then create and send a document directly\nTuriX is a GUI agent, so it can be slow and less deterministic. Prefer using TuriX only for tasks Clawdbot cannot do or where TuriX is faster.\n\nRecommended approach: create the document yourself and let TuriX only send it\n\nCreate the Word document with python-docx\nLet TuriX only send the file\n\nfrom docx import Document\ndoc = Document()\ndoc.add_heading('Title')\ndoc.save('/path/to/file.docx')\n\nSuggested workflow:\n\nUse web_fetch to gather information\nUse Python to create the Word document\nUse TuriX to send the file. Specify the file path and say to send the file, not just the file name.\nIf you really need TuriX to manually create a Word document and type in collected information, put the content in turix skills (for large amounts) or in the task name (for small amounts)."
      },
      {
        "title": "7. Example: Add a New Skill",
        "body": "Create skills/browser-tasks.md:\n\n---\nname: browser-tasks\ndescription: When performing tasks in a web browser (search, navigate, fill forms).\n---\n# Browser Tasks\n\n## Navigation\n- Use the address bar or search box to navigate\n- Open new tabs for each distinct task\n- Wait for page to fully load before proceeding\n\n## Forms\n- Click on input fields to focus\n- Type content clearly\n- Look for submit/button to complete actions\n\n## Safety\n- Confirm before submitting forms\n- Do not download files without user permission"
      },
      {
        "title": "8. Skill Development Tips",
        "body": "Be precise in the description - helps the Planner select correctly\nMake steps clear - the Brain needs explicit guidance\nInclude safety checks - confirmations for important actions\nKeep it concise - recommended under 4000 characters"
      },
      {
        "title": "1. Run a Task",
        "body": "# Run in background (recommended)\ncd your_dir/clawd/skills/local/turix-mac/scripts\n./run_turix.sh \"Your task description\" --background\n\n# Or use timeout to set a max runtime\n./run_turix.sh \"Task\" &"
      },
      {
        "title": "2. Monitor Progress",
        "body": "Method 1: Session logs\n\n# List running sessions\nclawdbot sessions_list\n\n# View history\nclawdbot sessions_history <session_key>\n\nMethod 2: TuriX logs\n\n# Tail logs in real time\ntail -f your_dir/TuriX-CUA/.turix_tmp/logging.log\n\n# Or inspect completed step files\nls -lt your_dir/TuriX-CUA/examples/.turix_tmp/brain_llm_interactions.log_brain_*.txt\n\nMethod 3: Check processes\n\nps aux | grep \"python.*main.py\" | grep -v grep\n\nMethod 4: Check generated files\n\n# List files created by the agent\nls -la your_dir/TuriX-CUA/examples/.turix_tmp/*.txt"
      },
      {
        "title": "3. Log File Reference",
        "body": "FileDescriptionlogging.logMain log filebrain_llm_interactions.log_brain_N.txtBrain model conversations (one per step)actor_llm_interactions.log_actor_N.txtActor model conversations (one per step)\n\nKey log markers:\n\n📍 Step N - New step started\n✅ Eval: Success/Failed - Current step evaluation\n🎯 Goal to achieve this step - Current goal\n🛠️  Action - Executed action\n✅ Task completed successfully - Task completed"
      },
      {
        "title": "4. Common Monitoring Issues",
        "body": "IssueCheckProcess unresponsive`ps auxStuck on step 1Check whether .turix_tmp/ was createdModel loading is slowFirst run can take 1-2 minutes to load modelsNo log outputCheck config.json logging_level"
      },
      {
        "title": "5. Force Stop",
        "body": "Hotkey: Cmd+Shift+2 - stop the agent immediately\n\nCommand:\n\npkill -f \"python examples/main.py\""
      },
      {
        "title": "6. View Results",
        "body": "After completion, the agent will:\n\nCreate interaction logs in .turix_tmp/\nCreate record files (if record_info is used)\nKeep screenshots in memory for subsequent steps\n\nExample: view a summary file\n\ncat your_dir/TuriX-CUA/examples/.turix_tmp/latest_ai_news_summary_jan2026.txt"
      },
      {
        "title": "7. Debugging Tips",
        "body": "Inspect Brain reasoning: check brain_llm_interactions.log_brain_*.txt for analysis and next_goal\nInspect Actor actions: check actor_llm_interactions.log_actor_*.txt for actions\nCheck screenshots: TuriX captures a screenshot each step (kept in memory)\nRead record files: the agent uses record_info to save key info to .txt files"
      },
      {
        "title": "8. Example Monitoring Flow",
        "body": "# 1. Run a task\n./run_turix.sh \"Search AI news and summarize\" &\n\n# 2. Wait a few seconds and check the process\nsleep 10 && ps aux | grep main.py\n\n# 3. Check if logs are being created\nls -la your_dir/TuriX-CUA/examples/.turix_tmp/\n\n# 4. Tail progress in real time\ntail -f your_dir/TuriX-CUA/.turix_tmp/logging.log\n\n# 5. Check current step count\nls your_dir/TuriX-CUA/examples/.turix_tmp/brain_llm_interactions.log_brain_*.txt | wc -l"
      }
    ],
    "body": "TuriX-Mac Skill\n\nThis skill allows Clawdbot to control the macOS desktop visually using the TuriX Computer Use Agent.\n\nWhen to Use\nWhen asked to perform actions on the Mac desktop (e.g., \"Open Spotify and play my liked songs\").\nWhen navigating applications that lack command-line interfaces.\nFor multi-step visual workflows (e.g., \"Find the latest invoice in my email and upload it to the company portal\").\nWhen you need the agent to plan, reason, and execute complex tasks autonomously.\nKey Features\n🤖 Multi-Model Architecture\n\nTuriX uses a sophisticated multi-model system:\n\nBrain: Understands the task and generates step-by-step plans\nActor: Executes precise UI actions based on visual understanding\nPlanner: Coordinates high-level task decomposition (when use_plan: true)\nMemory: Maintains context across task steps\n📋 Skills System\n\nSkills are markdown playbooks that guide the agent for specific domains:\n\ngithub-web-actions: GitHub navigation, repo search, starring\nbrowser-tasks: General web browser operations\nCustom skills can be added to the skills/ directory\n🔄 Resume Capability\n\nThe agent can resume interrupted tasks by setting a stable agent_id.\n\nRunning TuriX\nBasic Task\nskills/local/turix-mac/scripts/run_turix.sh \"Open Chrome and go to github.com\"\n\nResume Interrupted Task\nskills/local/turix-mac/scripts/run_turix.sh --resume my-task-001\n\n\n✅ Note: run_turix.sh updates examples/config.json for you (task, resume, use_plan, use_skills). If you want to keep a hand-edited config, skip passing a task and edit examples/config.json directly.\n\nTips for Effective Tasks\n\n✅ Good Examples:\n\n\"Open Safari, go to google.com, search for 'TuriX AI', and click the first result\"\n\"Open System Settings, click on Dark Mode, then return to System Settings\"\n\"Open Finder, navigate to Documents, and create a new folder named 'Project X'\"\n\n❌ Avoid:\n\nVague instructions: \"Help me\" or \"Fix this\"\nImpossible actions: \"Delete all files\"\nTasks requiring system-level permissions without warning\n\n💡 Best Practices:\n\nBe specific about the target application\nBreak complex tasks into clear steps, but do not mention the precise coordinates on the screen.\nHotkeys\nForce Stop: Cmd+Shift+2 - Immediately stops the agent\nMonitoring & Logs\n\nLogs are saved to .turix_tmp/logging.log in the project directory. Check this for:\n\nStep-by-step execution details\nLLM interactions and reasoning\nErrors and recovery attempts\nImportant Notes\nHow TuriX Runs\nTuriX can be started via clawdbot exec with pty:true mode\nThe first launch takes 2-5 minutes to load all AI models (Brain, Actor, Planner, Memory)\nBackground output is buffered - you won't see live progress until task completes or stops\nBefore Running\n\nAlways set PATH first:\n\nexport PATH=\"/usr/sbin:$PATH\"\ncd your_dir/TuriX-CUA\n/opt/anaconda3/envs/turix_env/bin/python examples/main.py\n\n\nWhy? The screencapture tool is located at /usr/sbin/screencapture, which is not in the default PATH.\n\nChecking if TuriX is Running\n# Check process\nps aux | grep \"python.*main\" | grep -v grep\n\n# Should show something like:\n# user  57425  0.0  2.4 412396704 600496 s143  Ss+  5:56PM   0:04.76 /opt/anaconda3/envs/turix_env/bin/python examples/main.py\n\n\nNote: The .turix_tmp directory may not be created until TuriX starts executing steps.\n\nTroubleshooting\nCommon Issues\nError\tSolution\nNoneType has no attribute 'save'\tScreen recording permission missing. Grant in System Settings and restart Terminal.\nScreen recording access denied\tRun: osascript -e 'tell application \"Safari\" to do JavaScript \"alert(1)\"' and click Allow\nConda environment not found\tEnsure turix_env exists: conda create -n turix_env python=3.12\nModule import errors\tActivate environment: conda activate turix_env then pip install -r requirements.txt\nPermission errors for keyboard listener\tAdd Terminal/IDE to Accessibility permissions\nDebug Mode\n\nLogs include DEBUG level by default. Check:\n\ntail -f your_dir/TuriX-CUA/.turix_tmp/logging.log\n\nArchitecture\nUser Request\n     ↓\n[Clawdbot] → [TuriX Skill] → [run_turix.sh] → [TuriX Agent]\n                                              ↓\n                    ┌─────────────────────────┼─────────────────────────┐\n                    ↓                         ↓                         ↓\n               [Planner]                 [Brain]                  [Memory]\n                    ↓                         ↓                         ↓\n                                         [Actor] ───→ [Controller] ───→ [macOS UI]\n\nSkill System Details\n\nSkills are markdown files with YAML frontmatter in the skills/ directory:\n\n---\nname: skill-name\ndescription: When to use this skill\n---\n# Skill Instructions\nHigh-level workflow like: Open Safari,then go to Google.\n\n\nThe Planner selects relevant skills based on name/description; the Brain uses full content for step guidance.\n\nAdvanced Options\nOption\tDescription\nuse_plan: true\tEnable planning for complex tasks\nuse_skills: true\tEnable skill selection\nresume: true\tResume from previous interruption\nmax_steps: N\tLimit total steps (default: 100)\nmax_actions_per_step: N\tActions per step (default: 5)\nforce_stop_hotkey\tCustom hotkey to stop agent\nTuriX Skills System\n\nTuriX supports Skills: markdown playbooks that help the agent behave more reliably in specific domains.\n\n1. Built-in Skills\nSkill\tUse\ngithub-web-actions\tGitHub web actions (search repos, star, etc.)\n2. Create a Custom Skill\n\nCreate a .md file in the TuriX project's skills/ directory:\n\n---\nname: my-custom-skill\ndescription: When performing X specific task\n---\n# Custom Skill\n\n## Guidelines\n- Step 1: Do this first\n- Step 2: Then do that\n- Step 3: Verify the result\n\n\nField definitions:\n\nname: Skill identifier (used by the Planner to select)\ndescription: When to use this skill (Planner matches on this)\nThe body below: Full execution guide (used by the Brain)\n3. Enable Skills\n\nIn examples/config.json:\n\n{\n  \"agent\": {\n    \"use_plan\": true,\n    \"use_skills\": true,\n    \"skills_dir\": \"skills\",\n    \"skills_max_chars\": 4000\n  }\n}\n\n4. Run a Task with Skills\nskills/local/turix-mac/scripts/run_turix.sh \"Search for turix-cua on GitHub and star it\"\n\n\nThe agent will automatically:\n\nPlanner reads the skill name and description\nSelects relevant skills\nBrain uses the full skill content to guide execution\n5. Chinese Text Support\n\nBackground: Passing Chinese text through shell interpolation can mangle UTF-8, and interpolating untrusted text into a heredoc is unsafe.\n\nSolution: The run_turix.sh script uses Python to handle UTF-8 correctly and reads task text from environment variables:\n\nimport json\n\n# Read with UTF-8\nwith open(config_path, 'r', encoding='utf-8') as f:\n    data = json.load(f)\n\n# Write without escaping non-ASCII text\nwith open(config_path, 'w', encoding='utf-8') as f:\n    json.dump(data, f, indent=2, ensure_ascii=False)\n\n\nKey points:\n\nAlways use encoding='utf-8' when reading/writing files\nUse ensure_ascii=False to preserve non-ASCII text\nPass task content via environment variables or stdin, and use a single-quoted heredoc to avoid shell interpolation\n6. Document Creation Best Practices\n\nChallenges:\n\nAsking TuriX to collect news, then create and send a document directly\nTuriX is a GUI agent, so it can be slow and less deterministic. Prefer using TuriX only for tasks Clawdbot cannot do or where TuriX is faster.\n\nRecommended approach: create the document yourself and let TuriX only send it\n\nCreate the Word document with python-docx\nLet TuriX only send the file\nfrom docx import Document\ndoc = Document()\ndoc.add_heading('Title')\ndoc.save('/path/to/file.docx')\n\n\nSuggested workflow:\n\nUse web_fetch to gather information\nUse Python to create the Word document\nUse TuriX to send the file. Specify the file path and say to send the file, not just the file name.\nIf you really need TuriX to manually create a Word document and type in collected information, put the content in turix skills (for large amounts) or in the task name (for small amounts).\n7. Example: Add a New Skill\n\nCreate skills/browser-tasks.md:\n\n---\nname: browser-tasks\ndescription: When performing tasks in a web browser (search, navigate, fill forms).\n---\n# Browser Tasks\n\n## Navigation\n- Use the address bar or search box to navigate\n- Open new tabs for each distinct task\n- Wait for page to fully load before proceeding\n\n## Forms\n- Click on input fields to focus\n- Type content clearly\n- Look for submit/button to complete actions\n\n## Safety\n- Confirm before submitting forms\n- Do not download files without user permission\n\n8. Skill Development Tips\nBe precise in the description - helps the Planner select correctly\nMake steps clear - the Brain needs explicit guidance\nInclude safety checks - confirmations for important actions\nKeep it concise - recommended under 4000 characters\nMonitoring and Debugging Guide\n1. Run a Task\n# Run in background (recommended)\ncd your_dir/clawd/skills/local/turix-mac/scripts\n./run_turix.sh \"Your task description\" --background\n\n# Or use timeout to set a max runtime\n./run_turix.sh \"Task\" &\n\n2. Monitor Progress\n\nMethod 1: Session logs\n\n# List running sessions\nclawdbot sessions_list\n\n# View history\nclawdbot sessions_history <session_key>\n\n\nMethod 2: TuriX logs\n\n# Tail logs in real time\ntail -f your_dir/TuriX-CUA/.turix_tmp/logging.log\n\n# Or inspect completed step files\nls -lt your_dir/TuriX-CUA/examples/.turix_tmp/brain_llm_interactions.log_brain_*.txt\n\n\nMethod 3: Check processes\n\nps aux | grep \"python.*main.py\" | grep -v grep\n\n\nMethod 4: Check generated files\n\n# List files created by the agent\nls -la your_dir/TuriX-CUA/examples/.turix_tmp/*.txt\n\n3. Log File Reference\nFile\tDescription\nlogging.log\tMain log file\nbrain_llm_interactions.log_brain_N.txt\tBrain model conversations (one per step)\nactor_llm_interactions.log_actor_N.txt\tActor model conversations (one per step)\n\nKey log markers:\n\n📍 Step N - New step started\n✅ Eval: Success/Failed - Current step evaluation\n🎯 Goal to achieve this step - Current goal\n🛠️ Action - Executed action\n✅ Task completed successfully - Task completed\n4. Common Monitoring Issues\nIssue\tCheck\nProcess unresponsive\t`ps aux\nStuck on step 1\tCheck whether .turix_tmp/ was created\nModel loading is slow\tFirst run can take 1-2 minutes to load models\nNo log output\tCheck config.json logging_level\n5. Force Stop\n\nHotkey: Cmd+Shift+2 - stop the agent immediately\n\nCommand:\n\npkill -f \"python examples/main.py\"\n\n6. View Results\n\nAfter completion, the agent will:\n\nCreate interaction logs in .turix_tmp/\nCreate record files (if record_info is used)\nKeep screenshots in memory for subsequent steps\n\nExample: view a summary file\n\ncat your_dir/TuriX-CUA/examples/.turix_tmp/latest_ai_news_summary_jan2026.txt\n\n7. Debugging Tips\nInspect Brain reasoning: check brain_llm_interactions.log_brain_*.txt for analysis and next_goal\nInspect Actor actions: check actor_llm_interactions.log_actor_*.txt for actions\nCheck screenshots: TuriX captures a screenshot each step (kept in memory)\nRead record files: the agent uses record_info to save key info to .txt files\n8. Example Monitoring Flow\n# 1. Run a task\n./run_turix.sh \"Search AI news and summarize\" &\n\n# 2. Wait a few seconds and check the process\nsleep 10 && ps aux | grep main.py\n\n# 3. Check if logs are being created\nls -la your_dir/TuriX-CUA/examples/.turix_tmp/\n\n# 4. Tail progress in real time\ntail -f your_dir/TuriX-CUA/.turix_tmp/logging.log\n\n# 5. Check current step count\nls your_dir/TuriX-CUA/examples/.turix_tmp/brain_llm_interactions.log_brain_*.txt | wc -l"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Tongyu-Yan/turix-cua",
    "publisherUrl": "https://clawhub.ai/Tongyu-Yan/turix-cua",
    "owner": "Tongyu-Yan",
    "version": "1.0.8",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/turix-cua",
    "downloadUrl": "https://openagent3.xyz/downloads/turix-cua",
    "agentUrl": "https://openagent3.xyz/skills/turix-cua/agent",
    "manifestUrl": "https://openagent3.xyz/skills/turix-cua/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/turix-cua/agent.md"
  }
}