dsh-peak-indicator:在 DSH Web 中显示 DeepSeek 峰谷计价并压缩长会话

前言

DSH 插件生态强调「一切皆插件」。对于长期使用 DSH Web 跑长会话的人,两个问题比较具体:一是 DeepSeek 模型在高峰和闲时计价不同,会话头部缺少直观标记;二是上下文越长,后续请求反复读取旧对话的输入费用越高。

dsh-peak-indicator 针对 DSH Web 提供两个能力:在会话头部显示当前峰谷时段和本会话费用,并在上下文达到阈值时配置 DSH 内置 compaction-basic,把较早对话折叠为摘要,保留最近内容。

下面介绍它的定位、功能、安装方式、典型配置和注意事项。

插件定位

dsh-peak-indicator 是一个 DSH 客户端插件,面向 web Profile。资料中的一句话定位是:DeepSeek API 高峰/闲时(峰谷)计价标记 for DSH Web: 会话头部显示当前处于高峰还是闲时(半价)时段。

仓库地址为 https://github.com/future007s/dsh-peak-indicator,目录页为 https://www.skillhub.cn/plugins/future007s/dsh-peak-indicator。许可证为 MIT。资料未单独声明维护者;目录页和仓库路径中的账号为 future007s

核心功能

峰谷徽标与会话费用

在当前会话使用 DeepSeek flash/pro 模型时,会话头部会显示高峰/闲时徽标,并显示当前会话实际消耗费用,保留两位小数。使用其他模型时,徽标自动隐藏。

徽标常驻显示距离下一次峰谷切换的倒计时,并每 30 秒自动刷新。鼠标悬停可查看当前模型在当前时段的 token 单价明细,包括输入、输出和缓存命中。

每轮聊天末尾还会显示本轮实际 token 消耗金额。

资料称价格表来自 DeepSeek 官方价格页。DeepSeek 调价后,请更新 lib/client.js 中的 MODEL_PRICES

自动压缩长会话

自动压缩默认开启。当会话上下文达到 100,000 tokens 时,插件会配置 DSH 内置 compaction-basic,将较早对话折叠为摘要,并保留最近约 15,000 tokens。

自动压缩不限 DeepSeek 模型。只要当前 DSH profile 提供 compaction-basic,DeepSeek、OpenAI、Claude、Gemini 等长会话都可受益。

插件会对内置价格表已知模型或 config.prices 中自定义模型记录每一步估算节省。未知模型仍会被压缩,但金额估算不可靠。

压缩节省的是后续请求的上下文输入费用,不是整次请求的总费用。输出 tokens、保留的最近上下文和新生成的摘要仍会计费。

安装与启用

插件要求 Node.js >=22.13.0,DSH >=0.1.0-rc.7,Profile 为 web

建议先使用临时 Profile 做隔离验证。资料给出的命令包含占位符,需要替换为实际临时 profile 和版本号:

dsh plugin --profile <temporary-profile> add dsh-peak-indicator@<version>
dsh --profile <temporary-profile> --dump-config
dsh --profile <temporary-profile> --port 0
dsh plugin --profile <temporary-profile> remove dsh-peak-indicator

如需正式启用 web Profile,资料给出的做法是把插件包放入 ~/.dsh/profiles/web/node_modules/dsh-peak-indicator/(以及 dsh 安装目录的 node_modules/),然后在 ~/.dsh/profiles/web/cordis.patch.yml 中增加:

- insert:
    - id: peak-indicator
      name: 'dsh-peak-indicator'

刷新浏览器后,即可在会话头部查看徽标。

兼容性

  • Node.js:>=22.13.0
  • DSH:>=0.1.0-rc.7
  • 已验证兼容:rc.7rc.80.1.1-rc.10.1.1-rc.2
  • Profile:web

资料中的 package.json 片段被截断,peerDependencies 列表不完整;实际接入时,请以仓库完整文件和 DSH 运行时输出为准。

典型用法

自动压缩档位

建议从平衡档开始:

  • 保守:150,000 tokens
  • 平衡:100,000 tokens(默认、推荐)
  • 节省:60,000 tokens

在 DSH 设置中打开「插件 → 成本与上下文」,可实时调整开关、触发预算、保留 tokens 和参考窗口。

如果需要在 profile 中固定自动压缩参数,可在 patch 条目的 config.autoCompact 中设置 enabledcontextBudgetretainTokensreferenceWindow。默认推荐值中,contextBudget 为 100,000 tokens,retainTokens 约 15,000 tokens。

调整峰谷计价相关参数

浏览器端徽标计算使用内置时段。host 配置主要用于程序化调用 ctx.peakIndicator.current()

如需调整,可在 patch 条目的 config 中传:

  • peakWindows
  • beijingOffsetMinutes
  • offPeakDiscount
  • policyEffectiveDate
  • weekendOffPeakEffectiveDate

适用场景与注意

适合在 DSH Web 中频繁使用 DeepSeek flash/pro 长会话,并希望查看峰谷时段、本会话费用和本轮费用的场景。也适合在 profile 中统一启用自动压缩,减少后续请求反复重读旧上下文的输入费用。

注意:

  • 插件以当前 dsh 进程权限运行。安装前应检查源码、依赖与许可证。
  • 自动压缩会用摘要代替早期原文。涉及精确历史细节的任务,应提高 contextBudget 或增大 retainTokens
  • 徽标仅在当前会话使用 DeepSeek flash/pro 模型时显示。
  • 价格表可能随官方调价变化。DeepSeek 调价后,请更新 lib/client.js 中的 MODEL_PRICES
  • 资料中的峰谷时段和价格表来自文档摘录;使用前请核对最新官方信息。
  • 社区目录是独立站点,不是官方应用商店,与 DeepSeek / 幻方无官方从属关系。

获取

  • 目录页:https://www.skillhub.cn/plugins/future007s/dsh-peak-indicator
  • GitHub:https://github.com/future007s/dsh-peak-indicator
羽毛球分组比赛记分
小程序二维码

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

Xiaoye