SuperAPI AI 工具集

desktopctl

DesktopCtl 是一款面向 AI 智能体的本地开源计算机操作工具,支持 macOS(仅 Apple Silicon)。它让任何桌面 AI 智能体通过屏幕、鼠标和键盘观察并控制电脑,无需视觉能力的模型也可使用。工具完全本地运行,截图不会上传云端。其核心由两部分组成:负责感知、状态、执行与验证的守护进程 DesktopCtl.app(desktopctld),以及通过本地 IPC 提供操作与查询的无状态命令行工具 desktopctl。它具备 GPU 加速的文字识别与计算机视觉、选择器优先(--text、--token)配合坐标回退的自动化方式、显式等待与动作后验证、以及面向智能体集成的稳定 JSON 契约。当前版本处于活跃开发阶段,仅支持 macOS,安装需授予辅助功能与屏幕录制权限。

访问官网

工具介绍

DesktopCtl 是一个面向 AI 智能体的开源「计算机使用」工具,采用本地优先的运行时架构,不依赖云端。它的定位是让 AI 智能体能够观察并控制用户的电脑,操作方式覆盖屏幕、鼠标和键盘。

主要能力方面,DesktopCtl 允许用户自带任意 AI 模型,即使模型不具备视觉能力也可以工作。它提供 GPU 加速的文字识别和计算机视觉管线,支持以选择器优先的自动化方式(通过 --text、--token 参数)进行元素定位,并在必要时回退到坐标方式。工具内置面向智能体的显式等待机制和动作后验证,并对外提供稳定的 JSON 契约,便于智能体集成。此外,它还支持通过 macOS 辅助功能(Accessibility)枚举和调用原生菜单。

使用方式上,DesktopCtl 分为两个二进制组件:DesktopCtl.app(desktopctld)是守护进程,负责感知、状态、执行和验证;desktopctl 是无状态命令行界面,通过本地 IPC 执行动作和查询。安装方面,需使用 Rust 工具链和 just 命令运行器,并为 DesktopCtl.app 授予辅助功能和屏幕录制权限。当前仅支持 Apple Silicon 的 macOS。安装程序会把 CLI 放在 ~/.local/bin/desktopctl,把应用放在 ~/Applications/DesktopCtl.app,且不会修改 shell 启动文件,如有需要用户需自行将 ~/.local/bin 加入 PATH。发布版本带有本地 ad-hoc 签名,但未经 Developer ID 签名或公证;安装程序仅移除已安装的 DesktopCtl 应用和 CLI 的 com.apple.quarantine 属性,不改变全局 Gatekeeper 或其他系统安全设置。

文件系统布局采用 Linux 风格的统一应用目录,路径优先级为 DESKTOPCTL_HOME、XDG_DATA_HOME/desktopctl,最后是 $HOME/.local/share/desktopctl。配置存放在 config.toml,持久运行时元数据在 state/,启动器会话在 workspaces/,日志和 journal 输出在 logs/,可丢弃的截图/OCR/调试输出在 cache/,Unix 运行时套接字保留在私有临时运行时目录。首次启动时会安全地从旧版配置位置迁移有效的 JSON 配置和启动器会话,不覆盖已有目标、不动冲突的旧来源,迁移错误会报告但不会删除旧文件。

演示上,可以列出原生菜单,然后通过返回的 #menu_* ID 调起某一项;菜单列表默认省略 Apple/系统菜单、分隔符和长列表溢出内容,可用 --system 包含 Apple 菜单,用 --all 显示全部项。

适用场景为 AI 智能体在本地 macOS 环境中执行 GUI 自动化任务,例如观察屏幕、识别文字、按文本或令牌定位控件、执行点击/输入/等待流程并验证结果。

限制方面:目前仅支持 macOS,且仅限 Apple Silicon;处于活跃开发阶段;应用未经过 Developer ID 签名或公证;文档中未提供具体收费标准、价格信息,暂未提供。未来计划包括增加 doctor、更丰富的窗口/应用内省和 --explain 失败输出命令、改进本地计算机视觉和语义 UI 令牌化,以及多平台支持。