← 返回文章列表

把自家的猫做成桌宠,还让它替我看消息

拍了自家猫的照片,抠图后让 AI 转成动漫形象,用 Codex 搭出 360° 猫头跟随的透明桌宠,再把 Gotify 推送接进来——消息来了,是猫在右边弹气泡。开源地址与用法都在文里。

桌上那只猫,是我家小皮休。

它本来只是一张照片——我拍了自家猫、抠出主体,再让 AI把它画成动漫风格的形象;后来我又把这个形象和消息推送接到了一起,做成了这个开源小工具:一只透明背景的猫,猫头跟着鼠标 360° 转,收到推送就在它右边弹出气泡。

仓库在这里(README 里有全部说明和便携版下载):https://github.com/lwh666666/xiaopixiu-gotify

先把三个词说白:

  • 桌宠:桌面上的小宠物程序,单独浮在所有窗口之上,不占任务栏
  • 推送(WebSocket):服务器一有新消息就"主动送过来",不用你不停去刷(区别于"每隔几秒问一次")
  • Electron:用网页技术(HTML/CSS/JS)写桌面程序的框架——所以同一个项目能打包成 Windows 上双击就用的程序
小皮休桌宠:猫头跟随鼠标并弹出 Gotify 推送气泡
小皮休桌宠的实际效果:猫头跟着鼠标转,收到推送在右侧弹气泡(项目演示动图)

功能一览(分三块)

① 桌宠部分
- 透明窗口:只有猫,没有窗口边框、没有背景
- 始终置顶:不会被其他窗口盖住
- 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 打包成便携版可执行程序

它是怎么做出来的(三步)

  1. 拍猫:用自家猫的照片,抠出主体
  2. 做形象:用 AI 把抠好的图转成动漫风格,再做成 150 帧的旋转序列——猫头才能跟着鼠标转到任意角度
  3. 搭程序:用 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 生成、托管在对象存储上;内容仅供参考。