LingPal 是一个桌面宠物应用。它不会试图变成另一个占满屏幕的效率工具,而是把一个小小的陪伴角色放在桌面上:会眨眼、会被拖动、会根据心情向你发出互动,也会在天气、闹钟、待办、喝水提醒和随机事件出现时给出自然反馈。
默认宠物是 Mochi。它住在一个透明的常驻桌面窗口里,设置、调试、天气、经验和事件都拆成附属窗口或轻量面板,尽量保持主宠窗口小、反应快、打扰少。
- 活的桌宠,而不是静态贴纸:Mochi 支持 idle、hover、左右拖动、8 种心情、8 种互动结果、升级特效和事件动作。
- 轻量、不喧宾夺主:主宠窗口保持小尺寸,天气和经验条只在需要时出现,设置和调试面板独立打开。
- 本地优先:设置、宠物进度、位置和导入的宠物包都保存在本机,不依赖账号或服务器。
- 有成长反馈:每个 pet 拥有独立等级和经验;每日首次打开、互动成功、事件完成都可以获得 EXP。
- 天气和事件更像陪伴:支持中国城市天气展示;随机宝箱和怪物事件会触发对应的开箱或攻击动作。
- 提醒融入宠物互动:闹钟、待办、喝水提醒会以气泡或素材方式出现,点击后关闭或计数。
- 可以孵化自己的宠物:仓库内的
hatch-lingpal-petskill 可以根据描述或参考图生成新的 LingPal pet pack。
- 内置默认宠物 Mochi。
- 支持 idle blink、hover jump、drag run left/right。
- 支持 hungry、sleepy、bored、working_code、sad、singing、bathing、walking 等心情状态。
- 每个心情可以配套自己的互动素材,例如食物、玩具、毛巾、铃铛、地图、咖啡等。
- 动画使用低 FPS、关键帧停顿和随机间隔,让动作更像桌宠自然反应。
- 每个 pet 的等级和经验独立保存。
- 每日首次打开默认加 EXP。
- 成功互动、完成宝箱/怪物事件时会增加经验。
- 获得经验时显示小型等级条和
+N EXP浮层,随后自动隐藏。
- 支持中国城市天气配置。
- 鼠标移到 pet 上时显示天气条。
- 随机事件分为宝箱和怪物两类。
- 事件素材为所有 pet 通用,内置 4 组随机池:
- 经典宝箱 / 经典怪物
- 奇幻宝箱 / 史莱姆
- 像素宝箱 / 像素恶龙
- 科技宝箱 / 机械怪兽
- 拖动 pet 到事件目标上会触发对应动作:
attack_left、attack_right、open_chest_left、open_chest_right。
- 设置面板中可以配置闹钟。
- 闹钟响起时显示闹钟互动素材,可选震动;不点击就不会关闭。
- 支持自定义待办提醒,提醒内容会显示在与互动一致的气泡中。
- 支持喝水提醒间隔和每日目标;点击后计数,达到目标后当天不再继续提醒。
LingPal 支持导入 desktop-pet-pack-v1 格式的宠物包。当前标准要求 pet pack 提供完整动作和素材,让导入后的 pet 可以直接参与同一套天气、互动、经验和事件系统。
仓库内置的 hatch-lingpal-pet skill 用来做个性化定制:你可以输入宠物描述、性格设定、视觉风格,或给出参考图,它会按 LingPal 的格式生成可直接导入的宠物文件夹和 ZIP。生成流程会覆盖基础动作、心情动作、互动素材、升级特效和事件动作,因此新宠物不是一张换皮图片,而是能完整接入 LingPal 当前玩法的桌宠。
一个合格的自定义 pet pack 会包含:
idle_blink、hover_jump、drag_run_left、drag_run_right等基础状态。- hungry、sleepy、bored、working_code、sad、singing、bathing、walking 等心情状态。
- 每个心情对应的互动素材池。
effects.level_up升级特效。- 面向怪物和宝箱事件的四个方向动作。
事件动作标准:
| 状态 | 用途 |
|---|---|
attack_left |
怪物在左侧时的攻击动作 |
attack_right |
怪物在右侧时的攻击动作 |
open_chest_left |
宝箱在左侧时的开箱动作 |
open_chest_right |
宝箱在右侧时的开箱动作 |
hatch-lingpal-pet 生成流程会按这个标准输出可导入 LingPal 的 pet pack。
npm install
npm run devnpm run build构建产物会由 Tauri 输出到 src-tauri/target/release/bundle/。如果要分发给其他用户,建议使用 Apple Developer ID 签名并完成 notarization,避免 Gatekeeper 拦截。
npm run dev # 启动 Tauri 开发模式
npm run build # 构建桌面应用
npm run lint # TypeScript 类型检查
npm test # 运行前端单元测试
npm run rust:test # 运行 Rust 侧测试- Tauri 2 + Rust:桌面窗口、文件系统、原生能力和打包。
- TypeScript + Vite:前端状态、设置面板、调试面板和业务逻辑。
- PixiJS:桌宠渲染、spritesheet 动画、互动素材和特效。
- 本地文件存储:设置、宠物档案和进度以本机数据为核心。
- Asset pack 设计:内置 pet 和导入 pet 使用同一套
desktop-pet-pack-v1约定。
LingPal 目前处在 MVP 到早期产品化之间:核心桌宠、Mochi 默认 pet、天气、事件、经验、闹钟、待办、喝水提醒、自定义 pet pack 导入流程已经具备。后续重点会继续放在轻量化、跨平台准备、更多内置 pet 和更完整的宠物生成工具链上。
LingPal is licensed under the PolyForm Noncommercial License 1.0.0. Noncommercial use, study, modification, and sharing are allowed under the license terms. Commercial use is not allowed without separate permission from the licensor.


