← 返回项目
README.md

Roach on Desk

一只运行在 Windows 桌面的离线写实蟑螂桌宠。它不连接 Agent、模型、账号或网络服务,也不会上传任何数据。

桌宠运行预览

功能

桌面蟑螂

  • 使用透明 APNG 素材,以俯视视角呈现;正常显示尺寸固定为 100 × 150 px。
  • 自动在当前屏幕工作区域内缓慢爬行,使用八相位步态;每次短暂爬行后会停下来休息或用前足整理触须,鼠标移到蟑螂本体上才会继续活动。
  • 左键可抓住并拖拽,松开后恢复活动;快速连点会触发挣扎动作。
  • 手动拖到屏幕边缘后松开,会藏起主体、仅露出触须;点击触须即可重新出现。
  • 不包含鼠标靠近逃跑、鼠标跟随、亲密度或系统事件联动功能。

文件回收站

  • 可从资源管理器拖入文件或文件夹。
  • 会打开独立确认窗口;确认后文件被移动至应用自己的回收站,而非直接永久删除。
  • 可在设置面板的「回收站」中恢复文件;清空回收站前会再次确认。

设置与托盘

  • 设置面板为独立、可拖动窗口,不会改变蟑螂尺寸或位置。
  • 可开关:自动游走、可拖拽、连点挣扎、边缘收边、始终置顶。
  • 系统托盘图标支持打开设置与退出桌宠。

操作

操作 效果
左键按住并拖动 抓住、拖动蟑螂
快速连点 触发挣扎
拖到屏幕边缘并松开 躲进边缘,只露触须
点击触须 重新出现
拖入文件或文件夹 打开独立回收确认窗口
右键托盘图标 打开设置或退出

开发运行

需要已安装 Node.js 和 npm。

npm install
npm start

验证

npm test
npm run lint

测试覆盖运动状态、边缘收边、视觉素材、托盘菜单和运行时契约;源码检查会确认应用不发起网络请求。

打包

仅在需要发布时执行:

npm run make

便携版输出至 dist/Roach-on-Desk/Roach on Desk.exe。若网络环境允许下载 electron-builder 的 NSIS 依赖,可运行 npm run makeInstaller 生成安装包。

项目结构

src/
  main.js                    主进程:窗口、托盘和 IPC
  preload.js                 安全桥接
  recycle-bin.js             应用回收站:回收、恢复、清空
  renderer/
    app.js                   蟑螂运动、拖拽与文件投放
    pet-controller.mjs       运动与交互状态机
    pet-view.mjs             APNG 与触须视觉切换
    settings.*               独立设置窗口
    confirm.*                独立文件回收确认窗口
assets/roach-topdown/        运行时蟑螂素材与主题
tests/                       自动化测试
scripts/                     校验和便携版构建脚本