← 返回列表
未验证
DSH 莫宁额度桌宠:实时显示 OpenCode Go 与自定义额度,支持拖拽吸附、告警、台词、音效和多档仪表。
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/21 · 已提供中文文档
综合分
28.6
GitHub 分
28.6
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add is-limo/dsh-mornye-quota-pet该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
莫宁 · OpenCode Go 额度桌宠
CI
License: MIT
DSH(DeepSeek Harness)Web 界面右下角的莫宁桌宠:实时显示 OpenCode Go
每月、每周和滚动额度,也可接入其他返回 JSON 的额度接口。
当前插件 API 已在 DeepSeek Harness v0.1.0-rc.6 上验证。项目为社区插件,并非 OpenCode 或 DeepSeek 官方产品。
功能
- OpenCode Go 三档额度、已用/剩余百分比和秒级重置倒计时。
- 60 秒自动刷新、点击手动刷新、请求缓存、并发去重和断线数据回退。
- 重置前一小时自动提速到 20 秒刷新,重置后立即更新并播放提示台词。
- 任意数量的自定义额度源,支持百分比、已用量和剩余金额三种映射方式。
- 单档圆环和多档仪表两种布局;可勾选档位、拖拽排序并选择默认档位。
- 拖拽、四边吸附、左侧镜像、位置记忆、尺寸调节和 Q 弹按压动画。
- 分时段随机台词、临近重置提醒、额度告警角标和六套可试听音效。
- 可选本地弹幕观察面板,显示最近四条消息。
- 不依赖第三方运行时包;前端使用原生 JavaScript,音效由 Node.js 生成。
快速预览
直接用浏览器打开 demo.html 即可进入模拟数据模式,不需要 DSH 或 API Key。
也可以在任意已注入桌宠的页面 URL 后添加 ?mock=1,或在加载脚本前设置:
window.MORN_RE_DEMO = true
环境要求
- Node.js 20 或更高版本。
- 可用的 DSH Web profile。
- 查看真实 OpenCode Go 额度时,需要 OPENCODE_GO_API_KEY。
安装
先克隆仓库:
git clone https://github.com/is-limo/dsh-mornye-quota-pet.git
然后把仓库作为标准 DSH bundle 链接到 Web profile:
1. 在 profiles/web/package.json 的 dsh.profile.bundles 中加入 dsh-mornye-quota-pet。
2. 在同一文件的 dependencies 中加入:
"dsh-mornye-quota-pet": "link:"
3. 在 profiles/web 目录运行 pnpm install。
4. 完全重启 DSH Web 服务,然后刷新页面。
如果当前 DSH CLI 支持插件安装,也可以使用:
dsh plugin --profile web add "link:"
源码通过 link: 使用,修改 lib/index.js 或 lib/widget.js 后只需重启 DSH,无需重新安装链接。
凭据
OpenCode Go 密钥按以下优先级解析:
1. DSH 凭据服务中的 OPENCODE_GO_API_KEY。
2. 同名环境变量。
3. 兼容已有 Hermes 环境的 %LOCALAPPDATA%/hermes/.env。
凭据只在请求期间进入进程内存,不会写入项目配置。不要把真实密钥提交到仓库。
官方额度接口:
GET https://opencode.ai/zen/go/v1/usage
Authorization: Bearer
返回值中的 usage.rolling、usage.weekly 和 usage.monthly 会被转换成桌宠的三档额度。
自定义额度源
自定义源保存在 DSH 用户目录的 .dshmp-sources.json(默认即
~/.dsh/.dshmp-sources.json)。可通过环境变量 DSH_MORNYE_SOURCES_FILE
覆盖路径。仓库只提供禁用状态的
config/sources.example.json 作为参考。
[
{
"id": "kimi",
"name": "Kimi 开放平台",
"short": "Kimi",
"url": "https://api.example.com/v1/balance",
"method": "GET",
"headers": {
"Content-Type": "application/json"
},
"auth": {
"type": "bearer",
"ref": "MOONSHOT_API_KEY"
},
"metric": {
"type": "used_percent",
"path": "data.usage_percent",
"reset_path": "data.reset_at"
}
}
]
也可以右键莫宁,在“+ 自定义源”中填写、测试、添加或删除额度源。通过桌宠修改后会立即热重载,无需重启 DSH;手动编辑文件后需要重启。
鉴权方式
| auth.type | 行为 |
|---|---|
| none | 不添加鉴权头 |
| bearer | 从 auth.ref 解析密钥并发送 Authorization: Bearer ... |
| header | 从 auth.ref 解析密钥并发送到 auth.headerName,默认 X-API-Key |
auth.ref 必须是凭据或环境变量的名称,URL 不得内嵌用户名或密码。带凭据的远程源必须使用 HTTPS;HTTP 只允许 localhost、127.0.0.0/8 或 ::1 回环地址。静态 headers 中的 Authorization、Cookie、API Key、Token、Secret 等敏感头会被忽略,避免把密钥写入配置。
度量方式
| metric.type | 必填字段 | 换算方式 |
|---|---|---|
| used_percent | path | 直接读取已用百分比 |
| used_value | path、limit_path | 已用量 ÷ 上限 × 100 |
| remain_money | path、limit_path | (总额 − 剩余)÷ 总额 × 100 |
path、limit_path 和 reset_path 支持点分路径及数组下标,例如 data.items[0].usage。
金额或数量型额度可在 metric.unit 中指定 ¥、$ 等单位。
交互说明
- 点击莫宁:打开气泡并手动刷新额度。
- 点击气泡:切换额度档位,再次点击可查看随机台词并关闭。
- 右键莫宁:打开设置菜单。
- 拖动莫宁:改变位置;靠近屏幕边缘时自动吸附。
- 红色角标:任意非滚动档位已用额度达到 85%。
- 金色角标:任意非滚动档位距重置不足 6 小时。
弹幕观察
开启菜单中的“弹幕观察”后,桌宠每秒读取:
http://127.0.0.1:3081/danmaku.json
弹幕桥接服务不包含在本仓库中。接口需返回递增序号及用户、内容字段,并允许 DSH 页面访问。
项目结构
.
├── .github/workflows/ci.yml # GitHub Actions
├── assets/mornye-pet.png # 透明桌宠图片
├── config/
│ └── sources.example.json # 禁用的配置示例
├── lib/
│ ├── index.js # DSH host 插件、路由、缓存与凭据解析
│ └── widget.js # 页面 UI 与桌宠交互
├── test/smoke.test.mjs # 零依赖冒烟测试
├── cordis.patch.yml # DSH bundle 挂载声明
├── demo.html # 独立模拟预览
└── package.json
Host 路由
| 路由 | 说明 |
|---|---|
| /dsh-mornye-pet/pet.png | 桌宠图片 |
| /dsh-mornye-pet/usage.json | 多源额度和各源错误状态 |
| /dsh-mornye-pet/sources.json | 源列表及添加、删除、测试操作 |
| /dsh-mornye-pet/demo-source.json | 通用字段映射自测数据 |
| /dsh-mornye-pet/config.json | 尺寸、音效、位置、档位和视图配置 |
| /dsh-mornye-pet/sound/*.wav | 六套按压和松手音效 |
| /dsh-mornye-pet/widget.js | 页面客户端脚本 |
| tapIndex | 向 DSH 首页注入桌宠脚本 |
其中 usage.json、sources.json 和 config.json 默认只允许本机回环客户端访问。确需经受信任的反向代理远程使用时,可显式设置 DSH_MORNYE_ALLOW_REMOTE=1,并在代理层启用身份验证和 HTTPS。
状态修改路由只接受同源的 application/json 请求。自定义额度源由 DSH 主机发起请求,请只添加可信 URL;更多说明见 SECURITY.md。
开发与验证
npm run check
npm test
npm pack --dry-run
浏览器调试句柄默认不暴露。如需诊断,请在加载桌宠脚本前显式设置 window.MORN_RE_DEBUG = true;演示模式会自动启用调试句柄。
- npm run check:检查 host 和 widget 的 JavaScript 语法。
- npm test:验证包元数据、图片、路由注册、页面注入和写接口保护。
- npm pack --dry-run:确认发布包包含必要文件。
贡献
欢迎提交 Issue 和 Pull Request。开始前请阅读 CONTRIBUTING.md;安全问题请按 SECURITY.md 私下报告。
许可证
本仓库的代码、文档、assets/mornye-pet.png 以及 demo.html 内嵌的预览图片均按 MIT License 开源。扫码进群