无极开物Docs
附加功能

宠物

启用 Kaiwu 宠物伴侣,选择内置或兼容 Codex 的宠物,并了解它们在应用各界面中的展示方式。

Kaiwu 宠物是登录应用后可启用的动态伴侣。它们可以常驻在 Web 应用外壳、移动端应用外壳中;在桌面端,还能以独立原生浮窗的形式驻留在主窗口之外。

宠物功能默认由用户自主选择开启。即使服务端启用了该功能,用户也依然保持禁用状态,直到主动在设置 -> 宠物中将其开启。

宠物功能介绍

宠物能以轻量可视化方式呈现会话动态,且不会干扰常规通知或收件箱工作流。

  • 无需关注时,宠物会安静待机。
  • 点击或轻触时,它们会轻巧跳跃回应。
  • 宠物不会持续循环播放动画,而是在待机时偶尔做出一些微动作。
  • 当会话处于运行中、等待操作、失败或待评审等状态时,宠物会切换对应的动画状态。
  • 在桌面端,遇到活跃或需要关注的会话时,宠物头顶会显示紧凑的会话气泡。

宠物绝不会自行审批权限或发送消息。它们仅用于打开对应界面;只有在用户输入并提交内容后,才会发送快捷回复。

启用宠物

打开设置 -> 宠物。

  1. 为当前账号开启启用宠物。
  2. 选择内置宠物,或从已连接的设备导入宠物。
  3. 若需调整宠物大小,可设置伴侣尺寸。
  4. 在桌面端,若想让宠物常驻主窗口之外,可配置桌面浮窗。

该账号级设置默认处于关闭状态。设备级覆盖配置允许单台设备继承、强制启用或强制禁用宠物,而无需更改账号首选项。

宠物仅在已登录的应用界面中渲染,不会出现在登录页、新手引导或其他公共路由页面。

内置宠物

Kaiwu 自带多种内置宠物,无需导入即可直接使用:

  • Blink
  • Fury
  • Milo
  • Oli
  • Titi

内置宠物在设置 -> 宠物中以卡片形式展示,可供点选。选中某只宠物后,当前账号的默认配置即会同步更新,除非该设备设置了仅限本地生效的覆盖项。

伴侣尺寸

伴侣尺寸滑块属于设备本地设置,对该设备上的所有宠物展示界面均生效:

  • Web 应用外壳中的伴侣
  • 移动端应用外壳中的伴侣
  • 桌面端原生浮窗
  • 设置界面中的宠物预览

可调范围为 75% 至 150%。缩放时宠物会保持与 Codex 兼容的精灵图宽高比。

导入兼容 Codex 的宠物

Kaiwu 可以检测已连接设备中与 Codex 兼容的宠物包。

在设置 -> 宠物中使用检测 Codex 宠物即可扫描当前处于活跃状态的守护进程设备。检测流程需要显式触发:在用户发起请求或执行刷新命令前,Kaiwu 不会主动扫描本地 Codex 目录。

检测到的宠物支持以下操作:

  • 直接使用检测目录中的 Codex 宠物;
  • 作为托管的本地宠物导入 Kaiwu;
  • 在启用宠物同步时,导入至账号库中;
  • 后续从设备列表中移除。

除非显式导入至账号库,否则本地宠物仅保存在当前设备中。

宠物包格式

宠物包是一个包含如下结构的目录:

<pet-id>/
  pet.json
  spritesheet.webp

系统也支持 spritesheet.png。清单必须使用这两个确切文件名之一。

pet.json 的格式如下:

{
  "id": "milo",
  "displayName": "Milo",
  "description": "A compact tabby companion.",
  "spritesheetPath": "spritesheet.webp"
}

V1 精灵图与 Codex 兼容:

属性取值
尺寸1536x1872
网格8 列 9 行
单帧尺寸192x208
支持格式image/webp、image/png

各行对应的状态如下:

行号状态
0idle
1running-right
2running-left
3waving
4jumping
5failed
6waiting
7running
8review

在导入或同步自定义宠物之前,Kaiwu 会校验清单、媒体类型、尺寸规格、包体大小以及路径安全性。

桌面端浮窗

在基于 Tauri 的桌面构建版本中,宠物可以显示在独立的原生浮窗中。

桌面端浮窗具备以下特性:

  • 保持在主应用窗口之外;
  • 当浮窗接管伴侣展示时,避免在应用内重复渲染宠物;
  • 出现会话气泡时自动展开,气泡隐藏后恢复为仅显示宠物形象;
  • 拖拽宠物形象即可移动浮窗;
  • 托盘按钮、回复输入框等控件区域设为不可拖拽区域;
  • 可在设置 -> 宠物中重置回右下角默认位置。

桌面端浮窗设置包含:

  • 账号默认开启/关闭状态;
  • 单设备维度的继承 / 强制启用 / 强制禁用覆盖项;
  • 可见性模式;
  • 重置位置。

可见性模式说明:

模式行为
启用时始终显示只要启用了宠物及浮窗功能,就始终显示宠物。
需关注或活跃时会话处于活跃、运行中或需要关注时显示。
仅需关注时仅在会话等待操作、失败或待评审时显示。

单击宠物形象可将 Kaiwu 主窗口置顶前台。右键单击宠物形象则会弹出快捷菜单,方便将其收起。

会话气泡

当桌面浮窗有动态需要呈现时,宠物头顶会弹出紧凑气泡。气泡会显示会话标题与最新的相关消息,便于用户快速辨认会话。

气泡状态优先级如下:

  1. 等待操作
  2. 失败
  3. 待评审
  4. 运行中
  5. 待机

气泡支持在主应用中打开会话、直接关闭,或展开快捷回复输入框。只有在用户提交后,快捷回复才会发送给目标会话。

移动端伴侣

在移动端,开启宠物功能后,伴侣将在应用外壳中渲染。

移动端伴侣具备以下特性:

  • 自动适配安全区域、键盘占位以及应用的前后台切换状态;
  • 支持原生拖拽手势随意移动;
  • 将位置保存为归一化屏幕坐标,自适应不同屏幕尺寸变化;
  • 采用最近邻渲染,呈现清晰锐利的像素画风;
  • 在平台支持的情况下,点击时提供轻微触觉反馈。

系统启用“减弱动态效果”偏好设置时,将暂停动画播放以作适配。

同步与隐私

宠物伴侣展示与宠物账号同步属于两个独立的服务端功能特性。

  • pets.companion 控制宠物伴侣功能整体是否可用。
  • pets.sync 控制账号宠物库的同步。

服务端默认允许 pets.companion,以便用户查看该设置项,但账号级宠物设置默认处于关闭状态。除非服务端显式启用,否则 pets.sync 默认关闭。

同步功能被禁用时,内置宠物与受管本地宠物仍可在其所在设备上正常使用。导入到账号库以及同步账号选中的宠物,则依赖于 pets.sync。

同步设置与宠物记录仅存储脱敏引用、元数据、摘要及大小信息。设置中绝不会保存原始 data: URI、本地文件系统路径、客户端提供的私有对象键或精灵图原始字节。

服务端管理

自托管和托管部署均可通过服务端特性标识禁用宠物功能。

KAIWU_FEATURE_PETS_COMPANION__ENABLED=0
KAIWU_FEATURE_PETS_SYNC__ENABLED=0

当服务端禁用 pets.companion 时:

  • 客户端会隐藏或禁用宠物伴侣展示界面;
  • 设置 -> 宠物中将显示禁用提示,而非宠物库;
  • 守护进程的宠物 RPC 将统一返回功能已禁用的响应;
  • 自定义宠物的导入、发现、预览及移除操作均被拦截。

当仅禁用 pets.sync 时:

  • 本地及内置宠物仍可正常工作;
  • 账号库导入与同步账号宠物选择功能将不可用。

故障排查

宠物未显示

请按以下顺序排查:

  1. 已登录并位于应用外壳内。
  2. 所选服务端允许 pets.companion。
  3. 已开启设置 -> 宠物 -> 启用宠物。
  4. 当前设备未将宠物设置强制覆盖为禁用。
  5. 在桌面端,浮窗已启用,或应用外壳宠物获准渲染。

未检测到 Codex 宠物

请确保处于活跃状态的守护进程设备在线,然后再次点击检测 Codex 宠物。检测会扫描当前活跃设备,且可能存在简短的发现缓存,因此新建的包可能需要在数秒后再次刷新。

宠物包目录内必须包含有效的 pet.json,以及名为 spritesheet.webp 或 spritesheet.png 的确切文件。

导入的本地宠物在其他设备上不可见

本地导入的宠物按设计仅保存在单台设备上。若服务端启用了 pets.sync 且您希望在多设备间通用,请将宠物导入账号库中。

相关页面

© 乾元执中(南京)科技有限公司 · WUJI-Labs

On this page