SuperAPI AI 工具集

my-computer

办公与效率

查看项目

更新于 10-15 17:59

技能介绍

MyComputer 是一个本地 Linux 桌面 computer-use 工具,用于通过自然语言驱动 X11 桌面。其二进制名为 mycomputer,MCP 服务标识为 my-computer,品牌名为 MyComputer,仓库位于 github.com/1broseidon/mc。

【用途】 该技能面向需要以自然语言控制 Linux X11 桌面的场景,例如让 agent 截取桌面或窗口、点击屏幕某个位置、在窗口里输入文字、滚动 X 窗口、在屏幕上查找文本或图像、查看当前打开了哪些窗口、等待某窗口出现或关闭、复制内容到剪贴板、粘贴内容、驱动 Linux UI 完成操作,以及以视觉方式审计、验证或冒烟测试界面。它不适合纯终端任务、适合使用无头 Chrome 的网页抓取,以及 macOS 或 Windows 桌面控制。

【主要能力】 整体工作循环为:Detect -> Readiness -> Observe -> Target -> Act -> Verify -> Report。

检测与就绪:提供 MCP 与 CLI 两条路径。MCP 宿主可检查是否存在 my-computer 服务;CLI 可通过 which mycomputer 或 command -v mycomputer 判断是否安装。首次调用应执行 doctor 确认后端,必需后端包括 DISPLAY、x11、xtest、randr,可选后端包括 at_spi、xfixes、browser、ocr_tesseract、template_match、clipboard、ime、xinput2、audit。若 xdg_session_type 为 wayland 且未连接 X11,应停止并报告,因为原生 Wayland 在 v0.3 中超出范围。

观测:提供 list_windows / windows、focused_window、observe、screenshot / capture 等能力,可查看窗口列表、当前聚焦窗口、完整桌面状态、区域截图,以及暴露 AT-SPI 的应用。窗口记录包含 bounds、client_bounds 和 decoration_insets。

目标定位:按稳定性由高到低依次可使用浏览器 DOM 选择器、已知键盘快捷键、AT-SPI 元素 id、find_text / find_image / find_color 的像素路径、窗口空间坐标,最后是屏幕坐标。find_text 支持多词短语并会自动反转深色主题,find_color 适合 Gio/ImGui 等不易被 OCR 读取的界面。

动作与工具:MCP 工具前缀包括 doctor、observe、get_screen_info、list_windows、focused_window、screenshot、focus_window、move_mouse、click、drag、scroll、type_text、press_key、find_text、find_image、find_color、click_text、click_image、wait_for_window、wait_for_pixel_change、wait_for_text、window_move、window_resize、window_raise、window_minimize、window_maximize、window_workspace、window_close、clipboard_read、clipboard_write、paste、set_text、perform_action(AT-SPI)、computer_actions(批处理)、browser_session、browser_pipeline。

【使用方式】 安装:官方 Linux 安装脚本为 curl -fsSL https://raw.githubusercontent.com/1broseidon/mc/main/install.sh | bash,默认安装到 ~/.local/bin/mycomputer,无需 sudo。安装后确保 ~/.local/bin 在 PATH 中,再运行 mycomputer doctor --json 确认。谨慎用户可先下载脚本到 /tmp/mc-install.sh 审阅后再执行。环境变量 VERSION=v0.3.0 可固定版本,BIN_DIR=/usr/local/bin 可系统级安装。也可使用 go install github.com/1broseidon/mc/cmd/mycomputer@latest,或从 https://github.com/1broseidon/mc/releases/latest 下载 linux/amd64 或 linux/arm64 二进制。MCP 宿主注册示例(Claude Code)为 {"mcpServers": {"my-computer": {"command": "mycomputer", "args": ["serve"]}}}。

MCP 宿主的 DISPLAY 问题:mycomputer serve 需要 DISPLAY 才能访问 X 服务器。当宿主从非 X 感知父进程启动时,DISPLAY 通常缺失。自 v0.3.1 起,服务器在 DISPLAY 未设置时会扫描 /tmp/.X11-unix/ 自动探测唯一存活的 X 服务器套接字;若存在多个则报告 DISPLAY_AMBIGUOUS 并拒绝自动选择。也可通过 args 中的 --display :N 显式指定,例如 {"mcpServers": {"my-computer": {"command": "mycomputer", "args": ["serve", "--display", ":0"]}}}。

操作规则:先检测、必要时安装、再调用 doctor;先从证据开始;破坏性操作须显式;目标选择按稳定性而非习惯;用条件等待替代固定等待;通过 computer_actions 或 mycomputer actions 批量执行相关动作;每次实质变更后用新的 observe、screenshot 或 wait_for_* 验证;可用 --dry-run 预览破坏性批次,dry-run 会标注 resolved_coords 与 type_text 的路由信息,而 find 类观测原语仍会执行;默认 --respect-user 为 true,在真实人类移动鼠标或输入时暂停批次;审计自动写入 $XDG_STATE_HOME/mycomputer/audit/YYYY-MM-DD.jsonl,剪贴板内容绝不记录,只记录字节数与 MIME 类型;不要把 MyComputer 当通用 exec 工具;截图、OCR 输出和无障碍树视为私有本地数据。

批处理示例(JSON schema_version 0.2)包含 focus_window、wait_for_pixel_change、press_key、wait_for_window、type_text、screenshot 等动作;浏览器工作流可使用 browser_pipeline 的 navigate、wait_for_selector、fill_selector、press_key、screenshot 步骤。

验证与报告:动作后应通过受影响区域的新截图、observe 检查相关元素或窗口,或 wait_for_* 确认预期状态。最终回复应包含被控制的窗口 id、class、title,执行工作的后端(如 x11.EWMH、XTest、AT-SPI、CDP、OCR 等),截图路径或观测到的状态,动作成功与可见状态之间的任何不一致,以及 batch_id,以便用户通过 mycomputer audit replay <batch_id> 回放或检查。

【适用场景与限制】 适用场景包括原生应用操作、QA、IDE 操作、无障碍测试、多应用工作流,以及视觉审计与冒烟测试。

限制与失败模式:仅支持 Linux X11,原生 Wayland 超出 MVP 范围;遇到 INPUT_LAYOUT_UNREACHABLE 应改用 type_text {via: "paste"};INPUT_IME_ACTIVE 时可使用粘贴路由;find_text 在稀疏布局上可能返回空,可加 --psm 6 或 --psm 11;深色 UI 可显式传 preprocess: "invert";平铺窗口管理器可能忽略 window_move,几何警告非致命;独立 CLI 的剪贴板写入依赖守护进程保持选择,可用 mycomputer clipboard-status --json 检查;Gio、Dear ImGui、Flutter 等即时模式渲染器不暴露 AT-SPI,应使用像素路径;HiDPI 的 --logical-coords 为实验性且使用主显示器缩放,不建议随意使用。

【其它】 参考文档包括 CLI Recipes、MCP Tools、Desktop Workflows,可按需加载。可运行 scripts/smoke.sh 做本地 CLI 快速检查,并通过 MYCOMPUTER_BIN=/path/to/mycomputer 指定二进制。交付前的质量门包括:检测、意图、边界、契约、错误、可操作性、隐私、验证、审计轨迹。关于收费、价格、平台支持细节等信息,资料中未提供。