jiay98528-dev/dsh-model-sync

Writes live provider model lists into DSH settings. Composer rings show 5h/7d plan windows or metered balance for the current session model. / 把线上模型列表写进设置,输入框圆环显示当前会话的 5 小时/7 天窗口或按量剩余余额。

Bundle 已验证 MIT JavaScript 未知
Bundle 已验证

已收录

1

Model

Bundle 已验证

版本未知
语言JavaScript
许可证MIT
在 GitHub 查看

预览

第 1 个预览,共 2 个:jiay98528-dev/dsh-model-sync
第 2 个预览,共 2 个:jiay98528-dev/dsh-model-sync

功能介绍

把各提供方线上模型列表写进 DSH 设置,输入框圆环显示当前会话模型的 5 小时/7 天窗口或按量剩余余额。

适合

  • 希望把各提供方新增模型 ID 写入 DSH 设置的多提供方用户。
  • 需要监控受支持提供方 5 小时和 7 天套餐窗口的用户。
  • 希望在当前会话模型旁查看相对充值基线剩余余额的 DeepSeek 按量用户。

不适合

  • 主要需要用量展示但提供方没有公开额度接口的场景,例如 Xiaomi。
  • 要求所有模型列表都实时来自 `/models` 接口的用户;MiniMax、Kimi Coding 和 OpenAI Codex 使用已知目录 ID。
  • 输入框 DOM 与 DSH 0.1.0-rc.6 不同的版本,因为圆环位置绑定了该版本的类名。
  • 未在 DSH 中保存提供方凭据的工作流,因为额度查询会复用这些凭据。

README

dsh-model-sync logo

dsh-model-sync

English · 中文

npm dsh-plugin Awesome DSH Plugin MIT

Writes each provider’s live model list into DeepSeek Harness settings. The composer ring follows the model this session is using. Plan routes read 5h and 7d windows, metered routes read the balance left since the last top-up. With windows and a top-up pack together, the icon draws the windows and keeps the pack in the hover card.

dsh-model-sync banner

It takes two settings pages, one for fetching model ids per provider and one for per-model usage. Model Sync (sync-arrow icon) writes new model ids from each provider into settings. Usage lists plan windows, cumulative counts, and API balance. Resets show as countdowns such as 2d 3h left. The 5h and 7d windows each get their own row. UI text follows the DSH language setting, English or Chinese.

Screenshots

  中文 English
Model Sync Settings ZH Settings EN
Usage Usage ZH Usage EN
Composer Composer ZH Composer EN

A model with both limits draws two rings, inner 5h, outer 7d. Progress bar colors follow the remaining quota.

Install

On npm.

dsh plugin --profile web add dsh-model-sync

The GitHub source also ships prebuilt lib/, no allowBuilds.

dsh plugin --profile web add github:jiay98528-dev/dsh-model-sync

Restart dsh web, refresh the page, open Settings → Model Sync. The plugin is listed in the awesome-dsh-plugin market list.

The package ships a cordis.patch.yml bundle patch (dsh.bundle) and declares dsh.client.immediately: true, so it takes effect on install with no manual config.

Usage

Model Sync
  1. Settings → Model Sync.
  2. Refresh if the list is empty.
  3. Each card lists the provider id, baseURL, and model chips. A blue outline marks ids not in settings yet. Apply N new models writes them to llm-pi-ai.providers.<id>.models.
  4. The collapsed Enable plugins block toggles this plugin and the optional sub-model-access, writing the disabled flag in cordis.patch.yml. Takes effect live.

MiniMax, Kimi Coding, and OpenAI Codex have no OpenAI /models endpoint. The plugin uses the known catalog ids.

Usage
  1. Settings → Usage.
  2. Each provider lists its 5-hour and 7-day windows, one row each, with remaining percent, vendor cumulative counts, a reset countdown, and a colored bar.
  3. Metered rows show current / baseline. The first sample becomes the baseline. To count spend from before the plugin was enabled, click Use current balance as baseline. The balance row also records when the baseline was set.
  4. The page auto-refreshes every 60 seconds. Refresh pulls immediately.
Composer rings
  1. Pick a model as usual.
  2. The ring is right of the model name and left of the context meter. It follows the session model and switches with it.
  3. Hover the ring for a detail card titled provider / model for this session. Each window gets a row with remaining percent and reset countdown, for example 5 hours left 100% · 2h 15m left.
  4. Other providers stay on the Usage page.

Quota sources

Provider Icon Source
openai-codex 5h / 7d chatgpt.com/backend-api/wham/usage
kimi-coding 5h / 7d, top-up pack in the hover card api.kimi.com/coding/v1/usages
zai 5h / 7d api.z.ai/api/monitor/usage/quota/limit
minimax-cn 5h / 7d api.minimaxi.com/v1/api/openplatform/coding_plan/remains
xai 7d grok.com gRPC-web, ported from CC Switch
deepseek-official balance vs last top-up api.deepseek.com/user/balance
xiaomi no data no public plan API

The DeepSeek metered baseline lives in $DSH_HOME/profiles/<profile>/model-sync.baseline.json. A reading above the stored baseline counts as a top-up and resets the baseline.

Config

- id: model-sync
  name: dsh-model-sync
  config:
    profile: web
    pollMs: 60000
Field Default Meaning
profile web Which $DSH_HOME/profiles/<name> to read and write
pollMs 60000 Poll interval parameter, minimum 5000. Pages currently refresh quota every 60 seconds

Notes

  • Host code lives under node_modules. After changing and rebuilding this package, restart dsh web. Client-only edits need a page refresh.
  • Quota calls use credentials already stored in DSH. The plugin keeps no keys of its own.
  • Ring placement is bound to DSH 0.1.0-rc.6 composer class names.
  • Changelog is CHANGELOG.md.

License

MIT

常见问题常见问题

在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:jiay98528-dev/dsh-model-sync。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。