Skip to content
 
 

Repository files navigation

清宵桌宠预览

BongoCat · 清宵桌宠扩展版

一款支持 macOS、Windows 和 Linux(X11)的开源跨平台互动桌宠。

Qingxiao Desktop Pet — a cross-platform virtual pet built with Tauri, Rust and Vue.

在 BongoCat 原有键鼠、手柄响应和模型导入能力之上,增加清宵雪碧图模型、模块化宠物动作、主动/被动触发器、右键交互菜单、对白气泡与本地动作语音。

下载最新版 / Download Latest

MIT License Upstream ayangweb/BongoCat Platforms

Important

本仓库是开源项目 ayangweb/BongoCat 的修改版(fork),不是原项目的官方发行版。感谢原作者及所有上游贡献者提供的跨平台基础实现。

清宵预览

上图是当前内置的清宵工作形态。人物、古琴和背后双层飘带来自同一套透明 canonical;69 套正式动画只在明确的表情、手袖和特效区域内变化,避免人物位置、尺寸、材质和五官逐帧漂移。她会根据键盘输入弹琴,也会在空闲、特定时间、久别归来或用户主动操作时进入宠物形态并播放不同动作。

清宵的常态保持睁眼;眨眼、打盹、梦境和傲娇闭眼只在对应语义动作中短暂出现。工作待机和宠物待机均采用正常节奏的多帧动画,不会快速闪烁。

这个修改版增加了什么

  • 清宵雪碧图模型:包含 69 套正式动画,覆盖工作、进入宠物、待机、退出、弹琴、摸头、打盹、午休、深夜睡眠、战斗化形、心魔化形、问候、剑气凝心、云珠、扫弦、挥手和傲娇等动作;常驻飘带不会再作为独立图层突然出现或消失。
  • 人物状态引擎:播放阶段与人物状态分离;清宵会按空闲时长、本地午休/深夜窗口、动作情绪和形态切换不同循环常态。战斗/心魔形态拥有各自的眨眼、动作和形态过渡雪碧图,临时动作结束后也不会闪回普通人物或旧待机。
  • 可插拔动作模组:模型通过 behaviors.pet.modules 加载独立 module.json;后续角色可以复用同一套运行时,不需要把动作硬编码进页面或菜单。
  • 主动互动:右键菜单按“主动动作 → 动作”展示,设置页也可预览同一动作。主动点击会立即播放目标动作,并能打断尚未结束的进入、当前动作或退出动画,不需要重复点击。
  • 被动互动:右键菜单按“被动动作 → 触发类型 → 动作”展示;系统也会根据空闲时长、时间窗口、会话启动、久别归来、输入活跃度和持续工作时长自动触发。
  • 对白气泡:动作可以携带独立对白;中文优先使用黄凯桦律师手写体,离线时自动回退到系统行楷或楷体,不影响应用运行。
  • 本地动作语音:动作可以直接引用模型内的 Wwise Opus .wem 文件,无需离线转码;“动作音效”设置会同时控制 Sprite 与 Live2D 动作声音,新动作、输入打断和模型切换会停止旧语音。
  • 键盘气泡限频:按下立即反馈,持续按住时按照模型配置的间隔重复冒泡,松开后立即停止,避免系统自动重复导致刷屏。
  • 模型管理与导入:保留并加固 BongoCat 的模型导入、校验、切换和设置链路,失败时不会留下半导入状态。
  • 输入链路加固:处理模型切换时仍按住的键、跨设备同名输入、macOS 监听恢复和新款 Mac Fn 键伴生事件等边界情况。

动作触发方式

类型 触发方式 示例
主动 宠物窗口右键菜单、点击、悬停、抚摸 唤她一声、剑气凝心、陪她小憩、傲娇轻哼
空闲 一段时间没有被追踪的键盘、鼠标或手柄活动 好奇、打盹、梦境、轻声提醒
时间 本地日期、星期、固定时刻或每日时间窗口 早晨问候、午间休息、夜间琴音、节日对白
会话 应用启动或窗口离开后重新可见 启动问候、久别归来
活跃度 短时输入爆发或持续工作达到阈值 被吓一跳、回应连击、提醒休息

所有动作都经过统一的优先级、冷却、打断和生命周期仲裁。主动操作不受被动冷却限制;键盘或手柄输入始终优先于自动宠物动作,不会因为后台触发器抢占正常使用。macOS 输入监听未授权时,被动调度保持关闭,但右键菜单和设置页中的主动动作仍可使用。

快速开始

请先安装 RustNode.jspnpm,并完成 Tauri 2 系统依赖配置。

git clone https://github.com/dream-image/BongoCat.git
cd BongoCat
pnpm install
pnpm tauri dev

构建当前平台安装包:

pnpm tauri build

如果 Tauri 配置中存在 updater 公钥,正式更新包还需要提供对应的 TAURI_SIGNING_PRIVATE_KEY。仅构建本地未签名安装包时,应根据自己的分发方式关闭 updater artifact 签名要求;不要把私钥写进仓库或提交记录。

模型与动作模组

清宵模型入口位于:

src-tauri/assets/models/qingxiao/
├── model.json
├── audio/               # 模型共享动作语音,可直接存放受支持的 WEM
├── resources/cover.png
├── sprites/
└── modules/
    ├── lively/
    ├── routine/
    └── tsundere/

新增模组时应优先使用数据配置:在 modules/<module-id>/module.json 中声明动画、动作和触发器,再由模型的 behaviors.pet.modules 引用。不要在 Vue 页面、TypeScript 菜单或运行时控制器中硬编码某个角色的 action id。

需要持续呈现清醒、困倦、睡眠、情绪或形态时,在 behaviors.pet.stateMachine 声明状态维度、时间/空闲规则和循环 Visual Profile;动作通过可选 stateEffect 更新状态,并可用 stateAnimations 按当前形态选择整套动作资源。没有状态效果的动作会自动回到最新 Profile。

项目附带的 AI Skills

仓库在 .agents/skills/ 中附带了两套面向 Codex 等 AI 工程代理的项目级 Skill。它们会先读取当前代码中的模型契约,再生成可由“设置 → 模型管理 → 导入”加载的完整模型目录。

Skill 适用场景
$build-bongocat-sprite-model 根据角色参考图建立基础 Sprite 模型,制作待机、键鼠和变身动画,并完成常驻附件、表情口型和雪碧图稳定性验收。
$author-bongocat-action-modules 为已有 Sprite 模型设计主动、被动、指针、日程、对白和本地语音动作模组,生成右键菜单配置与完整可导入模型包。

新角色应先使用 $build-bongocat-sprite-model 建立可正常加载的基础模型,再使用 $author-bongocat-action-modules 扩展宠物行为;已有 Sprite 模型可以直接从第二个 Skill 开始。详细的调用示例、产物边界和验证要求见 项目内置 AI Skills 使用指南

维护文档

下载说明

本仓库的安装包发布在 dream-image/BongoCat Releases。Windows x64 使用 .exe 安装包;当前 macOS 包由 Apple Silicon 设备构建,仅适用于 arm64 Mac。

打开未签名的 macOS 版本

当前 macOS 安装包没有 Apple Developer ID 签名和公证,首次打开时 Gatekeeper 可能提示“无法验证开发者”或“BongoCat 已损坏,无法打开”。请只从本仓库 Release 下载,并按以下方式打开:

  1. 打开 .dmg,将 BongoCat.app 拖入“应用程序”。
  2. 在 Finder 的“应用程序”中右键或按住 Control 点击 BongoCat,选择“打开”。
  3. 在再次出现的确认窗口中选择“打开”。如果仍被阻止,前往“系统设置 → 隐私与安全性”,找到 BongoCat 的拦截提示并选择“仍要打开”。

Important

如果系统仍提示“文件损坏,无法打开”,请确认应用来自本仓库 Release,然后打开“终端”执行:

xattr -dr com.apple.quarantine /Applications/BongoCat.app

执行完成后重新打开 BongoCat。请勿对来源不明的应用执行此命令,也不要全局关闭 Gatekeeper。

应用启动后,键盘监听等功能仍需按照 macOS 提示授予对应的系统权限。

如果只需要上游稳定版本,请前往 ayangweb/BongoCat Releases;上游安装包不包含本仓库新增的清宵动作模组。

开源来源与许可证

本项目基于以下开源工作继续开发:

仓库代码继续遵循 MIT License,原版权声明予以保留。清宵角色形象、远程字体及其他第三方素材可能具有各自的著作权或授权条件;MIT 软件许可证不会自动授予这些第三方素材的商标、角色形象或再分发权,请在发布和商用前分别确认。

About

BongoCat 清宵互动桌宠 — 基于 Tauri、Rust 和 Vue 的跨平台 desktop pet,支持 Windows/macOS/Linux、键鼠与手柄响应、主动/被动动作、右键互动、对白气泡和自定义模型。

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages