跳到主内容

dsh-pet 使用指南

为 dsh web GUI 提供注册表驱动的桌面宠物伴侣,模型会话活动驱动动画切换、摸摸喂食攒亲密度,可投放自定义宠物与文案。

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

dsh-web-ui

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add @linxin666/dsh-pet

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

关键要点

  • Web 终端:xterm.js 远程终端,实时输出,窗口大小自适应;
  • 文件传输:SFTP 上传 / 下载,有进度条,能浏览远程目录;
  • 端口转发:本地隧道直连远程内网服务(数据库、API、管理后台),只监听 127.0.0.1;
  • 集群执行:一条命令并发跑多台主机,按别名 / 环境 / 标签过滤;
  • Agent 直连:Agent 和面板共用同一份主机配置,对话里说一句「连一下 xxx 看看状态」,智能体就去执行远程命令。

— 源: plugin_wiki.readme_zh (fallback readme_raw)

常见问题

这个插件能做什么?

在 DSH Web GUI 右下角挂一只浮在屏幕上的小宠物;它在模型等待、思考、调用工具、整理回复、完成、失败时切换不同动画,你可以摸它的头(10 秒冷却,+1 好感)、喂它小鱼干(30 秒冷却,+5 好感、-1 库存),并看着好感度从「幼鲸」一路升到「鲸生共渡」。内置两只鲸鱼娘(原版与精致版),也支持把你自己的宠物目录放到本地后直接出现。packages/dsh-pet/README.zh.md:5-29 / packages/dsh-pet/src/index.ts:115-139。

怎么换成自己的宠物?

不需要改任何代码。按 README 给的 pet.json 模板写一份新宠物描述(含图集路径),把它连同图集文件一起放到 $DSH_HOME/pets/<你的宠物名>/ 下,再重启 dsh web,新宠物就会出现在设置页的「宠物」选项里;同 id 的内置宠物会被你这份覆盖。也支持 v2 manifest 的 Live2D 渲染器(要自己提供 Cubism Core)。packages/dsh-pet/src/registry.ts:794-832 / packages/dsh-pet/README.zh.md:63-89。

数据存在哪里?删除插件会丢吗?

选择、命名、好感度、小鱼干、拖动位置都存在 $DSH_HOME/pet.json(默认 ~/.dsh/pet.json),删插件不删这个文件,重新安装后能直接接上;自定义宠物目录 $DSH_HOME/pets/ 完全独立,自行管理。packages/dsh-pet/src/persist.ts:77-79、108-167 / packages/dsh-pet/src/dsh-home.ts:24-31。

Live2D 宠物为什么打开是空白的?

因为 Live2D 的 Cubism Core 是专有许可,插件不能内置也不能替你下载,需要你自己从 Live2D 官方拿到 live2dcubismcore.min.js 放进 $DSH_HOME/pets/.runtime/;缺这个文件时位置会显示一张安装指引卡,sprite2d 宠物不受影响。packages/dsh-pet/README.zh.md:125-134 / packages/dsh-pet/src/routes.ts:328-345。

我能从旧版 Codex 桌面应用迁移过来吗?

可以。hatch-pet 流水线产出的宠物本来就在 ${CODEX_HOME:-~/.codex}/pets/ 下,本插件会自动扫这个目录并接住,不需要额外接线;旧的「平铺 name」字段会自动迁移到鲸鱼娘名下(persist.ts:144-148)。packages/dsh-pet/src/registry.ts:814-820 / packages/dsh-pet/src/persist.ts:142-148。

宠物能换自己的台词和按钮文字吗?

可以,这是 voice pack 机制。在宠物目录里放一份 voice.json(或在 $DSH_HOME/pets/.voice.json 写一份全局覆盖),就可以替换状态气泡、工具提示、碎碎念文案,以及悬浮面板上「投喂 / 改名 / 隐藏」的按钮文字和统计格式;合并优先级是 宠物自带 > 全局 > 内置,坏包只警告不拒载。packages/dsh-pet/README.zh.md:91-123 / packages/dsh-pet/src/voice-pack.ts:1-79。

多会话并行时宠物会乱吗?

不会。精灵动画跟着最近一次有意义的活动事件走,每个顶层会话各自用一个气泡汇报状态(最多同时 12 个气泡,多出来的收进 +N 角标),子代理会话借由它所属的发起会话体现、不会单独堆一列气泡;任何会话完成的轮次都独立计入亲密度和小鱼干。packages/dsh-pet/README.zh.md:251 / packages/dsh-pet/src/service.ts:439-458。

安全吗?局域网邻居能看到我的宠物图片吗?

默认只看得到本机回环。/api/pet/* 和 /pet/<id>/* 都用 loopback 围栏(127.0.0.1、socket 地址、Host 头、sec-fetch-site),局域网其他机器一律 403;同时装了 dsh-remote-web-ui 时,已配对设备的 cookie 可作为额外放行路径。Live2D 模型走「引用闭包」白名单,不在闭包里的文件不提供服务;symlink 越界直接拒绝(403)、超过 20 MB 的图像给 413。packages/dsh-pet/README.zh.md:289-295 / packages/dsh-pet/src/routes.ts:42-49、72-82、141-147。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: 未声明(package.json 无 dsh.engines;通过 devDependencies 依赖 @deepseek-ai/dsh-client-* / dsh-host-webserver / dsh-session / dsh-settings 等 ^0.1.0-rc.8,详见 packages/dsh-pet/package.json:67-76;宿主 CLI 当前已知为 dsh 0.1.0-rc.7/rc.8)
  • Node: ^22.19.0 || >=24.0.0(packages/dsh-pet/package.json:7-9)

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则