← Back to home@Femad-6

deepseek-moonpet

MoonPet(月伴):DeepSeek Harness 状态宠物、番茄钟、多语言字幕与可选励志语音。

Stars
1
Language
JavaScript
Created
Oct 5, 2026
Updated
Oct 5, 2026
GitHub repo

Introduction

MoonPet(月伴)

跟着 DeepSeek Harness 一起思考、工作和休息的状态宠物。

MoonPet is a local companion plugin for DeepSeek Harness. It reacts to real session events with character sprites, subtle motion, and short status labels. It makes no model calls and never approves tools for you.

待机思考招手提醒
待机思考招手

功能

  • 回合开始 → 思考立绘;工具执行 → 轻微摆动;等待审批 → 招手提醒。
  • 完成 → 短暂跳动;失败或中断 → 降低饱和度;约六秒后恢复待机。
  • 多个聊天或子代理同时工作时聚合状态,等待审批优先;同时显示任务数量。
  • 拖动定位、立绘缩放、状态宠物开关,尊重系统减少动态效果设置。
  • 番茄钟:默认工作 25/休息 5 分钟,开始、暂停、继续、结束,记录今日与累计工作时间;到期弹出提醒并响铃,可选三种已下载的提醒音。
  • 内置「月伴 · Moon」三张立绘及「鲸蓝 · Whale」八种状态表情;可添加自己的角色包、台词和语音,内置角色不附带语音。
  • 可选余额、token 和花费展示。花费依据内置历史费率估算,可自行覆盖;不替代供应商账单。

状态变化静音。点击角色仍可播放你自己的语音;没有语音时显示余额页。动作是 CSS 呼吸、摆动和跳动,图片是静态立绘。

番茄钟单独提醒,默认不自动开始或自动循环。Windows 提醒音由后端调用隐藏的 PowerShell 音频助手播放,窗口隐藏时仍可响铃;试听约 3 秒、正式提醒最长 20 秒,可随时停止,不改变系统音量。正常退出应用会暂停;异常退出最多丢失最后 30 秒未落盘的计时,不把关闭应用后的时间算作工作。详见 番茄钟。

安装

0.1.2 已公开发布到 npm,包含鲸蓝角色包。npm 官方源与 registry.npmmirror.com 已同步此版本。

需要已安装且支持组合包插件的 DeepSeek Harness Desktop 或 Web。状态宠物不要求 API key;余额功能可使用 Harness 中已有的 DeepSeek 凭据。

插件市场安装

在支持 npm 插件发现的市场中搜索 dsh-moonpet,确认版本为 0.1.2 或更新版本,安装并启用。如果没有搜索到,先重建市场目录;npm 发布、镜像同步和市场搜索索引更新可能存在延迟。

按 npm 包名安装

在 Harness 的 插件 → 添加插件 中输入:

dsh-moonpet@0.1.2

也可以在支持此命令的 Harness CLI 中安装:

dsh plugin --profile desktop add dsh-moonpet@0.1.2

Web 用户使用 --profile web。插件需要通过 Harness 的插件安装入口加载;普通项目中的 npm install 不会自动启用 Harness 插件。

按安装包安装

也可以在插件安装输入框中填写 npm 官方安装包链接:

https://registry.npmjs.org/dsh-moonpet/-/dsh-moonpet-0.1.2.tgz

或者下载该安装包,在插件输入框中填写文件的绝对路径。本地构建安装包为 dist/dsh-moonpet-0.1.2.tgz;GitHub Releases 也是下载入口,请以各 Release 实际提供的版本与文件为准。

以上方式安装并启用后,完全退出再打开 Harness。Windows 需要从系统托盘退出;关闭窗口通常只是隐藏。安装成功后,在宠物右上角的月亮按钮里可以调整位置、缩放和「状态宠物」开关。

可选的中文/英文励志语音

Release 另提供 moonpet-multilingual-voices.zip。解压后,将 english-boost 和 chinese-boost 两个目录复制到 ~/.dsh/dsh-moonpet/packs/,刷新页面,在「字幕与资源 → 语音包」选择。

每个包有 12 句短语和完整中/英/日三语字幕。英文为 Microsoft Zira 美式女声,中文为 Microsoft Huihui 普通话女声,均为本地系统语音合成;不附带日文音频。字幕语言与发音可以独立选择。

这两套系统语音是拼接式的 SAPI 语音,听感偏生硬。想换成自然的声音、或干脆克隆角色本音,用仓库里的生成器以开源模型重录即可(不需要改插件代码):

python scripts/make-voice-pack.py --engine cosyvoice --ref-audio D:\voice\moon-ref.wav --prompt-text "参考音频里说的那句话"

引擎对比、服务端启动方式、许可注意事项见 语音包与开源语音引擎。生成器只放在仓库里,不随安装包发布。

旧版 dsh-gal 与 MoonPet 是两个独立插件;建议使用 MoonPet 时关闭旧插件,避免两个挂件同时出现。新插件不会自动读取或改写旧插件配置。

自定义角色

内置鲸蓝角色

安装 0.1.2 后,在月亮设置按钮 →「字幕与资源」→「立绘包」中选择 鲸蓝 · Whale。原默认角色继续保留,语音包可独立选择。

状态表情与动作
待机 idle微笑抱鲸鱼
思考 thinking思索、手指靠近下巴
工作 working专注、认真
等待审批 waiting期待、举手提醒
完成 done开心、胜利手势
异常 error担忧、难过
中断 stopped平静、放松
离线 offline闭眼休息

八张透明 PNG 使用一致画布,切换时保持布局稳定。表情为静态立绘,继续使用已有的轻微 CSS 动作。

添加自己的角色包

把自己的角色包放入:

~/.dsh/dsh-moonpet/packs/my-character/
├── sprites/         # PNG、WebP、GIF 等立绘
├── voices/          # 可选,你拥有使用权的音频
├── pack.json        # 名称和默认立绘
└── pet.json         # 状态 → 文件名

pet.json 示例:

{
  "sprites": {
    "idle": "idle.png",
    "thinking": "thinking.png",
    "working": "thinking.png",
    "waiting": "wave.png",
    "done": "wave.png",
    "error": "thinking.png",
    "stopped": "idle.png",
    "offline": "idle.png"
  }
}

同名用户包会整体覆盖内置包;希望保留内置角色时,使用不同目录名。缺失的状态图片回退到待机/默认立绘。详见 自定义与状态事件。

隐私与边界

宠物联动只在本机观察 Harness 已加载聊天的事件,不上传聊天,不新增模型调用,不修改审批结果。状态不是“当前页面专属”,而是聚合已加载会话。通用等待输入、任意后台程序状态不在本版本范围内。

配置和本地 usage 账本分别保存在 ~/.dsh/.dsh-moonpet.json 与 ~/.dsh/.dsh-moonpet-usage.json。余额功能会向 DeepSeek API 请求账户余额;配置有 Platform 凭据时,还会查询 Platform usage。详情见 隐私说明。

开发与验证

Node.js ^22.19.0 || >=24.0.0,运行时无第三方依赖、无构建步骤。

npm test
npm run check
New-Item -ItemType Directory dist -Force
npm run pack:release

自动化测试使用模拟会话与凭据,不调用模型或 DeepSeek API。Node 22 与 24 的离线检查由 GitHub Actions 运行。浏览器渲染检查在 Edge 上验证;真实 Harness 完整回合仍需使用者测试。

来源与许可

MoonPet 基于 strawberry0321/dsh-gal 的 MIT 代码开发,保留原作者版权声明。新增状态联动、独立命名空间、默认角色与发布验证。它是社区插件,不是 DeepSeek 或 OpenAI 官方产品。

原仓库的示例角色、语音和 UI 素材未包含在本仓库或安装包内。内置角色图由 AI 工具根据使用者提供的视觉参考生成,UI 与点击音由程序生成。来源与许可记录见 THIRD_PARTY_NOTICES.md。代码采用 MIT;素材的说明见 素材记录。