Skip to content

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 等危险操作
  • 允许 pyautoguitimeprint 等安全模块

项目结构

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

使用流程

  1. 添加热键 — 右键列表空白处 →「添加」,按下组合键并填写描述
  2. 编辑操作 — 右键热键 →「编辑」,从左侧「操作面板」拖拽语句到右侧编辑器
  3. 使用辅助工具 — 点击工具栏「🎯 捕获坐标」等按钮获取精确位置/颜色
  4. 保存并启动 — 保存代码后,右键热键 →「启动」,热键即可全局生效

JSON 配置格式

json
[
    {
        "key": "ctrl+shift+a",
        "description": "弹出提示",
        "code": [
            "pyautogui.alert('Hello World')"
        ]
    }
]
字段说明
key热键组合,如 ctrl+shift+aF11win+r
description热键描述(显示在列表中)
code按下热键后执行的 Python 代码行列表,沙箱中逐行执行

操作面板分类

分类图标条目数典型操作
鼠标操作🖱️11移动/点击/拖拽/滚轮/获取坐标
键盘操作⌨️9按键/输入/组合键(Ctrl+V, Alt+Tab…)
屏幕操作🖥️7截图/查找图片/像素颜色判断
弹窗交互💬3提示框/确认框/输入框
流程控制⏱️6等待(0.5~5s)/循环/条件分支

热键代码安全

代码在受限沙箱中执行:

  • ✅ 允许:pyautoguitimeprint、基本数据类型和内置函数
  • ❌ 禁止:__import__evalexecopenos.*subprocess.*
  • 保存代码时自动 AST 扫描,危险模式弹出警告

快捷键

快捷键功能
Ctrl+N添加热键
Ctrl+O导入 JSON 配置
Ctrl+S保存 JSON 配置
Ctrl+Shift+S导出 JSON 配置
Ctrl+F搜索热键

依赖

用途
keyboard全局热键捕获与模拟
pystray系统托盘图标
Pillow托盘图标渲染
pyautoguiGUI 自动化(鼠标/键盘/屏幕操作)

基于 VitePress 构建