1. 快速入门

启动程序

双击 KeyMouseMate.exe 即可启动。

首次运行时,若 Windows 弹出安全警告,请点击「仍要运行」或「更多信息 → 仍要运行」。

💡 提示 建议将 KeyMouseMate.exe 固定到任务栏或创建桌面快捷方式,方便以后快速启动。

第一个方案(5 步完成)

  1. 新建方案:菜单「方案 → 新建方案」,输入名称,保存。
  2. 新建节点:右侧「节点库」→「新建」,输入名称。
  3. 添加动作:弹出节点编辑器 →「添加动作」,选择「左键单击」,设置坐标,保存。
  4. 添加步骤:在主界面「方案步骤」面板 →「添加步骤」,选择刚创建的节点。
  5. 运行:点击「▶ 运行」按钮或按 Ctrl+Shift+S
ℹ 节点可复用 节点是可复用的动作组,一个方案可以多次引用同一个节点。修改节点会同步更新所有引用它的方案。

2. 三层模型

程序以三层结构组织自动化任务:

方案(Plan) └─ 步骤列表(NodeStep) └─ 节点(Node) └─ 动作列表(Action)
层级说明
方案 Plan一次完整任务 = 步骤列表 + 监控规则 + 运行参数
节点 Node一组动作的具名单元,可被多个方案共享引用
动作 Action最小执行单元,共 33 种类型

公共模板与私有实例

动作与节点都有两种形态,界面上用徽标区分:

徽标形态存放位置改动影响
🔗公共实例关联动作库 / 节点库中的一份模板改模板 → 所有引用处自动同步
🔒私有实例内嵌在所属方案 / 节点文件里只影响这一处,不入库、不进分类树

快照(自包含):公共实例在关联模板的同时,会把自己所用模板的全部字段副本一并存入方案文件。因此方案文件本身即完整可运行——单个 .json 直接分享给别人即可,接收方无需预先拥有相同的动作库 / 节点库。

  • 保存 / 改名模板 → 所有引用它的节点与方案快照自动刷新。
  • 删除模板 → 引用处自动降级为私有副本,方案仍可运行。
  • 编辑公共实例 → 每次都弹二次确认:修改模板=全局生效(所有引用处一起变)、仅改这一份=转为私有(只影响当前方案)、取消=不改(默认聚焦取消,防误触)。
  • 新建默认私有:新增的动作 / 节点默认是私有实例;需要复用时点「转为公共」,填名称与分类后写入库,重名须改名。
  • 导入分享的方案:命中本地同 ID 的模板则保持公共并刷新快照,未命中的自动降级为私有副本,导入后即可直接运行。

3. 界面布局

▶ 运行 ⏸ 暂停 ⏹ 停止 ● 待机 方案: ▼ 下拉框 ◁ 显示方案   ▷ 显示节点
📁 方案
方案 A
▶ 方案 B(当前)
方案 C
📋 方案步骤 从此步运行 ▶
# 节点 循环 间隔 条件 出错 启用
登录 1 0s 继续
批量操作 0 5s 表达式 重试2
添加步骤 编辑 删除 编辑节点
🧩 节点库
节点 A
▶ 节点 B(当前)
节点 C
启动延迟: 2.0s   动作间隔: 0.5s   监控规则: 1 条启用 鼠标: (1024, 768)
[10:23:45] 方案「登录流程」开始执行
[10:23:46] 步骤1:节点「登录」执行中...
[10:23:47] OCR 识别到关键词:「欢迎」
[10:23:48] 步骤1 执行完毕(1 次)
© 2026 软件驿站 SoftHub.CC 版权所有
  • 状态栏:左侧显示版权,右侧红色坐标实时跟随鼠标。
  • 日志区:可上下拖动分割条调整高度。
  • 折叠:点击「◁ 显示方案」/「▷ 显示节点」可折叠对应侧栏,节省空间。

3.5 典型场景示例

示例一:自动登录网页

场景:打开浏览器,自动填写用户名密码并登录。

方案「自动登录」:
  步骤1「打开网站」(1轮)
    节点「登录-打开网页」
      ├─ action: open_website → https://example.com/login
      └─ action: wait → 3s(等页面加载)

  步骤2「输入凭证并登录」(1轮)
    节点「登录-填表单」
      ├─ action: ocr_check → 关键词"用户名", 区域追踪
      ├─ action: tab_click → 点击用户名输入框
      ├─ action: input_text → 用户名文本(可用 {变量.用户名})
      ├─ action: tab_click → 点击密码输入框
      ├─ action: input_text → 从密码库取密文
      └─ action: left_click → 坐标点击[登录]按钮

示例二:批量表单提交 + 弹窗处理

场景:批量处理 100 条数据,每条提交后可能弹出确认或错误框。

方案「批量提交」:
  步骤1「循环提交」(100轮)
    节点「提交操作」
      ├─ action: wait → 0.5s
      ├─ action: ocr_check → 关键词"提交按钮", 点击
      ├─ action: wait → 1s
      └─ action: goto → 回到本节点第1步(loop_count控制总轮数)

  监控规则1「错误弹窗处理」:
    关键词:错误,报错,异常,数据不规范
    处理器:节点「处理-报错弹窗」(点击[确定]后返回)

  监控规则2「确认弹窗」:
    关键词:确认,确定,是否继续
    处理器:节点「处理-确认弹窗」(点击[确定]后返回)

示例三:定时巡检报表

场景:工作日每天上午9点自动运行巡检脚本。

方案「每日巡检」:
  步骤1「启动巡检」(1轮)
    节点「启动程序」
      └─ action: open_file → D:\scripts\inspection.py

  步骤2「等待结果」(1轮)
    节点「等待完成」
      └─ action: wait_text → 区域识别"完成"或"error",超时300s

  监控规则「意外弹窗」:
    关键词:异常,崩溃,退出
    处理器:节点「处理-异常」(发送通知)

定时调度:
  Cron:0 0 9 * * 1-5 *(工作日 9:00:00)
  关联方案:每日巡检

4. 动作类型全解

4.1 鼠标类

动作参数说明
左键单击区域(左上X / 上Y / 右下X / 下Y)点击单个点(区域宽高为0)
左键双击同左双击
右键单击同左右键
移动鼠标起点 + 终点(可选)无终点:直接移动;有终点:先到达起点再平滑移到终点
拖动选择起点 + 终点按住左键从起点拖到终点
滚轮滚动X,Y + 方向(up/down) + 格数先移动到坐标,再滚动鼠标滚轮 N 格(网页/列表翻页)

4.2 输入类

动作参数说明
输入文本X,Y + 文本 + 先清空 + 密码库点击坐标获得焦点后粘贴文本;支持 {变量} 模板;选密码库自动取明文
单击后输入X,Y + 文本 + 先清空 + 密码库先左键单击坐标获得焦点,再粘贴文本;支持 {变量} 模板与密码库
单击后输入完Tab同上同「单击后输入」,输入完成后自动再按一次 Tab
双击后输入同上双击定位(如选中行/展开列表项)后粘贴输入文本
双击后输入完Tab同上同「双击后输入」,输入完成后自动再按一次 Tab
Tab后点击X,Y(或追踪)模拟 Alt+Tab 切换窗口后点击目标坐标
Tab后输入X,Y + 文本模拟 Alt+Tab 切换窗口后直接输入文本(无需点击)
OCR偏移点击区域 + 偏移量 + 关键词识别关键词位置,按偏移点击(不输入文本)
OCR偏移点击输入区域 + 偏移量 + 关键词 + 文本/密码识别关键词位置,按偏移点击,然后输入文本
OCR偏移双击区域 + 偏移量 + 关键词识别关键词位置,按偏移双击(如选中一行文本)
找图点击模板图片 + 搜索区域(可选)+ 偏移量 + 跳转用模板截图在屏幕上匹配(cv2 模板匹配,阈值 0.8),命中点击中心+偏移;适合无文字的图标/按钮
复制选区到变量X,Y(可选,先点击聚焦)+ 存入变量Ctrl+C 复制当前选区内容,读剪贴板存入 {变量};与设置变量/模板配合做数据抓取
按键键名模拟按键,如 enterctrl+calt+f4f5

4.3 等待类

动作参数说明
等待时长(秒)固定等待,可被暂停/停止打断
等待文本区域 + 关键词 + 超时 + 轮询间隔轮询 OCR 直到出现关键词或超时;用于"等页面加载完"
等待窗口窗口标题关键词 + 超时 + 轮询间隔 + 跳转轮询等待标题包含关键词的窗口出现,出现即激活;超时走未命中跳转
等待图片模板图片 + 搜索区域(可选)+ 超时 + 轮询间隔 + 跳转轮询找图直到出现或超时;可等加载圈消失等场景
随机延迟基准时长(秒)在基准时长的 50%~150% 之间随机等待,比固定等待更自然

4.4 OCR 类

动作参数说明
OCR识别区域 + 关键词 + 匹配模式 + 存变量 + 跳转单次识别;命中/未命中可分别跳转到节点内第 N 个动作

匹配模式

  • 任意(OR):命中任一关键词即成功
  • 全部(AND):所有关键词都出现才成功

4.5 流程控制类

动作参数说明
跳转目标序号 N跳到节点内第 N 个动作(向后跳=循环)
设置变量名称 + 值创建 {变量.名称};值支持 {变量} 模板、数字、true/false

4.6 系统类

动作参数说明
打开文件路径打开文件或启动程序
截图区域保存到桌面 screenshot_时间戳.png
打开网站网址打开指定网址(浏览器)
窗口最大化激活前台窗口并最大化
激活窗口窗口标题关键词(逗号分隔)+ 跳转按标题关键词找到窗口并带到前台;未找到走未命中跳转。自动化前先确保目标窗口在前台
写文件目标文件 + 写入内容({变量} 模板)追加一行到文件末尾,自动加时间戳前缀;配合变量可记录每轮处理轨迹

4.7 新增动作详解与典型场景

下面对近期新增的 13 种动作(动作总数已达 33 种)展开说明主要用法与应用场景,参数速查见上文 4.1~4.6 各表。

动作怎么用典型场景
▍点击 + 输入组合
单击后输入填坐标定位 + 输入内容:先单击该坐标获得焦点,再粘贴文本;执行次数 = 重复点选输入几遍表单逐项填写(点用户名框输入账号、点密码框输入密码),一个动作顶替「单击 + 输入文本」两步
单击后输入完Tab同「单击后输入」,输入完成后自动再按一次 Tab 跳到下一控件连续表单一条链填完——"输完账号按 Tab 到密码框",省去为每个输入框单独算坐标
双击后输入双击坐标后粘贴文本需双击才进入编辑状态的控件:Excel/表格单元格、文件重命名框、双击展开树节点;双击也可用于选中一段词后覆盖输入
双击后输入完Tab同「双击后输入」,输完自动按 Tab表格类软件中"双击单元格 → 输入 → Tab 到下一格"的连续录入
▍鼠标增强与数据采集
滚轮滚动坐标定位 + 方向(up/down) + 滚动格数:先把鼠标移到该位置,再滚动 N 格长页面翻页浏览、下拉列表选第 N 项、滚动触发列表懒加载;比按键 PageDown 粒度更细
复制选区到变量可选填坐标(填了先点一下聚焦),然后 Ctrl+C 复制当前选区,读剪贴板存入指定变量;之后其它动作用 {变量.名} 引用从网页/软件抓当前选中内容:复制订单号、报错信息、价格,供打开网址、写文件、条件判断使用。注意 Ctrl+C 复制的是"当前已选中"的内容,目标处需先有选区
▍窗口管理
激活窗口填窗口标题关键词(逗号分隔多个,任一包含即命中),把匹配窗口带到前台;未命中可跳转多软件协作流程的第一步(先激活"记事本"再写入);运行前确认目标程序已打开,没开走失败分支
等待窗口标题关键词 + 超时秒数轮询等待,窗口出现即激活,超时走未命中跳转等"导出完成"弹窗、等软件启动后的主窗口、等登录成功页;"出现才继续、超时走失败"比盲等固定秒数可靠
▍图像识别
找图点击截一小块目标图作模板,在区域内模板匹配(阈值 0.8),命中点击中心+偏移控件位置会漂移的界面(按钮今天在 (800,300) 明天在 (795,310),坐标点击会失效);也适合无文字的图标/按钮,按"长什么样"定位而非坐标
等待图片模板图片 + 超时轮询,图像出现即继续(只等不点),超时走跳转等加载圈消失、等"下载完成"图标出现、等进度条走完;适用于弹窗无标题或内容型提示的场景
▍OCR 增强与流程辅助
OCR偏移双击识别关键词后,在命中位置加偏移做双击双击打开识别到的条目:文件列表双击文件名、聊天记录双击联系人、表格双击某行进入编辑;与 OCR偏移点击/OCR偏移点击输入 配成三件套
随机延迟填基准时长(秒),实际在基准值的 50%~150% 间随机等待批量提交时每步间随机停顿,让操作节奏更拟人;也适用于等响应时间不确定的页面
写文件目标文件路径 + 写入内容(支持 {变量} 模板),追加一行并自动加时间戳前缀运行结果留痕:把复制到的订单号、OCR 识别结果逐轮追加到 txt/csv;配合「复制选区到变量」组成"抓取 → 落盘"流水线

组合示例:自动取数流水线——一条流程串起多个新动作:

步骤动作配置要点作用
1激活窗口关键词:业务系统确保目标程序在前台
2等待图片加载圈消失模板,超时 30 秒等页面加载完
3找图点击导出按钮截图,区域为 0 时全屏找位置会漂的按钮用图找
4等待窗口关键词:导出完成,超时 60 秒等结果弹窗出现
5复制选区到变量不填坐标,存入变量:单号抓取数据到变量
6写文件采集结果.txt,内容:{变量.单号}落盘留痕
7随机延迟基准 2 秒下一轮前拟人停顿

5. 执行次数

所有动作类型均支持执行次数loop_count),默认 1 次。

设置位置

  • 节点编辑器 → 编辑动作 → "执行次数" 字段
  • 动作管理器(全局库)→ 编辑 → "执行次数" 字段
  • 动作列表表格中均有"执行次数"列,支持右键「列设置」隐藏或调整宽度

行为

  • 动作执行 N 次后,继续下一个动作。
  • 每次执行之间自动等待"后置等待"时间。
  • 例:动作 A 执行次数=2,动作 B 执行次数=1 → 顺序为 A→A→B。

6. 条件分支与工作流

6.1 步骤级条件

每个步骤可设置执行条件,决定该步骤是否运行:

条件类型说明
无条件始终执行(默认)
变量表达式表达式为 true 时执行
OCR 区域识别指定区域 OCR,命中关键词时执行
OCR 数值比较识别区域第一个数字,与阈值比较

条件不满足时的处理

  • 跳过:执行下一个步骤(默认)
  • 跳转到步骤 #N:跳到指定步骤
  • 终止方案:方案停止,状态显示"已完成"

6.2 动作出错处理

策略说明
继续记录日志,执行下一个动作(默认)
重试 N 次失败后重试,仍失败则按策略处理
跳转到步骤 #N跳到指定步骤
中止方案停止整个方案

6.3 动作级跳转(节点内)

OCR识别跳转 动作支持节点内跳转:

  • 命中→跳转:OCR 命中后跳到节点内第 N 个动作
  • 未命中→跳转:OCR 未命中后跳到第 N 个动作
  • 可组合形成节点内循环(如:跳转回第 1 个动作)

7. 变量与表达式

7.1 内置变量

变量含义
{轮次}当前节点循环第几轮(1 基)
{步序}当前步骤序号(1 基)
{节点名}当前步骤引用的节点名
{方案名}当前方案名称
{ocr.last}最近一次 OCR 全文
{ocr.hit}最近一次 OCR 是否命中(true/false)
{ocr.matched}最近命中的关键词文本
{结果.上一步}上一个动作是否成功(true/false)
{变量.xxx}用户通过「设置变量」动作创建的变量

7.2 表达式语法

表达式用于步骤执行条件,不使用 eval,安全受限:

运算符== != > < >= <= contains matches startswith endswith and or not

matches 支持正则:右侧用 re: 前缀

{ocr.last} matches 're:错误代码:\s*\d+'

7.3 示例

{变量.已登录} == true
{ocr.last} contains '成功'
{轮次} > 3 and {变量.停止} != true
{ocr.last} matches 're:订单号:\s*\w+'

7.4 模板替换

在「输入文本」「按键」「打开文件」「设置变量」的值中可写 {变量名},执行时自动替换;未知变量原样保留,不报错。

8. OCR 识别

8.1 双引擎

引擎说明
RapidOCR(默认)PP-OCR 模型,中文准确率高,体积小巧,开箱即用
PaddleOCR(可选)识别上限略高,适合对复杂版面要求高的场景

auto 模式:优先 RapidOCR,失败时自动回退到 PaddleOCR。

8.2 OCR 设置

菜单「工具 → OCR 设置」:

  • 引擎切换:RapidOCR / PaddleOCR / auto
  • 置信度阈值:低于此值的识别行被过滤(0.0~1.0,默认 0.5)
  • 调试日志:运行时输出每次 OCR 识别结果预览,方便排查识别问题
  • 区域测试:选择区域 → 点击"测试识别",查看识别文本和置信度

8.3 小区域放大

自动检测:识别区域过小时(< 200px 宽或高),自动放大 1.5~2 倍再识别,提高小文字识别率。

9. 监控规则(弹窗处理)

9.1 工作原理

监控规则在后台线程运行,与主流程完全独立:

主流程:步骤1 → 动作A → 动作B → 动作C → ... ↑ 监控线程在每个动作之间检查点触发 命中关键词 → 执行处理节点 → 回到打断处继续(不重跑方案)

9.2 创建监控规则

菜单「工具 → 监控规则」→ 新建:

参数说明
区域OCR 监控的屏幕区域(可用追踪取区域)
关键词触发关键词,逗号分隔,支持 re: 正则前缀
检测间隔每秒检测几次(默认 1.0 秒)
冷却时间触发后多少秒内不重复触发,防止反复处理
处理类型执行节点(内联处理)或 终止方案
处理节点命中后执行的节点名(处理类型=执行节点时)

9.3 典型场景:批量提交 + 弹窗处理

步骤1(无限循环):批量选中提交 ├─ 点击[选中]按钮 ├─ 等待 0.5s ├─ 点击[提交]按钮 └─ 等待 1s → 回到循环开头 监控规则1:检测报错弹窗 关键词:错误,报错,异常,数据不规范 处理器:节点「处理-报错弹窗」(点击[确定]) 监控规则2:检测取消确认弹窗 关键词:确认,确定,是否 处理器:节点「处理-确认弹窗」(点击[取消])

9.4 调试技巧

  1. 打开「OCR 调试日志」,日志中出现 🔍 [规则名] OCR: ... 查看识别内容
  2. 在节点中添加 ocr_check 动作,将识别全文存入变量并截图到桌面,确认区域是否正确
  3. 若触发过于频繁,增大 冷却时间

10. 定时调度(Cron)

10.1 创建调度

菜单「工具 → 定时调度」→ 新建:

调度包含:Cron 表达式(7 字段:秒 分 时 日 月 周 年)、启动延迟、关联方案、调度名称。

10.2 Cron 表达式速查

字段示例含义
0每分钟的第 0 秒
*/5每 5 分钟
9-189点到18点
L每月最后一天
*每月
1-5周一到周五
*每年

10.3 高级语法

语法示例含义
**/15 * * * *每 15 秒
,0,30 * * * *每小时的第 0 和 30 秒
-9-18 * * * 1-59点到18点,周一到周五
L0 0 L * *每月最后一天 0 时 0 分
W0 0 15W * *每月最接近 15 号的工作日
NwD0 0 15NwD * *每月第 15 个工作日
#N0 0 * * 6#2每月第二个周六

10.4 运行状态

  • 调度器在后台精确等待下次触发时刻(非轮询),到达时自动运行关联方案。
  • 托盘图标和日志显示调度状态。
  • 主窗口关闭后调度继续运行(托盘模式下)。

11. 热键

11.1 默认热键

功能默认
开始运行 / 从暂停继续Ctrl+Shift+S
暂停 / 恢复Ctrl+Shift+P
停止Ctrl+Shift+Q
坐标追踪(起点/区域)Ctrl+Shift+C
坐标追踪(终点/拖动结束点)Ctrl+Shift+X

11.2 修改热键

菜单「工具 → 热键设置」→ 选择功能 → 点击"录制" → 按下新的组合键 → 保存。

11.3 追踪热键详解

Ctrl+Shift+C三阶段追踪:

  1. 第一次按下:开始追踪左上角(按钮文字显示"追踪左上角")
  2. 第二次按下:切换到追踪右下角(按钮文字显示"追踪右下角")
  3. 第三次按下:锁定当前坐标(按钮文字显示"已锁定")

适用于:动作编辑坐标、步骤 OCR 条件区域、监控规则区域、OCR 设置测试区域。

Ctrl+Shift+X 仅用于拖动动作的终点追踪。

12. 密码管理

菜单「工具 → 密码管理」:

  • 添加:输入名称和明文密码 → 加密存储到 userdata/passwords.db
  • 编辑/删除:右键管理已有条目
  • 在动作中使用:输入文本动作 → 点击"密码库…" → 选择条目

执行时程序自动:①从数据库取出明文 ②粘贴到目标位置 ③清空剪贴板(防止泄露)④日志中显示 *****(打码,不显示实际密码)。

13. 坐标追踪

13.1 追踪区域(Ctrl+Shift+C)

适用于所有需要坐标的位置:动作的左上角/右下角、步骤 OCR 条件区域、监控规则区域、OCR 设置测试区域。

  1. 在坐标输入框中点击"追踪区域"按钮(或按 Ctrl+Shift+C
  2. 移动鼠标到目标左上角,再次按 Ctrl+Shift+C 锁定左上角
  3. 移动鼠标到目标右下角,再次按 Ctrl+Shift+C 锁定右下角
  4. 按钮文字实时显示当前阶段(追踪左上角 / 追踪右下角 / 已锁定)

13.2 追踪终点(Ctrl+Shift+X)

用于拖动动作的终点:移动鼠标到目标位置,按 Ctrl+Shift+X 锁定,起点不受影响。

13.3 独立追踪

两个按钮独立追踪,可同时追踪起点和终点而不互相干扰。

14. 数据管理:新建 / 复制 / 重命名 / 删除

14.1 新建

对象说明
动作自动生成 action_id,保存到 userdata/actions/ 目录
节点自动生成 node_id,保存到 userdata/nodes/ 目录
方案自动生成 plan_id,保存到 userdata/plans/ 目录

14.2 复制规则

复制对象新 ID原 ID复制行为
动作 action_id原 action_id完整复制所有字段(名称需修改)
节点 node_id原 node_id内联动作保留原 action_id;共享动作引用保留原 ID
方案 plan_id原 plan_id复制所有步骤和监控规则

14.3 重命名

  • 节点重命名:自动同步所有引用该节点的方案中的步骤(按 ID 与名称双匹配)。
  • 动作重命名:旧文件自动删除,新名称文件写入。

14.4 删除

  • 被引用的节点/动作/方案删除时会列出受影响对象并要求确认。
  • 方案删除后不影响节点和动作文件。

14.5 列设置

所有表格(动作列表、节点列表、方案列表)均支持右键 →「列设置… 」:勾选显示/隐藏列,拖拽调整列宽,设置自动保存。

14.6 右键菜单操作

除列设置外,各表格还根据上下文提供操作菜单:

位置菜单项说明
动作管理新建 / 编辑 / 复制 / 删除 / 上移 / 下移 / 导入 / 导出 / 运行本动作 / 列设置管理公共动作库
节点管理新建 / 编辑 / 复制 / 重命名 / 删除 / 上移 / 下移 / 导入 / 导出 / 列设置管理公共节点库
方案管理新建 / 编辑 / 复制 / 删除 / 上移 / 下移 / 设默认 / 导入 / 导出 / 列设置管理方案列表
步骤面板添加步骤 / 编辑步骤 / 删除步骤 / 上移 / 下移 / 编辑节点 / 转为公共/私有 / 列设置管理方案步骤顺序
节点编辑器新建私有动作 / 从公共库添加 / 编辑动作 / 复制动作 / 转为公共/私有 / 删除动作 / 上移 / 下移 / 列设置编辑节点内的动作列表
节点库面板新建 / 编辑 / 复制 / 重命名 / 删除 / 上移 / 下移 / 导入 / 导出 / 转为私有节点节点库快捷操作
方案面板新建 / 编辑 / 复制 / 删除 / 设默认 / 上移 / 下移 / 导入 / 导出方案列表快捷操作

部分菜单项可能需要先选中对应行才可用(显示为灰色)。

15. 效果叠加(执行回显)

菜单「设置 → 效果设置」:运行方案时在主窗口上方叠加半透明视觉效果,由执行引擎触发,用于调试和观察执行状态:

效果说明
点击波纹 / 光晕方案点击时显示扩散波纹或光晕动画
OCR 十字线OCR 识别区域绘制十字准星
键盘文字方案输入的文本浮窗显示

可独立开关每种效果,调整颜色(Hex 颜色值)和透明度。

⚠ 与「实时可视化」的区别 效果叠加只在方案执行时由引擎触发;实时可视化(下一章)则实时监听你真实的键鼠操作。两者相互独立、可同时使用。

16. 实时可视化(键鼠可视化)

由独立工具 KeyMouseViz 有机融合而来的内置模块(rpa/viz.py),随主程序启动常驻、随主程序退出关闭,无需管理员权限,支持高 DPI / 多显示器。

16.1 功能概览

功能说明
鼠标高亮突出显示鼠标位置,演示/录屏时观众看得清
点击效果真实点击时显示涟漪/光晕动画(左右键、双击可分别设置)
按键显示实时显示你按下的键(支持组合键、只显示组合键模式)
鼠标坐标屏幕角落实时显示鼠标物理坐标(字号/位置/亚像素可调)
聚光灯鼠标周围高亮、四周压暗,聚焦观众注意力
放大镜鼠标周围实时放大镜(圆形/方形、倍率、大小可调)
浮动工具栏屏幕悬浮工具条,一键开关上述各项

默认全部关闭,随程序启动常驻待命,按需开启。

16.2 开启方式(四处入口,状态实时同步)

  1. 菜单:设置 → ☑「启用浮动工具栏」/「设置可视化…」
  2. 托盘:托盘图标右键 →「可视化」子菜单(6 项开关 + 浮动工具栏)
  3. 浮动工具栏:点击图标开关对应功能
  4. 热键:见 11.2 可视化热键

任意一处切换,其余三处勾选状态即时同步

💡 状态持久化 关闭前各功能开关状态(高亮/点击/键盘/坐标/聚光灯/放大镜/浮动工具栏)自动保存到 config/config.jsonviz 段,重启后恢复原状态。

16.3 浮动工具栏

屏幕悬浮工具条(默认屏幕右下角,可拖动),提供 6 个功能按钮:定位/高亮、点击效果、键盘、坐标、聚光灯、放大镜。图标为内置线条绘制;若 config/floatbar/*.svg 存在则优先使用 SVG。图标颜色可在可视化设置中分别调整。

16.4 设置可视化对话框

菜单「设置 → 设置可视化…」或热键 Ctrl+Shift+F1 打开:

分组主要设置
通用显示器选择(主屏/全部/自定义)、刷新间隔、双击间隔
鼠标高亮宽度、点击效果类型(涟漪/光晕/无)、颜色、线宽、环数
键盘开关、只显示组合键、位置、字号、背景色、显示时长
聚光灯开关、半径、暗度
放大镜开关、大小、倍率、形状(圆形/方形)
鼠标坐标开关、字号、位置、自定义坐标、亚像素显示
浮动工具栏开关、图标颜色
关于版本信息
ℹ 热键统一管理快捷键已并入主程序「工具 → 热键设置」(可视化分组),本对话框不再单独编辑热键。

16.5 与「效果叠加」的区别

效果叠加(15 章)实时可视化(本章)
触发方式方案执行时由引擎触发实时监听真实的键鼠操作
用途调试方案、观察执行位置教学/演示/录屏辅助
状态来源方案执行事件pynput 全局监听

两者相互独立、可同时使用。

17. 托盘与关闭行为

17.1 托盘图标

启动后系统托盘出现程序图标,右键菜单:

  • 显示主窗口:恢复主窗口
  • 暂停 / 恢复:与主界面按钮等效
  • 停止执行:停止当前方案
  • 可视化:子菜单(鼠标高亮 / 点击效果 / 按键显示 / 鼠标坐标 / 聚光灯 / 放大镜 / 浮动工具栏,勾选状态与菜单、浮栏实时同步)
  • 关闭行为设置…:修改关闭窗口时的行为
  • 彻底退出:直接退出程序(可视化模块一并停止)

17.2 关闭行为

点击窗口 X 按钮时,可配置行为(首次询问,可勾选"记住选择"):

行为说明
最小化到托盘窗口隐藏,方案/热键继续有效(默认)
最小化到任务栏窗口最小化,仍在任务栏
彻底退出若方案运行中先确认,然后退出

18. 迁移旧方案

菜单「方案 → 迁移旧方案」:

扫描旧版 schemes/ 目录,自动转换:

  • 主任务 → 节点「主流程-方案名
  • 弹窗规则 → 监控规则 + 处理节点「弹窗处理-方案名-规则名
  • 子动作、点击坐标、密码引用全部保留
  • 旧版"总轮次" → 步骤循环次数

幂等:已存在的同名内容自动跳过,可重复执行。

19. 常见问题

19.1 首次运行安全警告

Windows SmartScreen 可能提示"未知发布者",点击「更多信息 → 仍要运行」即可。

19.2 OCR 识别中文差

进入「工具 → OCR 设置」,将引擎切换为RapidOCR(默认引擎,中文效果最佳)。

19.3 坐标不准确

可能是 DPI 缩放导致。请右键 KeyMouseMate.exe → 属性 → 兼容性 → 更改高 DPI 设置 → 勾选「替代高 DPI 缩放行为」,由应用程序控制。

19.4 修改后不生效

关闭程序,重新打开即可。若涉及共享节点,注意其他方案引用该节点时也会同步更新。

19.5 打包后样式与原版不同

这是正常现象,程序已内置 Fusion 样式,确保在任何 Windows 环境下外观一致。

20. 目录结构与数据布局

程序目录分为两大块:程序设置config/)与使用数据userdata/)。打包后均位于 EXE 同级;源码模式下为项目根目录:

应用根目录/ ├── KeyMouseMate.exe # 主程序 ├── manual/ # 手册目录(本手册在此) ├── config/ # ★ 程序设置 │ ├── config.json # 主题/热键/OCR/效果/布局 + viz 段 │ ├── window_state.ini # 窗口大小/位置/分栏/折叠状态(不写注册表) │ ├── floatbar/ # 浮动工具栏 SVG 图标(可选) │ └── qrcode.png # 「关于」页二维码(可选,自行放置) └── userdata/ # ★ 使用数据 ├── data.json # 方案/节点排序、默认方案 ├── passwords.db # 密码数据库(AES 加密) ├── plans/ # 方案文件(每个方案一个 JSON) ├── nodes/ # 节点文件(可被多个方案共享) ├── actions/ # 共享动作文件 └── logs/ # 运行日志

20.1 旧版自动迁移

首次启动检测到旧布局时自动迁移,无需手动操作(旧文件保留 .bak 备份):

  • userdata/config/config.jsonconfig/config.json
  • userdata/config/passwords.dbuserdata/passwords.db
  • userdata/floatbar/config/floatbar/
  • config.json 中的 plan_order / node_order / default_planuserdata/data.json

20.2 备份与迁移

  • 完整备份:同时复制 config/userdata/ 两个文件夹。
  • 只备数据:复制 userdata/(方案/节点/动作/密码/排序全部在内)。

20.3 二维码

「帮助 → 关于」的二维码图片按顺序查找:config/qrcode.png → EXE 同目录 → 程序目录。将图片命名为 qrcode.png 放入 config/ 即可显示。

ℹ 重要提示 如需备份或迁移方案,只需将整个 userdata/ 文件夹复制到目标机器的 userdata/ 目录,方案、节点、动作、密码、排序全部自动生效;如需连程序设置(热键/主题/可视化配置)一起迁移,再复制 config/ 即可。

本手册随版本 2.0 更新。如有问题请访问官方网站 https://softhub.cc。