# desktop-cat **Repository Path**: wutong2005/desktop-cat ## Basic Information - **Project Name**: desktop-cat - **Description**: Windows 桌面宠物(像素小猫):单进程、无依赖、无联网、MIT 开源 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-09 - **Last Updated**: 2026-10-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Desktop Cat / 桌面小猫 **简体中文** | [English](README.en.md) ![桌面小猫 · 真机录屏](docs/demo.gif) 一只住在 Windows 桌面上的像素猫。她会自己发呆、伸懒腰、跳舞、撒欢, 偶尔提醒你该休息了。你摸她,她会理你,好感度会慢慢涨。 她记得自己待在哪、你摸过她多少次 —— 关掉再开,她还在原来的地方。 **程序作者:daijun** · **MIT 开源** · **Windows 10 / 11** · **免安装 · 无联网** ### ⬇ [下载 DesktopCat-1.1.zip](https://github.com/wt0812/desktop-cat/releases/latest) > 国内下载(Gitee 发行版,通常更快):https://gitee.com/wutong2005/desktop-cat/releases/latest > 解压到任意一个你有写权限的文件夹,双击 `DesktopCat.exe` 就能用。 > 首次运行 Windows 会提示一次 SmartScreen(因为没买代码签名证书), > 点「**更多信息**」→「**仍要运行**」即可 —— 详见[第五节的说明](#五关于那个安全提示请读一下)。 ![程序自己渲染的主图](docs/hero.png)
上面这张主图和下面的四条状态,都是程序自己的渲染代码画出来的,不是画的示意图
![发呆 / 伸懒腰 / 跳舞 / 撒欢](docs/states.png) ![真机截图](docs/screenshot.png) --- ## 一、怎么运行 1. 把**整个文件夹**解压到一个**你有写权限的目录**里,例如「文档」或桌面。 > ⚠ 不要放进 `C:\Program Files\`。那里只读,她会记不住自己的位置和好感度。 2. 双击 **`DesktopCat.exe`**。 3. 第一次运行,Windows 会弹出一个蓝色的「**Windows 已保护你的电脑**」。 这是所有**没有买代码签名证书**的小工具的统一待遇,**不是**杀毒报警。 点 **更多信息** → **仍要运行** 即可。 想让它以后不再问:右键 `DesktopCat.exe` → **属性** → 最下面勾选 **解除锁定** → 确定。然后重新运行一次。 --- ## 二、怎么玩 她出现在屏幕上之后: | 操作 | 结果 | | --- | --- | | **按住拖动** | 把她搬到别的地方,她会高兴一下 | | **双击她** | 回到屏幕中央,并冒一个 `~♪` | | **在屏幕上点一下** | 她有时会朝那个方向走过来 | | **鼠标摸她的头 / 身体** | 好感度上涨;连着摸会触发欢呼;摸尾巴会掉 | | **滚轮滚一下** | 好感度 ±10,并显示当前等级 | | **右键点她** | 打开菜单(见下) | | **托盘图标双击** | 相当于摸她一下 | | **托盘图标右键** | 打开同一份菜单 | | **Esc** | 退出,并保存位置和好感度 | **找不到她了?** 右键托盘图标 → `Quit`,再重新启动一次。 ### 菜单(右键点她,或右键托盘图标) | 菜单项 | 作用 | | --- | --- | | `摸摸头` | 摸她一下,涨好感度 | | `陪我玩` | 陪玩动画(最活跃的一个) | | `跳舞` | 跳舞 | | `伸懒腰` | 伸懒腰 | | `撒欢` | 撒欢:四肢张开的转体扑腾(原来的「睡觉」这一格) | | `Center on screen` | 把她挪回屏幕中央 | | `Stats & credits` | 好感度、互动次数、素材署名 | | `Preview all animations` | 把 12 个动画依次放一遍 | | **`Quiet mode / 安静模式`** | 勾上后**一声不吭**:不弹气泡、不主动换动画,连休息提醒都不提。摸头、拖拽、菜单照常 | | **`Lock position / 锁定位置`** | 勾上后**拖不动**,防止手滑把她拖走。摸头摸身照常 | | `Reset affection` | 好感度清零 | | `Quit` | 退出 | 两个开关都会被记住,下次开机还是你上次选的状态。 --- ## 三、好感度等级 好感度封顶 400,一共 **6 级**(下表由程序自己报出,不是文档里手写的): | 等级 | 需要的互动值 | 名字 | | --- | --- | --- | | 1 | 0 | **陌生** | | 2 | 20 | **熟悉** | | 3 | 50 | **朋友** | | 4 | 100 | **好朋友** | | 5 | 200 | **挚友** | | 6 | 400 | **心之友** | 摸头 +1(摸头顶 +2),滚轮 ±10。当前等级会显示在她脚下的那条细进度条上方。 --- ## 四、你的数据在哪 全部放在程序目录下的 `.petdata\`: | 文件 | 内容 | | --- | --- | | `config.json` | 位置、好感度、互动次数、安静模式与锁定位置 | | `pet.log` | 运行日志(万一出问题,看这个) | | `last-launch.txt` | 上一次启动的记录(启动器用来判断有没有起来) | 删掉整个 `.petdata\` 就等于恢复出厂设置。 **这个程序没有任何联网代码**:不联网、不上传、没有遥测、不写注册表、不需要管理员权限。 --- ## 五、关于那个安全提示,请读一下 程序里装了**一个只读取鼠标位置的全局钩子**,用来判断你摸的是她的头还是身体。 它**不记录、不保存、不发送**任何东西 —— 但这也是某些杀毒软件会对它敏感的原因。 因为**没有买代码签名证书**,Windows 会在第一次运行时提示一次。这不是病毒警报。 --- ## 六、系统要求 | 项 | 要求 | | --- | --- | | 系统 | **Windows 10 / 11** | | 运行库 | **不需要额外安装** —— 用系统自带的 PowerShell 5.1 与 .NET Framework 即可 | | 联网 | **完全不需要**(断网也能跑) | | 管理员权限 | **不需要** | | 写权限 | **需要** —— 她要往程序目录下的 `.petdata\` 写自己的记忆 | --- ## 七、常见问题 **Q:下载或双击时 Windows 报「不常见的应用」,是不是有毒?** 不是。原因就是**没买代码签名证书**,所有未签名软件都这样。Release 页里有 zip 的 SHA256 可以校验;完全不想跑 exe 的话,也可以直接用 PowerShell 运行源码 `pet.ps1`。 **Q:它联网吗?会不会上传东西?** 不联网。源码里搜不到 `HttpClient`、`WebClient`、`WebRequest`、`Socket` 中任何一个。 你可以把网断掉再启动,它照样活。 **Q:那个鼠标钩子是在监视我吗?** 它只判断一件事:**左键按下了**(用来实现摸头)。不记录坐标、不保存、不发送, 判断完立刻把事件还给系统;**右键完全没有挂钩**。 **Q:怎么彻底卸载?** 删掉整个程序文件夹就行 —— 数据全在里面的 `.petdata\`。不写注册表、不碰 `%APPDATA%`、 不装服务、不留开机项。 **Q:怎么让它开机自动启动?** 目前**软件里还没有这个开关**(在计划里)。临时办法:`Win+R` 输入 `shell:startup`, 把 `DesktopCat.exe` 的快捷方式丢进去。 **Q:我想改它 / 二次开发。** 欢迎。源码就是根目录那个 `pet.ps1`(单文件、纯 PowerShell + 内嵌 C#), 改完用 `tools\build-exe.ps1` 重新打包。细节见 [DEVELOPMENT.md](DEVELOPMENT.md)。 **Q:有 Mac / Linux 版吗?** 没有,也不会很快有 —— 现在是纯 Windows 实现(WinForms + Win32 鼠标钩子 + 透明窗口), 换平台基本等于重写。 **Q:发现问题怎么办?** 直接在本仓库开一个 [Issue](https://github.com/wt0812/desktop-cat/issues), 把 `pet.log` 最后几十行贴上来,基本一眼能定位。 --- ## 八、许可 **程序代码**:**MIT 许可证**,全文见随包的 [LICENSE](LICENSE)。 你可以自由使用、修改、再分发,**甚至可以商用** —— 唯一的义务是保留版权声明。 **角色美术素材**不适用 MIT,它是 **[CC-BY 3.0](https://creativecommons.org/licenses/by/3.0/)**: 角色像素画来自 **[Cat Fighter Sprite Sheet](https://opengameart.org/content/cat-fighter-sprite-sheet)**, 作者 **dogchicken**。 按 CC-BY 3.0 的要求,**再分发时请保留随包的 [CREDITS.txt](CREDITS.txt)** —— 里面有完整署名,以及 12 个动画各自的用途说明。 --- ## 九、更多文档 | 文件 | 里面有什么 | | --- | --- | | [DEVELOPMENT.md](DEVELOPMENT.md) | 架构、目录结构、构建与打包流程、怎么调她的行为 | | [RELEASE-NOTES-v1.0.md](RELEASE-NOTES-v1.0.md) | 这个版本改了什么、两个 sha256 校验值 | | [CHANGELOG.md](CHANGELOG.md) | 逐条功能迭代(Keep a Changelog 格式) | | [RELEASE-NOTES-v1.1.md](RELEASE-NOTES-v1.1.md) | v1.1 改了什么、两个 sha256 校验值、实测系统占用 | | [DECISIONS.md](DECISIONS.md) | **36 条技术决策记录**:为什么用 WinForms 不用 Electron、为什么透明窗口要设 `TransparencyKey`、为什么鼠标钩子不挂右键……踩过的坑都在里面 | | [CREDITS.txt](CREDITS.txt) | 美术素材的完整署名(CC-BY 3.0 要求) | | [tools/](tools) | 开发用脚本:打包 exe、离屏截状态图、部署、探测等 |