dsh-plugin-minimax-usage:在 DSH 侧边栏实时查看 MiniMax Coding Plan 配额

前言

用 DeepSeek Harness(DSH)搭配 MiniMax Coding Plan 时,想知道配额还剩多少,得切到 MiniMax 平台后台去看:5 小时窗口什么时候重置、本周用量走到哪了,都不在眼前的界面里。写代码时来回切换,很打断。

DSH 的理念是「一切皆插件」,客户端 UI 也不例外。下面介绍的 dsh-plugin-minimax-usage 是一个客户端插件:它把 5 小时配额、每周配额的进度条和重置倒计时直接渲染在 DSH web 界面的侧边栏里,每 60 秒自动刷新。

这是什么

dsh-plugin-minimax-usage 由 ovensi 维护,MIT 协议,npm 包名为 @dsh-external/minimax-usage,当前版本 0.1.0,要求 Node.js >= 18.0.0。

它解决一个问题:不离开 DSH web 界面,直接看到 MiniMax Coding Plan 的配额使用情况。

实现分两端:

  • Host 端(lib/index.js)注册 /api/minimax/quota 接口,读取 MINIMAX_API_KEY 并调用 MiniMax REST API,结果带 60 秒服务端缓存;
  • Client 端(lib/client.js)把配额面板渲染在 sidebar.footer.action 槽位,位于 Settings 按钮上方,通过 fetch('/api/minimax/quota') 取数。

核心功能

已实现的能力:

  • 5-Hour Quota Bar:实时显示当前 5 小时周期剩余配额进度条;
  • Weekly Quota Bar:每周配额使用量一览;
  • Reset Countdown:显示各窗口重置倒计时,如「重置于 2h 17m」;
  • Collapsible Panel:点击箭头可折叠/展开,折叠态显示紧凑摘要;
  • Auto Refresh:通过服务端缓存每 60 秒自动刷新;
  • Sidebar Integration:渲染在 sidebar.footer.action 槽位,位于 Settings 按钮上方;
  • Lightweight:纯 React.createElement 实现,无 CSS 框架、无外部图片。

README 中的面板效果示意(数字为示例):

┌──────────────────────────────┐
│  ▼ MINIMAX                   │
│  5 小时   42 / 100 (42%)     │
│  ████████████░░░░░░░░░░░░░░  │
│  重置于 2h 17m                │
│  本周     78 / 100 (78%)     │
│  ████████████████████████░░  │
│  重置于 3d 12h               │
└──────────────────────────────┘
       ↕ click to toggle
┌──────────────────────────────┐
│  ▶ MINIMAX  5h: 42% · 周: 78%│
└──────────────────────────────┘

安装与启用

先安装包,再注册插件,最后配置 API key。

1、进入 web profile 目录安装。推荐本地路径安装(Quick Install),不依赖 npm registry:

cd ~/.dsh/profiles/web
npm link /path/to/this/plugin

或:

cd ~/.dsh/profiles/web
pnpm add /path/to/this/plugin

npm 包名为 @dsh-external/minimax-usage。README 中的 registry 安装方式(pnpm add @dsh-external/minimax-usage)标注为 (when published),使用前请先确认包已实际发布;本地路径安装没有这个前置条件。

2、在 ~/.dsh/profiles/web/cordis.patch.yml 末尾追加注册项:

- insert:
    - id: minimax-usage
      name: '@dsh-external/minimax-usage'

3、在 shell 密钥文件(如 ~/.zshrc.secret)中导出 API key。key 来自 MiniMax Open Platform(https://www.minimaxi.com/):

export MINIMAX_API_KEY="your-minimax-api-key-here"

插件在请求时通过 source~/.zshrc.secret 读取该变量。

4、重启 DSH web 服务器,然后强制刷新浏览器(Cmd+Shift+R / Ctrl+Shift+R):

dsh web

经过上面的步骤,侧边栏底部、Settings 按钮上方会出现 MINIMAX 配额面板。

重置倒计时的实现细节

这里有一个值得留意的坑:MiniMax API 返回的 remains_time / weekly_remains_time 字段不可靠,5 小时窗口可能返回约 96 天。插件没有使用这两个字段,而是改用 end_time - Date.now() 推导重置倒计时。

另外几个与数据相关的行为:

  • end_timestart_timeweekly_end_timeweekly_start_time 按 Unix 毫秒时间戳处理,尽管字段名没有体现这一点;
  • 配额百分比由 API 以 0–100 整数返回;
  • MINIMAX_API_KEY 未设置,插件会在侧边栏显示错误信息,而不是崩溃。

刷新频率为每 60 秒一次(服务端缓存),面板数字不会逐秒变化,属预期行为。

适用场景与注意

适合两类场景:

  • 把 MiniMax Coding Plan 作为 DSH 的常用模型来源,需要在长会话中随时掌握 5 小时窗口和每周配额;
  • 不想频繁切到平台后台查用量,希望在侧边栏一眼看到进度条和重置时间。

使用前注意:

  • 插件以当前 dsh 进程的权限运行,host 端会持有你的 MINIMAX_API_KEY 并向外调用 MiniMax REST API。安装前建议先阅读源码确认数据流向,并核对许可证(本项目为 MIT);
  • 重置倒计时基于 end_time 推算,依赖 MiniMax API 返回的时间戳字段,若上游字段行为变化,以插件仓库的后续更新为准。

结尾

这个插件做的事不复杂:把配额查询从「切后台」变成「扫一眼侧边栏」。对 MiniMax Coding Plan 用户来说,是一个小而实用的补充。

  • 插件目录页:https://www.skillhub.cn/plugins/ovensi/dsh-plugin-minimax-usage
  • GitHub 仓库:https://github.com/ovensi/dsh-plugin-minimax-usage

需要说明的是,skillhub.cn 是社区维护的插件目录,为独立站点,与 DeepSeek、幻方没有官方从属关系。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜