cliclick:让macOS自动化操作效率提升10倍的命令行工具
在日常工作中,你是否经常需要重复进行鼠标点击、键盘输入等机械操作?从填写表单到软件测试,从批量处理文件到系统管理,这些重复性任务不仅耗费时间,还容易出错。cliclick作为一款专为macOS设计的命令行自动化工具,能够通过简单的指令模拟各种用户操作,将你从繁琐的重复劳动中解放出来,让工作流程变得更加高效智能。
核心价值:重新定义 macOS 操作效率
跨场景自动化能力
cliclick的核心价值在于其强大的跨场景自动化能力。无论是简单的鼠标移动,还是复杂的键盘组合操作,它都能精准模拟。与传统的手动操作相比,使用cliclick可以将重复任务的完成时间缩短80%以上,同时避免人为操作误差。
轻量级命令行解决方案
作为一款命令行工具,cliclick无需复杂的图形界面,仅通过终端即可完成所有操作配置。这种轻量级特性使其能够轻松集成到各种工作流中,无论是单独使用还是与其他工具配合,都能发挥出色的自动化效果。
高度可定制的操作序列
cliclick允许用户将多个操作组合成序列,实现复杂的自动化流程。你可以根据具体需求,灵活定制从简单到复杂的各种操作脚本,满足不同场景下的自动化需求。
场景化应用:解决实际工作痛点
自动化测试与UI交互
传统方式:手动点击界面元素,重复执行测试用例,耗时且易出错 工具方式:通过cliclick脚本自动执行一系列点击、输入操作,精确且可重复
当你需要对macOS应用进行重复测试时,cliclick可以成为你的得力助手。以下是一个简单的应用测试脚本:
#!/bin/bash
# 适用场景:登录界面自动化测试
cliclick m:300,250 # 移动到用户名输入框
cliclick c:300,250 # 点击输入框
cliclick t:"testuser" # 输入用户名
cliclick m:300,300 # 移动到密码输入框
cliclick c:300,300 # 点击输入框
cliclick t:"password123" # 输入密码
cliclick m:350,350 # 移动到登录按钮
cliclick c:350,350 # 点击登录
cliclick w:2000 # 等待2秒,让页面加载完成
[!NOTE] 执行测试脚本前,建议先使用
-m test参数进行测试,确保操作坐标正确无误。
表单自动填写与数据录入
传统方式:手动在各个输入框之间切换,逐个输入信息 工具方式:通过脚本一次性完成所有输入框定位与内容填写
处理需要频繁填写相同信息的表单时,cliclick可以显著提高效率。以下是一个表单填写示例:
# 适用场景:重复填写固定格式的表单
cliclick m:400,200 # 移动到姓名输入框
cliclick c:400,200 # 点击输入框
cliclick t:"张三" # 输入姓名
cliclick m:400,250 # 移动到邮箱输入框
cliclick c:400,250 # 点击
cliclick t:"example@company.com" # 输入邮箱
cliclick m:400,300 # 移动到电话输入框
cliclick c:400,300 # 点击
cliclick t:"13800138000" # 输入电话
cliclick m:500,400 # 移动到提交按钮
cliclick c:500,400 # 点击提交
软件界面操作自动化
传统方式:手动操作软件菜单,完成特定功能调用 工具方式:通过键盘快捷键组合与鼠标点击,自动完成复杂操作
对于需要多步骤操作的软件功能,cliclick可以将多个操作组合成一个简单的命令。例如,在文本编辑器中自动保存并导出文件:
# 适用场景:文档编辑后的自动保存与导出
cliclick kd:cmd kp:s ku:cmd # 模拟Command+S保存文档
cliclick w:500 # 等待保存完成
cliclick kd:cmd kd:shift kp:e ku:shift ku:cmd # 模拟Command+Shift+E导出
cliclick w:1000 # 等待导出对话框出现
cliclick m:600,350 # 移动到导出按钮
cliclick c:600,350 # 点击导出
进阶探索:释放工具全部潜力
相对坐标与动态操作
cliclick支持相对坐标操作,使脚本更加灵活。当你需要基于当前位置进行移动时,可以使用+前缀表示相对坐标:
# 适用场景:基于当前位置的相对移动
cliclick m:100,100 # 移动到起始位置
cliclick m:+50,+0 # 向右移动50像素
cliclick m:+0,+30 # 向下移动30像素
cliclick c:. # 点击当前位置(使用.表示当前位置)
命令文件与批量执行
对于复杂的操作序列,你可以将命令写入文件,然后通过-f参数执行:
# commands.txt 文件内容
m:100,100
c:100,100
w:500
m:200,200
c:200,200
t:"Hello World"
执行命令文件:
cliclick -f commands.txt
与其他工具的协同工作
cliclick可以与macOS的其他自动化工具无缝协作,拓展自动化能力:
- 与Automator结合:将cliclick命令集成到Automator工作流,创建自定义服务
- 与AppleScript联动:在AppleScript中调用cliclick命令,实现更复杂的逻辑控制
- 与定时任务结合:通过crontab设置定时执行cliclick脚本,实现无人值守自动化
# AppleScript中调用cliclick示例
do shell script "/usr/local/bin/cliclick m:100,200 c:100,200"
delay 1
do shell script "/usr/local/bin/cliclick t:'Hello from AppleScript'"
高级参数与调试技巧
掌握cliclick的高级参数可以帮助你更好地控制自动化过程:
-m test:测试模式,显示操作但不实际执行-m verbose:详细输出模式,显示每个操作的详细信息-r:执行完成后恢复鼠标初始位置-w:设置默认等待时间(毫秒)
# 调试模式示例
cliclick -m test -w 200 m:100,200 c:100,200 t:"Test"
安装与配置指南
方法一:使用Homebrew(推荐)
Homebrew是macOS上最便捷的包管理工具,安装cliclick只需一行命令:
brew install cliclick
方法二:手动编译
如果你需要最新版本或自定义编译选项,可以从源码编译:
git clone https://gitcode.com/gh_mirrors/cl/cliclick
cd cliclick
make
编译完成后,可将生成的可执行文件复制到系统路径:
sudo cp cliclick /usr/local/bin/
方法三:MacPorts
如果你使用MacPorts包管理器,可以通过以下命令安装:
sudo port install cliclick
[!NOTE] 安装完成后,必须在"系统偏好设置 → 安全性与隐私 → 辅助功能"中为终端应用授予权限,否则cliclick无法正常工作。
实用功能模块解析
鼠标操作模块
cliclick提供了全面的鼠标操作功能,让你能够精确控制鼠标行为:
- 移动:
m:x,y- 将鼠标移动到指定坐标(x,y为屏幕上的X,Y轴位置) - 点击:
c:x,y- 在指定位置执行左键点击 - 右键:
rc:x,y- 右键点击操作 - 双击:
dc:x,y- 双击操作 - 拖拽:
dd:x1,y1 dm:x2,y2 du:x2,y2- 从(x1,y1)拖动到(x2,y2)
# 鼠标拖拽示例
cliclick dd:100,200 # 按下鼠标左键
cliclick dm:150,250 # 拖动到新位置
cliclick du:150,250 # 释放鼠标左键
键盘操作模块
通过cliclick可以模拟各种键盘操作,包括单个按键、组合键和文本输入:
- 按键:
kp:key- 按下并释放指定按键(如return、tab等) - 按键按下:
kd:key- 按下指定按键不释放 - 按键释放:
ku:key- 释放之前按下的按键 - 输入文本:
t:text- 输入指定文本内容
# 组合键示例:复制粘贴操作
cliclick kd:cmd kp:c ku:cmd # 复制(Command+C)
cliclick m:300,400 c:300,400 # 移动到目标位置并点击
cliclick kd:cmd kp:v ku:cmd # 粘贴(Command+V)
辅助功能模块
cliclick还提供了一些实用的辅助功能,增强自动化脚本的灵活性:
- 等待:
w:ms- 暂停指定毫秒数(1秒=1000毫秒) - 获取颜色:
cp:x,y- 获取屏幕指定位置的颜色值 - 打印位置:
p- 显示当前鼠标位置坐标 - 延迟设置:
-w ms- 设置默认操作间隔时间
# 颜色检测示例
color=$(cliclick cp:500,500)
echo "指定位置颜色: $color"
if [ "$color" = "FF0000" ]; then
echo "检测到红色,执行相应操作"
cliclick c:500,500
fi
总结与扩展
cliclick作为一款强大的macOS命令行自动化工具,通过模拟鼠标和键盘操作,为用户提供了高效的自动化解决方案。无论是日常办公、软件开发还是系统管理,它都能帮助你减少重复劳动,提高工作效率。
随着使用的深入,你可以探索更多高级用法,如结合shell脚本实现条件判断,或与其他自动化工具集成构建更复杂的工作流。cliclick的灵活性和可扩展性,使其成为macOS自动化领域的重要工具。
现在就开始尝试cliclick,体验自动化带来的效率提升,让你的macOS操作变得更加智能高效!
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