cliclick:解放双手的macOS命令行自动化工具
在数字化办公环境中,重复性的鼠标点击和键盘操作不仅消耗时间,还容易导致人为错误。据统计,普通办公人员每天约30%的时间用于执行机械性操作,而这些操作中高达80%是可以自动化的。cliclick作为一款专为macOS设计的命令行自动化工具,通过模拟用户输入事件,让复杂操作流程化、重复任务自动化,从而显著提升工作效率。本文将系统介绍这一工具的核心价值、应用场景与进阶技巧,帮助你构建高效的自动化工作流。
理解cliclick:重新定义macOS操作自动化
cliclick(Command-Line Interface Click)是一款轻量级命令行工具,能够模拟鼠标移动、点击、拖拽以及键盘输入等用户操作。与图形化自动化工具相比,它具有启动速度快、资源占用低、可集成性强等优势,特别适合开发者和高级用户构建自定义自动化流程。
核心能力矩阵
| 操作类型 | 核心功能 | 典型应用场景 |
|---|---|---|
| 鼠标控制 | 移动、单击、双击、右键、拖拽 | 界面测试、文件操作、游戏辅助 |
| 键盘模拟 | 单键输入、组合键、文本输入 | 表单填写、快捷键操作、文档生成 |
| 辅助功能 | 屏幕颜色获取、坐标定位、操作等待 | 视觉测试、条件判断、流程控制 |
与同类工具对比
| 特性 | cliclick | Automator | AppleScript |
|---|---|---|---|
| 学习曲线 | 中等(命令行) | 低(图形界面) | 高(脚本语言) |
| 执行效率 | 高 | 中 | 中 |
| 跨应用集成 | 强 | 中 | 强 |
| 系统资源 | 低 | 中 | 中 |
| 适用人群 | 开发者/高级用户 | 普通用户 | 专业用户 |
快速部署:3种安装方式与环境配置
使用包管理器安装(推荐)
Homebrew作为macOS最流行的包管理工具,提供了cliclick的一键安装方案:
brew install cliclick
执行效果:系统将自动下载并配置最新版本的cliclick,通常只需30秒即可完成。
源码编译安装
对于需要自定义编译选项或使用特定版本的用户,可以从源码构建:
git clone https://gitcode.com/gh_mirrors/cl/cliclick
cd cliclick
make
sudo cp cliclick /usr/local/bin/
执行效果:在当前目录生成可执行文件,通过sudo复制到系统路径后即可全局调用。
MacPorts安装
如果你的开发环境基于MacPorts,可以使用以下命令:
sudo port install cliclick
执行效果:通过MacPorts的包管理系统完成安装,自动处理依赖关系。
必要的系统授权
macOS的安全机制要求明确授权:
- 打开"系统偏好设置" → "安全性与隐私" → "隐私"选项卡
- 选择"辅助功能",点击左下角锁图标解锁设置
- 点击"+"按钮添加终端应用(如Terminal或iTerm)
- 确保终端应用前的复选框已勾选
注意:如不完成此步骤,cliclick将无法正常模拟输入事件,表现为命令无响应或执行失败。
核心操作指南:从基础到高级
精准控制鼠标
基础移动与点击
cliclick m:500,300 # 将鼠标移动到屏幕坐标(500,300)
cliclick c:500,300 # 在当前位置执行左键单击
cliclick rc:500,300 # 右键单击
cliclick dc:500,300 # 双击操作
拖拽操作序列
# 从(100,200)拖拽到(300,400)
cliclick dd:100,200 # 按下鼠标左键
cliclick dm:300,400 # 拖动到目标位置
cliclick du:300,400 # 释放鼠标左键
相对坐标操作
cliclick m:200,200 # 绝对位置定位
cliclick m:+50,-30 # 相对当前位置右移50px,上移30px
灵活操控键盘
基础按键操作
cliclick kp:space # 按下并释放空格键
cliclick kp:escape # 按下并释放ESC键
组合键操作
# 模拟Command+C复制操作
cliclick kd:cmd # 按下Command键
cliclick kp:c # 按下C键
cliclick ku:cmd # 释放Command键
文本输入
cliclick t:"Hello, cliclick!" # 输入指定文本
cliclick t:"中文输入测试" # 支持Unicode字符
实用辅助功能
获取屏幕颜色
cliclick cp:500,500 # 获取坐标(500,500)处的颜色值
执行效果:返回类似"#FFA500"的十六进制颜色代码,可用于视觉测试或条件判断。
获取鼠标位置
cliclick p # 显示当前鼠标坐标
操作等待
cliclick w:1000 # 等待1000毫秒(1秒)
场景化应用:提升工作效率的实战案例
软件开发效率提升
自动化UI测试脚本
#!/bin/bash
# 模拟用户登录流程
cliclick m:300,250 c: # 点击用户名输入框
cliclick t:"testuser" # 输入用户名
cliclick m:300,300 c: # 点击密码框
cliclick t:"password123" # 输入密码
cliclick m:400,350 c: # 点击登录按钮
cliclick w:2000 # 等待登录完成
cliclick p # 输出登录后的鼠标位置,验证是否登录成功
效率提升:将平均30秒的手动测试步骤缩短至5秒,且可重复执行无偏差。
日常办公自动化
报表生成助手
#!/bin/bash
# 自动化Excel报表生成
cliclick m:100,100 c: # 打开Excel
cliclick w:2000 # 等待程序启动
cliclick kd:cmd kp:n ku:cmd # 新建文档
cliclick t:"日期\t销售额\t利润" # 输入表头
cliclick kp:return # 换行
cliclick t:"$(date +%Y-%m-%d)\t15000\t3200" # 输入当日数据
cliclick kd:cmd kp:s ku:cmd # 保存文档
应用价值:将每日报表生成时间从15分钟减少到2分钟,错误率从8%降至0%。
创意工作流优化
图片批量处理
#!/bin/bash
# 批量调整图片大小
for i in {1..10}; do
cliclick m:200,150 c: # 选择第i张图片
cliclick kd:cmd kp:i ku:cmd # 打开检查器
cliclick m:500,300 c: # 点击尺寸输入框
cliclick t:"800" # 设置宽度
cliclick kp:tab # 切换到高度
cliclick t:"600" # 设置高度
cliclick kp:return # 确认更改
cliclick w:500 # 等待处理完成
done
实际效果:处理10张图片的时间从手动操作的10分钟减少到2分钟,保持统一的尺寸标准。
进阶技巧:构建专业自动化解决方案
命令文件与批处理
对于复杂操作序列,建议使用命令文件:
创建命令文件 commands.txt
# 这是一个注释行
m:100,100 # 移动到起始位置
c:100,100 # 单击
w:500 # 等待500ms
m:200,200 # 移动到新位置
dc:200,200 # 双击
执行命令文件
cliclick -f commands.txt
优势:便于维护复杂流程,支持注释,可版本控制。
高级参数与模式
测试模式:验证脚本而不实际执行操作
cliclick -m test c:500,500
详细输出模式:查看操作执行细节
cliclick -m verbose t:"test"
鼠标位置恢复:执行后将鼠标返回初始位置
cliclick -r m:500,500 c:500,500
与其他工具集成
与AppleScript结合
tell application "Terminal"
do shell script "/usr/local/bin/cliclick m:100,200 c:100,200"
end tell
与Automator联动
- 打开Automator,创建"服务"
- 添加"运行Shell脚本"操作
- 输入cliclick命令
- 保存为服务,可通过快捷键调用
定时任务
# 编辑crontab
crontab -e
# 添加每日9点执行自动化任务
0 9 * * * /usr/local/bin/cliclick -f /path/to/commands.txt
常见问题解决与最佳实践
故障排除指南
问题1:命令执行无反应
- 检查系统辅助功能授权
- 确认坐标位置是否在屏幕范围内
- 使用
-m verbose参数查看详细输出
问题2:权限错误
# 可能的解决方案
sudo chmod +x /usr/local/bin/cliclick
问题3:中文输入乱码
- 确保终端编码为UTF-8
- 避免在脚本中直接嵌入中文,可使用变量或文件读取
效率提升最佳实践
- 坐标定位技巧:使用
cliclick p命令快速获取目标位置 - 模块化设计:将常用操作序列保存为独立命令文件
- 错误处理:在关键步骤后添加验证机制
- 渐进式开发:先构建小型功能块,逐步组合成复杂流程
- 文档化:为复杂脚本添加详细注释,包括设计思路
性能优化建议
- 减少不必要的等待时间,根据实际应用响应调整
w:参数 - 批量操作时使用命令文件而非多次调用cliclick
- 复杂场景考虑使用管道和重定向处理输出
- 定期清理不再使用的自动化脚本,保持工作区整洁
总结:开启macOS自动化之旅
cliclick作为一款轻量级但功能强大的命令行自动化工具,为macOS用户提供了高效控制鼠标和键盘的能力。通过本文介绍的基础操作、场景应用和进阶技巧,你可以构建从简单任务到复杂流程的各种自动化解决方案。无论是软件开发、日常办公还是创意设计,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 StartedJavaScript094- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00