# 只属于你

以后日常只需要用这两个文件：

- 启动：双击 `启动只属于你.vbs`
- 停止：双击 `停止只属于你.vbs`

这两个入口都不会一直挂着黑色命令窗口。

## 现在能做什么

- 默认使用完整姿势人物：开心、挥手、睡觉和说话都有独立动作素材。
- 逐帧动作还包括点头、摇头、歪头观察、认真听、害羞、伸懒腰和走两步；每组至少 16 张 PNG，循环时正反播放。
- 动作切换不会同时叠加两张人物图，避免出现双影。
- 单张站立图网格模式仍保留为实验回退，但不再作为日常默认。
- 左键点她：会随机说一句。
- 左键拖动：可以挪位置，松手后会记住位置。
- 双击她或右键选择 AI 对话：打开连续聊天窗口。
- 聊天窗口支持单条复制、重新回答、停止生成、删除当前消息、复制全部和新建对话。
- 右键她：还可以摸摸头、切换模式、打开控制面板或退出。
- 配好 DeepSeek 后，她会参考你给的聊天记录语气来生成新回复，不是只复读原句。
- 本地记忆默认开启，会区分临时近况和长期记忆，并保留时间、重要程度和被替换的旧内容。
- 活着感 1.0：她会根据状态自动换表情。输入时看你，等待 AI 时思考，回复时说话；你说累/难受会偏关心，你说开心/想你会偏开心。

## 表情图片

当前完整动作素材保存在：

`bibi\poses\`

日常默认使用 `--renderer bibi`；`puppet` 只用于测试单张站立图的小幅变形。

推荐命名：

- `idle.png`：平时站着
- `look.png`：看着你
- `happy.png`：开心
- `talk.png` 或 `talk_1.png`：说话
- `drag.png`：被拖动时
- `wave.png`：打招呼
- `walk.png`：走动
- `blink_seq*.png`：稳定小眨眼
- `breathe*.png`：轻呼吸
- `sleep*.png`：睡觉

动作素材按用途维护：点头、摇头、歪头、认真听、害羞、伸懒腰和走路有自己的帧序列；看鼠标、探头和普通注视继续共用稳定站姿。

新增逐帧素材可以用下面的工具重建；默认只生成新增动作，不覆盖原有开心、挥手和睡觉素材：

```powershell
python tools\build_bibi_motion_frames.py
```

`bibi\key_poses\` 保存高分辨率关键姿势源图，`bibi\poses\` 保存桌宠实际播放的逐帧素材。认真听、害羞和伸懒腰现在使用独立关键姿势，不再复用歪头、开心或挥手图片。

`bibi\source_poses\` 保存旧姿势原图。运行 `python tools\build_bibi_motion_frames.py --all` 会按统一长腿比例重建日常姿势和逐帧动作；腰线与脚底使用固定坐标，不会因抬手或歪头改变腿长。

没有这些图片时，程序会自动退回当前这张 bibi 主图。

## 记忆

记忆文件是 `pet_memory.json`。  
如果不想要记忆，可以右键桌宠点 `清除记忆`，或者删除这个文件。

相关设置在 `pet_config.ini`：

- `MEMORY_ENABLED=true`
- `MEMORY_PATH=pet_memory.json`
- `MEMORY_RECENT_TURNS=16`

控制面板的“查看记忆”可以逐条编辑、删除，也可以把选中的内容设为长期记忆。

## Live2D 准备

模型目录已经预留在 `bibi\live2d`。没有完整模型或运行时的时候，程序会自动继续使用现有 PNG，不影响启动。

模型制作要求和验收标准见 `docs\live2d\素材制作与接入说明.md`。收到完整模型后可运行：

```powershell
python tools\check_live2d_model.py
```

## 聊天记录

你之前导入的聊天记录已经写进 `pet_config.ini`。  
如果以后换新的聊天记录，可以运行 `import_wechat_chat.bat` 重新导入。

## 如果还有黑线

现在程序已经避免了窗口边框和整图旋转带来的黑边。  
如果仍然看到角色外圈有深色线，那就是图片本身画稿的描边，不是程序窗口边框。要彻底去掉，需要重新做一套真正透明、无描边的角色 PNG，或者做 Live2D 分层模型。

## 项目目录

- `官网`：网站源码和部署工具。
- `发布包`：Windows、Mac、Windows 独立版及官网发布文件。
- `.tmp`：动作预览和独立版构建缓存，可随时删除。

主程序、官网和发布文件现在都维护在这个 `桌宠` 文件夹内。
