前言¶
DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。插件开发者常需要在开发过程中实时监控 DeepSeek 的计费时段(高峰/低谷)以及当前 Agent 的运行状态。DeepSeek Pet 是一款由 kuixiu 维护的趣味插件,它在界面右下角常驻一个 Q 版电子宠物,并集成实时的价格提示与 Agent 状态监听。
功能¶
该插件主要包含以下功能:
- 右下角常驻浮层:注册在
shell.overlay,使用position: fixed落在右下角,且为整帧浮层(click-through),不遮挡主界面交互。 - Q 版小动物与动画:使用内联 SVG 绘制小猫,通过纯 CSS 实现呼吸浮动、尾巴摇摆、耳朵抖动、定时眨眼以及被摸头时冒爱心等动画效果。
- 高峰与低谷提示:徽章实时显示当前处于高峰期还是低谷期。低谷期圆点会呼吸闪烁,并显示距下次切换的倒计时。
- 多时区对照:面板同时展示北京时间(UTC+8)、本地时间和 UTC 时间,并给出下次切换的具体时刻。
- 节假日与换季:内置 2026 年中国法定节假日表。周末与法定节假日全天按低谷期计算;节假日表过期时可手动勾选“今天是节假日”强制按低谷期显示。
- 养成数值:拥有饱食度、心情、精力三个数值,随真实时间衰减(最多累计 48 小时)。喂食、摸头、玩耍、睡觉会改变数值并提升羁绊计数。数值存储在
localStorage中。 - 跟随 Agent 状态:读取当前会话的实时状态(
running、pendingInteraction、completionUnread),据此改变小猫的表情和气泡:正在工作(专注表情+闪烁)、等待操作(担心表情)、本轮完成(开心+冒爱心,持续 4 秒)。 - 交互与记忆:支持按住拖动位置,位置会自动保存到
localStorage;面板里可一键复位到右下角。双击宠物可隐藏为 🐾 按钮,随时点击恢复。 - 中英双语:通过
ctx.locale注册字典,跟随 Harness 的语言设置。
高峰与低谷规则¶
插件依据 DeepSeek 官方文档(Models & Pricing)判断时段:
- 高峰时段:北京时间周一至周五(不含中国法定节假日)的 09:00 - 12:00、14:00 - 18:00。
- 低谷时段:其余全部时间,包括周末及中国法定节假日全天。
- 实现细节:代码在
Asia/Shanghai时区进行判断,避免使用 UTC 判断周几导致的日期不一致问题。2025 年的旧规则(夜间错峰)已失效。
安装与启用¶
从 npm 安装:
dsh plugin --profile desktop add @kuixiu/dsh-pet
或在 Harness 中通过 Agent 调用:
plugin_manager action=install_bundle target=@kuixiu/dsh-pet
注意事项:
1. 首次生效:安装后需要刷新一次页面才能看到效果。
2. Client Bundle:client bundle 由 client-modules 在首次请求时构建并缓存到 /plugins/<id>/client.js,因此刷新后若未生效,请重启一次宿主进程。
本地开发¶
克隆仓库并验证:
git clone git@github.com:kuixiu/dsh-pet.git
cd dsh-pet
node verify-all.mjs
本地挂载调试:
dsh plugin --profile desktop add "$PWD"
开发注意:
* 本插件是纯手写 JavaScript,没有构建步骤。client.js 即为浏览器执行的 factory 格式。
* 提交前务必运行 npm run verify(等同于 node verify-all.mjs)。
注意事项¶
- 包名一致性:
package.json的name、cordis.patch.yml的 loader 行name、client.js里的模块 id 必须完全一致。三处不一致会导致浏览器端 bundle 找不到模块。 - npm Scope 语义:
@scope是 npm 的组织/发布域,不是个人用户名。发布 scoped 包必须显式使用--access public参数。 - 持久化修复:早期版本存在存档解析错误导致
undefined或NaN显示的问题。当前版本已通过sanitizePet和finiteOr函数修复,能自动修复旧存档并防止数值异常。
结语¶
DeepSeek Pet 提供了一个可视化的成本监控与 Agent 状态反馈工具。对于需要在 DSH 中长期使用 DeepSeek API 的开发者来说,能够直观看到价格波动和当前会话状态,有助于优化使用策略。