Agent Skills
返回列表
安全摸鱼

安全摸鱼

生活服务 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_35fb3d31/mofish。

技能介绍

解决的具体问题

在办公或共享工位场景中,开发者常需要让 Codex、IDE 等工作窗口占据主要视野,同时保留小说、微信或网页等“摸鱼”窗口。直接切换窗口或最小化容易暴露:Dock 动画、任务栏预览、屏幕共享都可能被旁人看到。反复手动操作也打断专注。本技能将摸鱼窗口停放在次要显示区域,鼠标悬停时临时显示,移开后立即收起,降低被察觉的概率。

核心能力与关键步骤

  • 区域划分与登记:主区域放始终可见的工作窗口;副区域放需要收起的窗口。优先按用户摆放后的屏幕几何位置登记,自动识别时限定目标屏幕和上下分区,并排除覆盖整列的背景窗口。
  • 状态建模:每个 slot 保存 windowID、原始 frame、parked 和悬停等待状态。原始 frame 同时作为恢复位置和鼠标感应区。
  • 鼠标轮询:使用 hs.timer.doEvery() 轮询鼠标位置,并把 timer 保存到状态表中,避免引用丢失导致停止。
  • 零时长停放/恢复:停放时用 window:setFrame(frame, 0),恢复时同样使用零时长,随后调用 window:raise() 置顶。
  • 菜单控制:菜单栏提供“重新识别”“暂停并恢复”;重新加载配置前先恢复已停放窗口,避免窗口卡在停放状态。

适用边界与注意点

适合单窗口按区域收起、工作窗口保持稳定的场景。不要把同一应用的多个窗口用 app:hide() 处理,否则会同时隐藏该应用的所有窗口。标题可能变化,不能作为唯一标识;窗口 ID 失效或 timer 没有强引用时,可能出现“能停放但无法恢复”。多显示器环境需要按全部显示器边界计算停放位置。显示延迟、静止触发、离开立即收起、恢复后置顶等行为应先确认,再写入配置。

使用场景

  • 在共享办公位写代码,想保留 Codex 主界面,同时把小说窗口停在屏幕右侧边缘,鼠标移过去才临时查看,移开立即隐藏。
  • 开发时需要对照临时网页资料,但不想每次切换窗口都被同事看到,将资料窗口停放在副区域,悬停时短暂显示并置顶。
  • 使用多显示器做开发,主屏保持 IDE,副屏侧边停放个人聊天窗口,鼠标离开感应区后窗口立即收起,避免会议共享时泄露。
  • 需要按工作区与摸鱼区分离窗口,先确认哪些窗口常驻、哪些可收起,再配置感应区和延迟触发,减少误暴露风险。

适合人员

  • 共享工位或开放式办公室的后端开发者,需要让 IDE 保持主视野,同时临时查看文档或个人网页而不引起注意。
  • 经常参加屏幕共享会议的前后端工程师,希望把与工作无关的聊天或阅读窗口停放在次要区域,移开鼠标立即收起。
  • 使用 Hammerspoon 自定义桌面的 macOS 开发者,想按屏幕区域和鼠标位置控制窗口显示与隐藏,而非依赖手动最小化。
  • 负责配置团队开发环境的 DevOps,需要统一管理开发者窗口布局规则,确保工作窗口常驻、个人窗口可快速隐藏。