一个智能的鼠标自动移动工具,能够防止系统进入休眠状态,并支持灵活的工作时间配置。
✨ 核心功能:
- 🖱️ 自动鼠标移动 - 防止系统休眠和屏幕锁定
- 🎯 智能活动检测 - 检测用户实际活动,避免在有人操作时移动鼠标
- ⏰ 时间段控制 - 仅在指定的工作时间内运行
- 🔄 可配置间隔 - 灵活调整鼠标移动的频率
- 📊 详细日志 - 实时监控运行状态
- Node.js (v14 或更高版本)
- npm
# 1. 克隆或下载项目
cd stay-awake
# 2. 安装依赖
npm install在项目根目录创建或编辑 .env 文件:
# 鼠标移动间隔(秒)
INTERVAL=60
# 工作时间规则(可选,默认全天)
TIME_RULES=W1-W5/9-18;W6-W7/0-24
# 日志级别(可选:trace, debug, info, warn, error)
LOG_LEVEL=infonpm start你将看到类似的输出:
═══════════════════════════════════════════════════════
📋 当前环境配置参数:
─────────────────────────────────────────────────────
INTERVAL: 60 # 移动间隔(秒)
─────────────────────────────────────────────────────
💡 维护位置: .env 文件
═══════════════════════════════════════════════════════
🚀 鼠标移动脚本启动 (智能模式)
📍 移动间隔: 60秒
♾️ 运行模式: 无限期运行(按 Ctrl+C 停止)
按下 Ctrl+C 即可停止运行。
指定鼠标多久自动移动一次(单位:秒)
INTERVAL=60 # 每60秒移动一次鼠标推荐值:
60- 大多数场景的默认值30- 对系统休眠更敏感120- 更少的鼠标移动
控制脚本仅在指定的工作时间内运行。格式如下:
W1-W5/9-18;W6-W7/0-24
格式说明:
W1= 周一(工作日)W7= 周日(周末)9-18= 上午9点到晚上18点(24小时制);= 多个规则的分隔符
示例:
| 规则 | 说明 |
|---|---|
W1-W5/9-18 |
周一至周五,上午9点到晚上6点 |
W1-W5/8-17;W6-W7/10-20 |
周一至周五8-17点,周末10-20点 |
W1-W7/0-24 |
全天候运行(全周) |
W1-W3/9-12;W3-W5/14-18 |
周一至周三9-12点,周三至周五14-18点 |
控制日志输出的详细程度:
LOG_LEVEL=info # 默认,显示重要信息
LOG_LEVEL=debug # 显示调试信息
LOG_LEVEL=trace # 显示所有详细信息脚本持续监听以下事件:
- 🖱️ 鼠标移动
- ⌨️ 键盘输入
- 💬 系统事件
当检测到用户活动时,鼠标不会移动。
- 移动距离: 10 - 50 像素(随机)
- 移动方向: 随机方向(360°)
- 移动速度: 平滑线性移动(500ms内完成)
- 边界检查: 自动限制在屏幕范围内
- 在允许的工作时间内,脚本正常工作
- 在非工作时间,鼠标停止移动
- 支持复杂的时间段组合
A: 不会。脚本智能检测用户活动:
- 如果你在操作鼠标或键盘,脚本会停止移动
- 只有在系统空闲时,鼠标才会自动移动
A: 可以,但效果取决于远程连接工具的支持情况。建议在本地运行以获得最佳效果。
A: 在 src/index.js 中修改以下常量:
const DISTANCE_MIN = 10; // 最小距离(像素)
const DISTANCE_MAX = 50; // 最大距离(像素)A: 不会。脚本轻量级,只在检查间隔(1秒)时进行活动检测,对系统影响微小。
macOS/Linux:
nohup npm start > stay-awake.log 2>&1 &Windows 命令提示符:
start npm startstay-awake/
├── src/
│ ├── index.js # 主程序入口
│ ├── activityDetector.js # 活动检测模块
│ ├── mouseMovement.js # 鼠标移动模块
│ ├── timeRules.js # 时间规则解析模块
│ ├── workRulesPrinter.js # 规则显示模块
│ └── utils/
│ ├── common.js # 通用工具函数
│ ├── env.js # 环境变量初始化
│ └── logger.js # 日志模块
├── .env # 环境变量配置
├── package.json # 项目配置
└── README.md # 本文件
- robotjs - 跨平台的鼠标和键盘自动化
- dotenv - 环境变量管理
MIT
如有问题或建议,欢迎提出 Issue 或 Pull Request。
最后更新: 2025年12月29日