dsh-subscription-sim:在 DSH Web 界面里模拟 Claude / ChatGPT 订阅额度

前言

DeepSeek Harness(DSH)把模型调用、插件和 Web 界面收在同一套进程里。若你想在本地体验「订阅制」下的用量压力——额度条、耗尽报错、重置卡——而不是只看真实 API 账单,需要自己加一层模拟逻辑。下面介绍社区插件 dsh-subscription-sim(维护者 wjlfish,目录分类为趣味换装):它在 DSH 内嵌 Web GUI 里假装 Claude 与 ChatGPT 两套档位,额度用尽时会真实拦截模型请求;所有数字均为本机娱乐设定,不改变 DeepSeek 真实计费。

这是什么

dsh-subscription-sim 是面向 DSH 浏览器版(web profile)与 Desktop 桌面版的 bundle 插件(纯 JS,Host 端零依赖)。简介可概括为:Claude/ChatGPT-style subscription quota simulator for the DeepSeek Harness Web UI。

它分别模拟 Anthropic Claude 与 OpenAI ChatGPT 的订阅档位,各自独立;用量按 tokens 计入 5 小时与 7 天两个滚动窗口(可只开其中一个)。额度耗尽后,下一次模型请求会被短路为真实失败(SUBSCRIPTION_QUOTA,HTTP 429 语义),而不是只在 UI 上写一句提示。用户可在界面自助领取「重置卡」立刻清空被卡住的窗口。

npm 包版本 1.0.1,许可证 MIT。插件不联网,状态保存在本机 $DSH_HOME/plugin-data/dsh-subscription-sim/state.json。

核心功能

两套订阅档位(模拟额度)

Claude(5 小时 + 每周额度,表格为 README 中的模拟值):

档位 价格 5 小时窗口 7 天窗口
Free $0 150,000 1,000,000
Pro $20/月 2,000,000 20,000,000
Max 5× $100/月 8,000,000 80,000,000
Max 20×(默认) $200/月 30,000,000 300,000,000

ChatGPT(按 tokens 模拟滚动窗口消息额度):

档位 价格 5 小时窗口 7 天窗口
Free $0 100,000 800,000
Go $8/月 500,000 4,000,000
Plus $20/月 2,500,000 20,000,000
Pro $200/月 30,000,000 250,000,000
Pro Max $500/月 60,000,000 500,000,000

README 说明:2026 年 OpenAI 个人订阅为 Free / Go / Plus / Pro / Pro Max 五档;两家的真实限额机制在本插件中被统一近似为 tokens 滚动窗口。

界面与设置分离

主页面只展示状态:侧边栏底部「订阅」入口、输入框下方额度条、右侧订阅面板(档位、用量、自动释放倒计时、重置卡、最近事件),以及耗尽时的全屏横幅。主面板不含设置项。

全部配置在 设置 → 订阅额度,包括:订阅方案(Claude / ChatGPT 档位切换)、额度窗口开关、拦截与后台调用是否计数、自定义 5 小时 / 7 天上限、危险区域(重置全部模拟数据)、状态文件路径与最近保存信息。

额度耗尽与重置卡

  1. 下一次模型请求被拦截,会话中出现真实报错行。
  2. 全屏横幅显示哪个窗口耗尽、已用/上限、自动释放倒计时、剩余重置卡数量。
  3. 可点横幅「使用重置卡」、等待滚动窗口释放,或在设置页切换更宽档位。

重置卡由用户自助领取:主面板「领取重置卡」,默认 10 秒冷却、最多持有 9 张、初始 2 张,均可通过配置修改。模型侧仅提供只读工具 subscription_status,不能代领或代用卡。

Host 侧行为(摘要)

Host 在 llm/stream waterfall 上于每次模型调用前检查滚动用量;流中的 usage chunk 累计进按分钟分桶的账本。TUI / headless 等无 Web GUI 的运行方式不可用。

安装与启用

要求 DSH 浏览器版或 Desktop;README 记载在 0.2.1-rc.2 上实测通过。安装或更新后需刷新 Web 页面;若设置页提示版本不匹配,重启一次 dsh。装完后到 设置 → 插件 中选中启用 bundle。

方式 A:从 npm 安装(推荐)

在 DSH 会话中(plugin_manager 工具,需 Full access):

plugin_manager action=install_bundle target="dsh-subscription-sim"

或命令行(profile 按运行方式选择):

dsh plugin --profile web add dsh-subscription-sim       # 浏览器版
dsh plugin --profile desktop add dsh-subscription-sim   # Desktop

固定版本示例:dsh-subscription-sim@1.0.1。

方式 B:从 GitHub 安装

plugin_manager action=install_bundle target="github:wjlfish/dsh-subscription-sim"

或:

dsh plugin --profile web add github:wjlfish/dsh-subscription-sim

(同样需要启用 bundle。)

分享安装说明时,README 也提到方式 C 为克隆仓库后按本地目录安装,面向开发;正文安装以 npm 与 GitHub bundle 为准即可。

典型用法

  1. 安装并启用 bundle,刷新 Web 页面。
  2. 打开 设置 → 订阅额度,选择 Claude 或 ChatGPT 档位,按需开启 5 小时 / 7 天窗口及「额度耗尽时拦截」。
  3. 正常使用 DSH 对话;观察 composer 下方额度条与右侧订阅面板。
  4. 额度用尽后按横幅提示使用重置卡,或等待窗口滚动释放。

可选:在 $DSH_HOME/profiles/web/cordis.patch.yml 中覆盖行 id subscription-sim 的默认配置,例如默认厂商、档位、是否只统计不拦截:

- id: subscription-sim
  name: 'dsh-subscription-sim'
  config:
    vendor: claude            # claude | openai(仅首次安装/无状态时生效)
    plan: max20x
    windows:
      h5: true
      d7: true
    enforce: true             # false = 只统计不拦截
    countAuxiliary: true      # 压缩 / 会话标题等是否计数
    cards:
      initialHeld: 2
      maxHeld: 9
      claimCooldownSeconds: 10
      claimBatch: 1
    stateFile: ''

开发维护者可运行:

node --test 'test/*.test.mjs'     # Node >= 22

适用场景与注意

适合谁:想在 DSH Web 界面里体验订阅制 UX、测试额度拦截与恢复链路、或演示「两家档位分开」的开发者;属于目录上的趣味换装类插件,不是真实计费替代。

务必知晓:

  • 插件以当前 dsh 进程权限运行;安装前应阅读 GitHub 仓库 源码与 MIT 许可证。
  • 额度为模拟值,不映射真实 DeepSeek / OpenAI / Anthropic 价格;当前进程内模型调用(含子 Agent、工作流等,可按配置排除后台调用)共用同一份账户额度。
  • 浏览器版与 Desktop 共用 $DSH_HOME,状态文件为同一份;插件不联网、不上传数据。
  • DSH 社区插件目录站点 skillhub.cn 与 DeepSeek / 幻方无官方从属关系,安装来源以 npm 或 GitHub 为准。

结尾

经过上面的步骤,你可以在本地 DSH 里分别扮演 Claude 或 ChatGPT 订阅用户:有额度条、有真实 429 式失败、有重置卡,且不影响 DeepSeek 真实扣费。详情与验收说明见仓库 README、CONTRACT.md 与 VERIFICATION.md。

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

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

Xiaoye