AnkioTomas/qqpet

★ 341⑂ 64

QQ宠物单机复刻版(AI)

About AnkioTomas/qqpet

AnkioTomas/qqpet is an open-source project on GitHub, mainly written in TypeScript. QQ宠物单机复刻版(AI) It currently holds 341 stars and 64 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Today's Trending board.

GitHub Repository Details

Repository AnkioTomas/qqpet · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

QQPet

QQ 宠物跨平台复刻(Windows / macOS / Linux / Android / HarmonyOS),基于 Arctic Penguin T800 逆向重建。Flash 内容由 Ruffle 播放。

版权声明:QQ 宠物的美术资源与 SWF 版权归腾讯所有;旅行照片素材版权归《旅行青蛙·中国之旅》所有。本项目仅供学习交流,请勿用于商业用途。

截图

https://github.com/AnkioTomas/qqpet/blob/HEAD/桌面宠物与右键菜单
桌面宠物与右键菜单
https://github.com/AnkioTomas/qqpet/blob/HEAD/商城与背包
商城与背包
https://github.com/AnkioTomas/qqpet/blob/HEAD/宠物资料
宠物资料
https://github.com/AnkioTomas/qqpet/blob/HEAD/图鉴与签到
图鉴与签到
https://github.com/AnkioTomas/qqpet/blob/HEAD/今日任务
今日任务
https://github.com/AnkioTomas/qqpet/blob/HEAD/全国旅游
全国旅游
https://github.com/AnkioTomas/qqpet/blob/HEAD/系统设置
系统设置

功能

存档位于 userData/save.json,导入时旧存档备份为 save.json.bak。

桌面版支持将宠物拖到其他显示器(包括主屏左侧或上方、不同缩放比例的屏幕),重启后回到上次所在的显示器;该显示器断开时回到主屏幕。

Android

宠物以悬浮窗形式显示在桌面和其他应用上方,功能与桌面版一致,另有以下适配:

HarmonyOS

纯血鸿蒙(HarmonyOS NEXT / 5 及以上,在 7 模拟器上验证过)不能装 Android APK。宠物同样以悬浮窗显示,JS 桥和 Android 是同一份 QQPetNative 契约,原生壳在 harmony/,渲染层不改。

本地打包:npm run harmony,需要本机 DevEco Studio(harmony/hvigorw 默认使用 /Applications/DevEco-Studio.app,可用 DEVECO_SDK_HOME / NODE_HOME / JAVA_HOME 覆盖)。产物在 harmony/entry/build/default/outputs/default/。

GitHub Actions 打 v* 标签时产出未签名 HAP 并放进 Release。和桌面包一样没有商店签名;用 hdc 装到模拟器或已开启调试的真机。上架或普通真机日常安装要在 DevEco 里配签名,目前仓库没有这份材料。

下载安装

从 Releases 下载对应平台的安装包:

| 平台 | 文件 | |---|---| | Windows | QQPet.Setup.<版本>.exe | | macOS(Apple 芯片) | QQPet-<版本>-arm64.dmg | | macOS(Intel) | QQPet-<版本>.dmg | | Linux | QQPet-<版本>.AppImage 或 qqpet_<版本>_amd64.deb | | Android(11 及以上) | QQPet-<版本>.apk | | HarmonyOS(5 及以上) | QQPet-<版本>.hap |

安装包没有代码签名,系统会拦截首次运行:

  xattr -cr /Applications/QQPet.app
  

也可以先打开一次,再到「系统设置 → 隐私与安全性」底部点「仍要打开」。

征集素材

社区里能找到的 QQ 宠物原版资料很少,大量游戏画面和素材已经缺失,复刻时只能靠猜。如果你手上有下面这些东西,欢迎提供:

提交方式:在 Issues 发帖说明你有什么,文件较大可附网盘链接。提交的素材版权仍归腾讯所有,只用于本项目的学习复刻。

开发

git lfs install && git lfs pull   # resources/pet 由 Git LFS 管理
npm ci
npm run dev

构建

npm run dist      # 类型检查 + 构建 + 打包当前平台安装包到 dist/
npm run android   # Android debug APK
npm run harmony   # HarmonyOS debug HAP(需要本机 DevEco Studio)

推送 v* 标签时由 GitHub Actions 打出三平台安装包、Android APK 和 Harmony HAP 并发布 Release。其他推送不触发构建。

Android 版本地调试用 npm run android(debug 包,输出到 android/app/build/outputs/apk/debug/),需要 Android SDK 和 JDK 17(Gradle 8 不支持更新的 JDK,可用 JAVA_HOME 指定)。CI 打的 release 包需要在仓库 Secrets 中配置签名密钥:

| Secret | 内容 | |---|---| | ANDROID_KEYSTORE_BASE64 | keystore 文件的 base64(base64 -i release.jks) | | ANDROID_KEYSTORE_PASSWORD | keystore 密码 | | ANDROID_KEY_ALIAS | 密钥别名 | | ANDROID_KEY_PASSWORD | 密钥密码 |

每次发布都必须用同一个 keystore,否则已安装的用户无法覆盖升级。

改过的 SWF

以下文件用 JPEXS FFDec 打过补丁,重新导入资源时不要覆盖:

| 文件 | 改动 | |---|---| | resources/pet/mstx/qq_mstx.swf | 隐藏需要联网的「兑换礼包」「魔法爱情石」按钮 | | resources/pet/qqfarm/Farm.swf | 允许在 file:// 之外启动;「金币」改为「元宝」;商店可买的种子排前、其余置灰,购买后弹出提示;商店、仓库的弹出动画改为缩放比例,不再被异步加载的图片压窄;不绘制房屋、篱笆、狗窝 | | resources/pet/qqfarm/props.swf | 素材中的「金币」文字改为「元宝」 | | resources/pet/smallGame/{100ceng,ball,paopao2}/ 下读屏幕尺寸的 26 个 SWF | Capabilities.screenResolutionX/Y 改为 ExternalInterface.call("API.GetScreenWidth/Height")(Ruffle 返回的是播放器自身尺寸) |

目录

| 路径 | 说明 | |---|---| | src/main | 主进程:窗口、托盘、app:// 协议、存档、AI 与天气请求 | | src/preload | window.qqpet 接口 | | src/renderer | 界面(原生 TypeScript),pet/ 为养成逻辑,ui/ 为各窗口,swf/ 为 Ruffle 封装 | | src/shared | 主进程与渲染层共享的 IPC 与存档类型 | | src/android | Android 版的 window.qqpet 实现,经 WebView 接口调用原生层 | | android/ | Android 原生工程:悬浮窗服务、游戏页、文件选择、文字分享入口、开机自启 | | src/harmony | HarmonyOS 版的 window.qqpet 实现,经 ArkWeb 接口调用原生层 | | harmony/ | HarmonyOS 原生工程:浮动窗、游戏页、存档选择、分享入口 | | resources/pet | 原版资源,npm run import-assets -- 可重新导入 | | tools/ | 反混淆脚本、原版 CSS 移植脚本、CDP 调试脚本 |

许可证

本项目代码以 GPL-3.0 发布。该许可证不覆盖 resources/pet 下的原版美术资源、SWF 与旅行照片,它们的版权归各自所有者,见文首版权声明。

友情链接

本项目认可 LINUX DO 社区。

GitHub Stars & Activity

341Stars
64Forks
0Open issues
TypeScriptLanguage

GitHub Popularity

GitHub stars341
Forks64
Open issues0
Primary languageTypeScript
License-
Stars gained today0
Created-
Last pushed-

Trending History

Weekly boardrank #94 · ▲ 0 stars

Related AI Projects

1

morluto / rea

TypeScript★ 201,703⑂ 49,253▲ 54,706 stars
→
2

heygen-com / hyperframes

TypeScript★ 62,586⑂ 5,610▲ 831 stars
→
3

Crosstalk-Solutions / project-nomad

TypeScript★ 39,878⑂ 4,007▲ 179 stars
→
4

tashfeenahmed / freellmapi

TypeScript★ 34,596⑂ 4,719▲ 786 stars
→
5

vercel-labs / skills

TypeScript★ 34,361⑂ 2,944▲ 187 stars
→
6

rohitg00 / agentmemory

TypeScript★ 29,387⑂ 2,588▲ 49 stars
→
7

mksglu / context-mode

TypeScript★ 28,065⑂ 1,987▲ 978 stars
→
8

krillinai / OpenCreator

TypeScript★ 12,897⑂ 1,371▲ 134 stars
→

More AI Rankings