桌上那只猫,是我家小皮休。
它本来只是一张照片——我拍了自家猫、抠出主体,再让 AI把它画成动漫风格的形象;后来我又把这个形象和消息推送接到了一起,做成了这个开源小工具:一只透明背景的猫,猫头跟着鼠标 360° 转,收到推送就在它右边弹出气泡。
仓库在这里(README 里有全部说明和便携版下载):https://github.com/lwh666666/xiaopixiu-gotify
先把三个词说白:
- 桌宠:桌面上的小宠物程序,单独浮在所有窗口之上,不占任务栏
- 推送(WebSocket):服务器一有新消息就"主动送过来",不用你不停去刷(区别于"每隔几秒问一次")
- Electron:用网页技术(HTML/CSS/JS)写桌面程序的框架——所以同一个项目能打包成 Windows 上双击就用的程序
功能一览(分三块)
① 桌宠部分
- 透明窗口:只有猫,没有窗口边框、没有背景
- 始终置顶:不会被其他窗口盖住
- 360° 鼠标跟随:猫头随鼠标位置平滑旋转(150 帧动画)
- 鼠标穿透:锁定状态下点它等于点它后面的窗口,不挡操作
- 解锁后可拖到屏幕任意位置
- 右键菜单:开机自启动 / 设置 / 退出
- 便携 exe:打包后不需要装 Node.js,双击即用
② 推送部分(接自己的 Gotify)
- WebSocket 实时连接推送服务器
- 消息以气泡卡片显示在猫的右侧,5 秒自动消失
- 优先级配色:紧急红 / 高橙 / 普通绿 / 低蓝
- Markdown 渲染:粗体、图片、链接、列表、引用块都能正常显示
- 收到推送播系统提示音;点气泡弹出完整详情;
- 消息里的链接自动用默认浏览器打开;详情里右键可直接复制文字
③ 通知历史
- 本地持久化存储,重启电脑不丢
- 时间精确到秒
- 删除模式:批量或单条移除;也能一键清空
- 点历史条目弹详情(同样支持 Markdown 与右键复制)
怎么用(三种方式)
# ① 便携版(推荐,什么都不用装)
# 仓库 README 顶部有下载链接,双击运行即可,支持 Windows 10 / 11
# ② 源码运行(开发者)
git clone https://github.com/lwh666666/xiaopixiu-gotify.git
cd xiaopixiu-gotify
npm install
npm start
# ③ 自己打包(产物在 release/ 目录)
npm run build
接上你自己的 Gotify(五步)
| 步骤 | 操作 |
|---|---|
| 1 | 在 Gotify 网页端创建一个客户端,拿到 Client Token |
| 2 | 右键猫咪 → 设置 Gotify |
| 3 | 填服务器地址和 Client Token |
| 4 | 点"连接" |
| 5 | 之后有推送时,气泡就会在猫的右边冒出来 |
技术栈
| 技术 | 用途 |
|---|---|
| Electron 33 | 桌面应用框架(把网页变成桌面程序) |
| ws | WebSocket 客户端,负责实时收推送 |
| marked | 把 Markdown 文本渲染成带格式的内容 |
| electron-builder | 打包成便携版可执行程序 |
它是怎么做出来的(三步)
- 拍猫:用自家猫的照片,抠出主体
- 做形象:用 AI 把抠好的图转成动漫风格,再做成 150 帧的旋转序列——猫头才能跟着鼠标转到任意角度
- 搭程序:用 Codex(AI 编程助手)把桌面窗口、鼠标跟随、WebSocket 推送、历史记录一层层搭起来
为什么会做这个:我一直用 Gotify 收各种通知,但官方客户端装到电脑上,实际体验并不好——提醒不够显眼、样式也单一。索性把它和自己的桌宠打通:消息来了,是"猫告诉你",而不是角落里一个容易被忽略的提示框。
名词小抄(读不懂就翻这里)
| 词 | 一句话解释 |
|---|---|
| 桌宠 | 桌面上的小宠物程序,浮在其他窗口之上 |
| WebSocket | 一条一直开着的双向通道,服务器可主动推消息 |
| Client Token | 客户端令牌:连接你推送服务器的凭据,别外传 |
| Electron | 用网页技术开发桌面程序的框架 |
| IPC | 程序"主进程"与"界面"之间通信的通道 |
| 鼠标穿透 | 点击穿过程序,落到后面的窗口上 |
| 始终置顶 | 窗口永远显示在最上层 |
| 便携版 / exe | 免安装的可执行程序 |
| 持久化 | 数据存到本地文件,重启后还在 |
| Markdown 渲染 | 把带格式标记的文本显示成加粗、列表、链接等 |
效果如实说
- 能用的:猫头跟随顺滑、推送实时、Markdown 消息显示好看、历史可查可删、便携版双击即用、能设开机自启
- 局限:目前只面向 Windows 10 / 11;需要你自己有一个在跑的推送服务器(这个项目是接收端,不替你搭服务);气泡 5 秒自动消失(长内容要点开详情看);Electron 应用打包体积偏大,不算小巧
- 适合谁:本来就用 Gotify 这类推送收通知、又希望提醒别那么"冷冰冰"的人
开源协议
MIT:可以自由使用、修改、分发,保留版权声明即可。
仓库地址(用法、下载链接都在 README):https://github.com/lwh666666/xiaopixiu-gotify
有问题可以提 issue,想加什么功能也欢迎说。
本文由自建 Agent 调度内容流水线自动完成:写稿 → 模型 API 生图 → R2 图床 → 排版 → MCP 落站。
配图由模型 API 生成、托管在对象存储上;内容仅供参考。