3分钟解放双手:macOS命令行自动化工具cliclick实战指南
你是否曾在重复性的鼠标点击和键盘操作中浪费大量时间?是否希望将繁琐的GUI操作转化为可复用的脚本?cliclick作为一款轻量级的macOS命令行工具,正是为解决这些问题而生。它通过模拟用户的鼠标和键盘输入,让原本需要手动完成的操作实现自动化执行,显著提升工作效率。
环境准备:3种安装方式快速部署
当你需要在多台Mac设备上部署自动化环境,或在无网络环境下使用cliclick时,了解不同的安装方法能帮你灵活应对各种场景。以下是经过验证的三种安装途径,可根据你的技术背景和使用需求选择:
选择1:Homebrew一键安装
适合熟悉包管理的用户,通过macOS最流行的包管理器Homebrew安装,自动处理依赖关系:
brew install cliclick
选择2:源码编译部署
适合开发人员或需要自定义编译选项的场景,从源码构建可确保使用最新特性:
git clone https://gitcode.com/gh_mirrors/cl/cliclick
cd cliclick
make
选择3:MacPorts安装
适合已使用MacPorts管理软件的用户,保持系统包管理一致性:
sudo port install cliclick
系统授权:安装完成后,需在"系统偏好设置→安全性与隐私→辅助功能"中,授予终端应用控制权限,这是cliclick能模拟用户输入的必要条件。
基础操作:5分钟掌握核心命令
想象你需要每天重复打开特定应用、点击固定位置的按钮,这些机械操作正是cliclick的用武之地。掌握以下基础命令,即可构建简单的自动化流程:
鼠标控制基础
鼠标操作是GUI自动化的核心,cliclick提供直观的坐标定位方式:
# 移动鼠标到屏幕(100,200)像素位置
cliclick m:100,200
# 在当前位置执行左键点击
cliclick c:.
坐标系统以屏幕左上角为原点(0,0),X轴向右递增,Y轴向下递增。使用"."代表当前鼠标位置,适合相对操作。
键盘输入控制
从简单按键到复杂组合键,cliclick能模拟各种键盘操作:
# 输入文本内容
cliclick t:"Hello cliclick"
# 模拟Command+A全选操作
cliclick kd:cmd kp:a ku:cmd
其中kd表示按键按下,ku表示按键释放,kp表示按键按下并释放,支持的按键名称可通过cliclick -l查看完整列表。
场景组合:构建实用自动化脚本
当你需要完成一系列连贯操作时,将基础命令组合成脚本能实现更强大的自动化能力。以下场景展示了cliclick在实际工作中的应用方式:
自动化表单填写
对于需要定期填写的固定格式表单,cliclick可以精准定位输入框并自动填写内容:
#!/bin/bash
# 打开表单页面后执行此脚本
cliclick m:500,300 c:. # 点击姓名输入框
cliclick t:"John Doe" # 输入姓名
cliclick m:500,350 c:. # 点击邮箱输入框
cliclick t:"john@example.com" # 输入邮箱
cliclick m:500,450 c:. # 点击提交按钮
应用启动与配置
通过脚本实现应用的自动启动和初始配置,减少人工操作步骤:
#!/bin/bash
# 启动终端并执行命令
cliclick m:10,900 c:. # 点击Dock上的终端图标
cliclick w:1000 # 等待终端启动
cliclick t:"cd ~/projects\n" # 切换工作目录
cliclick t:"code .\n" # 启动VS Code
高级技巧:提升自动化脚本质量
随着自动化需求的复杂化,掌握进阶技巧能让你的脚本更健壮、更灵活,适应不同场景的变化:
相对坐标与动态操作
使用相对坐标使脚本不受屏幕分辨率影响,增强脚本的可移植性:
# 基于当前位置的相对移动
cliclick m:100,100 # 移动到起始点
cliclick m:+50,+0 # 向右移动50像素
cliclick m:+0,+30 # 向下移动30像素
命令文件与批量执行
对于包含数十个步骤的复杂操作,将命令写入文件执行更便于维护:
# 创建命令文件 commands.txt
m:200,200
c:200,200
w:500
m:400,300
c:400,300
# 执行命令文件
cliclick -f commands.txt
常见问题诊断:解决实战中的痛点
即使最完善的脚本也可能遇到执行问题,以下是使用cliclick时常见问题的诊断方法和解决方案:
操作执行无响应
可能原因:未授予辅助功能权限
解决步骤:
- 打开"系统偏好设置→安全性与隐私→隐私→辅助功能"
- 确保终端应用已勾选
- 如已勾选,尝试取消后重新勾选并重启终端
坐标定位不准确
可能原因:屏幕分辨率变化或多显示器设置
解决方法:使用cliclick p命令获取当前鼠标位置,重新校准坐标值
按键模拟失效
可能原因:按键名称错误或系统快捷键冲突
验证方法:执行cliclick -l查看支持的按键名称列表,确保使用正确的按键标识符
适用人群与工具边界
cliclick并非万能解决方案,了解其最适合的使用场景和能力边界,能帮助你做出正确的技术选择:
最适合的用户群体
- 开发者:自动化测试流程、UI交互验证
- 内容创作者:重复性编辑操作、批量处理工作流
- 系统管理员:服务器维护、远程操作自动化
- 日常用户:简化重复性办公操作、游戏辅助操作
能力边界说明
| 支持的操作 | 不支持的操作 |
|---|---|
| 鼠标移动与点击 | 直接操作应用内部数据 |
| 键盘输入与组合键 | 修改系统底层设置 |
| 屏幕颜色获取 | 图像识别与内容分析 |
| 基本等待延迟 | 复杂条件判断逻辑 |
当你的需求超出上述范围时,建议结合AppleScript或Python等工具,构建更强大的自动化解决方案。
通过cliclick,原本需要手动完成的重复操作被转化为可编辑、可复用的脚本,不仅节省时间,更减少了人为操作错误。无论是简单的点击操作还是复杂的工作流,cliclick都能成为你提升效率的得力助手。现在就开始尝试,将你的第一个手动操作流程转化为自动化脚本吧!
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0195
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0124
MiMo-V2.5-Pro-FP4-DFlashMiMo-V2.5-Pro-FP4-DFlash 是驱动 MiMo-V2.5-Pro-UltraSpeed 的底层模型: FP4 量化骨干网络:对 MoE 专家采用 MXFP4 量化,同时保持模型其他部分的更高精度,在几乎无损质量的前提下,显著减小模型体积并降低内存带宽压力。 BF16 DFlash 草稿生成器:用于块扩散推测解码,每次前向传播可生成一整个块的 tokens,并让骨干网络一步完成验证。 两者协同作用,既降低了每参数的位宽,又减少了骨干网络前向传播的次数,而这两者正是万亿参数模型解码过程中的两大主要成本来源。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
AstrBot✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨ 平台支持 QQ、QQ频道、Telegram、微信、企微、飞书 | OpenAI、DeepSeek、Gemini、硅基流动、月之暗面、Ollama、OneAPI、Dify 等。附带 WebUI。Python05
handy-ollama动手学Ollama,CPU玩转大模型部署,在线阅读地址:https://datawhalechina.github.io/handy-ollama/Jupyter Notebook07