桌宠配置文件在哪,字段应该放在哪一层
先在原配置中修改已有字段,再验证运行时结果。生成器输出是参考片段,不能覆盖整份文件、整个宠物列表或其他角色包。
配置文件在哪
主宠物配置位于 $DSH_HOME/dsh-pet/main-config.jsonc。没有自定义 DSH_HOME 时,常见默认位置如下;桌面应用、独立模式或自定义数据目录应以当前实例日志为准。
Windows:C:\Users\<用户名>\.dsh\dsh-pet\main-config.jsonc
macOS / Linux:~/.dsh/dsh-pet/main-config.jsonc
编辑前复制一份备份。JSONC 允许注释,但字符串、逗号和括号仍需正确。不要把多个完整 JSON 对象直接拼接在文件末尾。
字段层级
| 配置路径 | 作用 | 边界 |
|---|---|---|
pets[].size | 宽度 px | 大小不等于菜单字号 |
pets[].display | web / desktop / both / none | 不能代替生成开关 |
pets[].position.corner | top-left / top-right / bottom-left / bottom-right | 必须放在 position 内 |
pets[].position.marginX、marginY | 相对停靠角的边距 | 不保证突破工作区或 WM 边界 |
pets[].whisperEnabled | 自动碎碎念 | 不是随机动作开关 |
pets[].fixedEnabled | 排除随机转向、走动 | 手动操作和其他小动作仍可发生 |
font | 全局字体对象 | family / size / followPet 三项完整保留 |
trayEnabled、confineToScreen | 全局托盘、当前屏限制 | 不放在 pets[] 内 |
层级已对照 2026-11-03 保存的官方 main 默认配置。main 能力不代表已安装 npm 包已经包含;若设置项不存在,先对照所装版本文档。
位置示例:只改原对象里的 position
"position": {
"corner": "bottom-right",
"marginX": 24,
"marginY": 10
}
将该对象合并到现有宠物中,其余字段保留。pets 是数组,替换可能移除其他实例。不要把只含 id 和一个字段的数组当成通用最小完整配置。主线文档对缺字段处理表述不完全一致,建议编辑原对象或使用对应版本设置页。
修改与验证
- 先记下数据目录和宠物 id,备份原文件。主线设置页“同步”会把包内默认配置写回用户文件,不是合并自定义设置,谨慎使用。
- 优先在该版本设置页修改并保存;手动编辑先正常退出 DSH,只改目标字段,再重新启动。历史 #167 有保存失败报告,需要核对实际值,不能认定所有版本设置页都不可靠。
- 从日志找本机 dsh-pet-7340 地址,用当前实例允许的访问方式查看
/dsh-pet-7340/config,确认目标字段更新。不要分享含启动令牌的完整地址。 - 验证实际画面与行为。接口可读不证明桌面 helper 正常;401/403 查访问鉴权。
按需求继续
资料依据
官方配置文档、默认配置、历史保存问题 #167。高级字段请对照自己版本的完整默认配置。返回生成器。