跳到正文
cccskills
免费在 GitHub 公开

bdb-computer-use-mcp

Utilizes native Rust/Node and Python-based computer-use-mcp servers to control macOS, Windows, and Linux desktops.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md5.6 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Computer Use & OS Control MCP — Integration and AI Agent Guide

This skill file instructs AI agents on how to control macOS, Windows, or Linux desktop environments using the dual-platform computer-use-mcp servers. It details tool hierarchy, accessibility automation, scripting, window focus strategies, and troubleshooting steps.

1. Overview and Pipeline Value

The OS Control MCP Servers act as the ultimate fallback when structured application APIs do not exist. Agents use them to configure system settings, install dependencies, bypass modal dialogs, crop regions, perform OCR, and automate graphical interfaces.

Dual-Engine Architecture

  • macOS & Linux (zavora_computer_use): @zavora-ai/computer-use-mcp@7.4.0, started via npx -y (pinned, nothing bundled). A TypeScript server plus a Rust native module for OS calls; also supports Windows. Requires Node.js 20+.
  • Windows (bdb_windows_computer_use): Powered by a Python/PyWin32 automation bridge using pywinauto, pyautogui, comtypes, and local pytesseract OCR for deep Windows Desktop UI discovery.

2. System Instructions

Workflow Priorities

  1. Discovery first: Call get_tool_guide if the server offers it (macOS; unverified for 7.4.0) or query window titles/automation trees (Windows) to evaluate if target apps support scripts/PowerShell or accessibility trees.
  2. Accessibility over Coordinates: Use native Win32 Automation IDs / macOS Accessibility labels (AXButton, AXTextField, etc.) instead of mapping pixel coordinates from a screenshot. It survives window resizes, DPI changes, and layout changes.
  3. Window Focus Strategies:
    • Verify focus before writing key streams.
    • Use strict focus for keyboard inputs to force the server to verify the target window is frontmost and visible before typing, preventing key drops.
    • Use prepare_display to automatically hide background apps that might steal focus or pop up notifications during execution.

3. Available Tools and API Parameters

macOS & Linux Engine (zavora_computer_use)

Default profile exposes 70 tools (COMPUTER_USE_PROFILE=core|ax|scripting|windows-admin|full changes the set). Ask the agent to run doctor to check capabilities and discover_applications to find apps. The tool names below are from the 6.2 era; the 7.4.0 npm README does not list tool names, so they are UNVERIFIED for 7.4.0. Check the server's tools/list before relying on them. Key tools (6.2):

  • run_script(language, script): Runs AppleScript, JXA, or Shell commands.
  • get_ui_tree(target_app, target_window_id): Returns a JSON structure of active UI roles and labels.
  • click_element(role, label): Performs a semantic click on a button or menu.
  • set_value(role, label, value): Sets values in text fields directly.
  • screenshot(width, quality, target_window_id): Captures the viewport.
  • left_click(coordinate, target_app): Simulates a left-click.

Windows Automation Engine (bdb_windows_computer_use)

Exposes 22 specialized tools. Key tools include:

  • mouse_move(x, y) / left_click(): Simulates physical mouse interactions.
  • type(text, press_enter): Types strings utilizing SendInput.
  • screenshot(): Grabs active monitor outputs.
  • get_ui_tree(backend): Dumps the complete Windows UIAutomation or MSActiveAccessibility control tree.
  • ocr(region): Executes local Tesseract OCR on a screen subregion to extract text without cloud APIs.
  • find_element(criteria): Resolves a control using criteria (title, class, automation_id).

4. Code Recipes and Prompt Cookbook

Recipe 1: Retrieve and Click elements on Windows via UI Automation

Instead of coordinates, locate the Notepad "File" menu item on Windows semantically:

// Step 1: Find target window and element info
// Tool: find_element(criteria={"title": "Notepad", "control_type": "Window"})

// Step 2: Semantic click on File menu button
// Tool: click_element(role="MenuItem", label="File")

Recipe 2: Run JXA (Javascript for Automation) Script on macOS

Create a new note in Apple Notes and write text programmatically:

// Tool: run_script(language="javascript", script="...")
// Script content:
var Notes = Application("Notes");
var newNote = Notes.Note({
    body: "<h1>BDB OS Integration Checklist</h1><p>Automated desktop test complete.</p>"
});
Notes.folders.byName("Notes").notes.push(newNote);
Notes.activate();

5. Troubleshooting and Connection Details

Configuration and Setup

  • Windows Pre-requisites:
    • Python >=3.12 is required. The installer auto-compiles dependencies with uv.
    • For full OCR support, ensure Tesseract OCR is installed on Windows (winget install UB-Mannheim.TesseractOCR).
  • macOS Permissions Required: You must grant Accessibility and Screen Recording access to your editor (e.g. Cursor, Claude Desktop, or Terminal) in System Settings -> Privacy & Security.

Common Errors and Fixes

  1. FocusFailure: Target window is not frontmost
    • Cause: The strict focus strategy detected another application stole active focus.
    • Fix: Switch your focus_strategy to prepare_display to auto-hide background applications, or call activate_window first.
  2. pywinauto.findwindows.ElementNotFoundError
    • Cause: The Win32 backend failed to resolve the title or control.
    • Fix: Switch backends (e.g., from win32 to uia) or verify if the app requires Admin escalation.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Use when manage multiple local CLI agents via tmux sessions (start/stop/monitor/assign) with cron-friendly scheduling.

中文简介正在准备中。当前显示原文说明。

hybridlabor-api/aos62026年10月16日 更新

Use when a hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).

中文简介正在准备中。当前显示原文说明。

hybridlabor-api/aos62026年10月16日 更新

Reference for how BDB structures autonomous software engineering work — the seven-node dispatcher graph (Architect, TechLead, UI/UX, Engineering, Media/EventTech, Reviewer, Shipping) that /startcycle-graph actually runs. Use when you need the high-level lifecycle framing without inventing your own process.

中文简介正在准备中。当前显示原文说明。

hybridlabor-api/aos62026年10月16日 更新

Tools are how AI agents interact with the world. A well-designed tool is the difference between an agent that works and one that hallucinates, fails silently, or costs 10x more tokens than necessary. This skill covers tool design from schema to error handling.

中文简介正在准备中。当前显示原文说明。

hybridlabor-api/aos62026年10月16日 更新

Harness patterns for coding agents — memory, permissions, context engineering, delegation, skills, hooks, bootstrap.

中文简介正在准备中。当前显示原文说明。

hybridlabor-api/aos62026年10月16日 更新

agenttrail: live map of a multi-agent build in the browser: which plan component is being worked on, by which agent or harness, what is done and what is stuck. Use when a multi-agent pipeline starts (/startcycle, /startcycle-graph, /teamwork-preview) or after a plan-canvas approve, when the user asks to see what the agents are doing ("live map", "build board", "who is running now"), or by yourself whenever a multi-agent run is under way — no user prompt needed.

中文简介正在准备中。当前显示原文说明。

hybridlabor-api/aos62026年10月16日 更新

查看 hybridlabor-api 的全部技能

报告此技能的问题