HotKey — 热键自动化工具
拖拽式零代码热键配置工具,面向非编程用户,通过可视化的操作面板拖拽组合,无需编写代码即可创建复杂的桌面自动化脚本。
这是一个采用 MIT 开源的项目
Github仓库地址为: Github - HotKey
蓝奏云链接:HotKey.exe
功能特点
热键管理
- 可视化增删改查热键,支持 Ctrl+Shift/Alt/Win 组合键录制
- JSON 配置导入/导出,方便分享和备份
- 搜索过滤,快速定位目标热键
拖拽式操作面板
- 5 大分类 · 36+ 条操作语句:鼠标、键盘、屏幕、弹窗、流程控制
- 从「操作面板」拖拽语句到编辑器即可组合自动化流程
- 分类树可折叠,非编程用户友好(所有
import由系统自动注入)
辅助工具
- 🎯 捕获坐标 — 倒计时 3 秒后自动捕获鼠标坐标
- 🖍 捕获颜色 — 捕获鼠标位置像素 RGB 值
- 📐 屏幕尺寸 — 一键插入当前屏幕分辨率
代码编辑器
- 深色主题编辑器,Cascadia Code 等宽字体
- 保存时自动 AST 安全扫描,检测危险代码
全局监听
- 基于
keyboard库的全局热键捕获 - 系统托盘后台运行(
pystray),右键菜单显示/隐藏/退出 - 线程安全:热键触发与 GUI 操作隔离
安全沙箱
- 热键代码在 AST 白名单沙箱中执行
- 禁止
os/subprocess/open/eval/exec等危险操作 - 允许
pyautogui、time、print等安全模块
项目结构
HotKey/
├── main.py # 入口文件
├── requirements.txt # 依赖声明
├── README.md
├── jsons/
│ ├── hotkeys.json # 热键配置(JSON 数组)
│ └── example.json # 示例配置
└── hotkey/ # 核心包
├── __init__.py
├── app.py # 应用程序主类(UI 布局 / 主题 / 辅助功能)
├── actuator.py # 热键执行器(注册 / 注销 / 系统托盘)
├── code_executor.py # 安全执行器(AST 白名单 + 编译缓存)
├── config.py # 统一常量(键名映射 / 修饰键掩码 / 主题色)
├── key_recorder.py # 键盘事件录制器
├── models.py # 数据模型
└── ui/
├── __init__.py
├── tree.py # 热键列表 TreeView 组件
└── menubar.py # 菜单栏(搜索动画 / 去抖)快速开始
环境要求
- Python 3.9+
- Windows 10 / 11
安装依赖
bash
pip install -r requirements.txt运行
bash
python main.py使用流程
- 添加热键 — 右键列表空白处 →「添加」,按下组合键并填写描述
- 编辑操作 — 右键热键 →「编辑」,从左侧「操作面板」拖拽语句到右侧编辑器
- 使用辅助工具 — 点击工具栏「🎯 捕获坐标」等按钮获取精确位置/颜色
- 保存并启动 — 保存代码后,右键热键 →「启动」,热键即可全局生效
JSON 配置格式
json
[
{
"key": "ctrl+shift+a",
"description": "弹出提示",
"code": [
"pyautogui.alert('Hello World')"
]
}
]| 字段 | 说明 |
|---|---|
key | 热键组合,如 ctrl+shift+a、F11、win+r |
description | 热键描述(显示在列表中) |
code | 按下热键后执行的 Python 代码行列表,沙箱中逐行执行 |
操作面板分类
| 分类 | 图标 | 条目数 | 典型操作 |
|---|---|---|---|
| 鼠标操作 | 🖱️ | 11 | 移动/点击/拖拽/滚轮/获取坐标 |
| 键盘操作 | ⌨️ | 9 | 按键/输入/组合键(Ctrl+V, Alt+Tab…) |
| 屏幕操作 | 🖥️ | 7 | 截图/查找图片/像素颜色判断 |
| 弹窗交互 | 💬 | 3 | 提示框/确认框/输入框 |
| 流程控制 | ⏱️ | 6 | 等待(0.5~5s)/循环/条件分支 |
热键代码安全
代码在受限沙箱中执行:
- ✅ 允许:
pyautogui、time、print、基本数据类型和内置函数 - ❌ 禁止:
__import__、eval、exec、open、os.*、subprocess.* - 保存代码时自动 AST 扫描,危险模式弹出警告
快捷键
| 快捷键 | 功能 |
|---|---|
Ctrl+N | 添加热键 |
Ctrl+O | 导入 JSON 配置 |
Ctrl+S | 保存 JSON 配置 |
Ctrl+Shift+S | 导出 JSON 配置 |
Ctrl+F | 搜索热键 |
依赖
| 库 | 用途 |
|---|---|
keyboard | 全局热键捕获与模拟 |
pystray | 系统托盘图标 |
Pillow | 托盘图标渲染 |
pyautogui | GUI 自动化(鼠标/键盘/屏幕操作) |