DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Deepseek Offpeak Indicator — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-deepseek-offpeak-indicator

Deepseek Offpeak Indicator

DeepSeek Harness 插件:在编写器工具栏的模型名称左侧显示一个小圆点——DeepSeek 高峰时段为黄色,非高峰时段为绿色(半价)。仅当会话的模型提供商为 DeepSeek 时显示。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-deepseek-offpeak-indicator@1.1.0
README兼容性版本

兼容性与来源证明

Deepseek Offpeak Indicator 以 dsh-deepseek-offpeak-indicator 发布,当前版本为 1.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/10/12

版本

1.1.0stable
2026/10/12
0.1.1stable
2026/10/11
0.1.0stable
2026/10/10

相关插件

正在加载相关插件…

最新版
1.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
43.5 kB
文件数
9
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
0
最近提交
2026/10/12
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 models-usage 分类下经过校验的插件。

Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Usage@linxin666/dsh-usage用于 dsh Web GUI 的使用统计插件:检测各提供商的余额和编程套餐配额,并实时记录令牌使用情况;侧边栏 Settings 行上方显示紧凑的价格概览卡片Client Ui Model Capabilities@linxin666/dsh-client-ui-model-capabilities为自定义 pi-ai 提供商声明每个模型的能力(图像输入和推理力度),可直接在 Models 设置卡片中编辑;写入官方 llm-pi-ai 设置命名空间,不更改 DSH 源代码。Cost Meterdsh-cost-meterDeepSeek Harness 会话费用统计插件:本会话成本、当日费用、历史记录与官方价格同步,支持多厂商多模型价格计费(内置 170+ 模型 ID 价格目录与自动匹配)、主流 Coding Plan 订阅额度查询与显示(13 家,含 OpenDesign 工作区查询、含小米 MiMo Token Plan 控制台 Cookie 查询、SCNet Token Plan 本地 Credits 计量与火山方舟 Volcano Ark Coding Plan AK/SK 签名查询)、自定义 Provider

README

dsh-deepseek-offpeak-indicator

See the current DeepSeek API pricing window at a glance in the DeepSeek Harness (DSH) Web GUI.

A single 5px dot sits in the composer tool row, just left of the model name (rendered only when the session's selected model provider is DeepSeek):

ColorWindowPrice
🟡 Yellow #f2b705Peak hoursStandard
🟢 Green #22c55eOff-peak hoursHalf price

Nothing else is rendered — no text, no icon, no placeholder copy (the dot carries an aria-label for screen readers). No build step, no third-party dependencies: the whole plugin is one file.

English | 中文

When it shows

The dot renders only while the session's selected model provider is DeepSeek; otherwise it renders nothing at all and takes no space:

ProviderShows
deepseek-official (DeepSeek API key)✅
deepseek-account (DeepSeek account)✅
Anything else (Anthropic, an OpenAI-compatible gateway, a self-hosted proxy, …)❌ hidden
Unknown (model directory still loading)❌ hidden

The provider is what counts, not the model name — a third-party gateway serving a DeepSeek model does not get DeepSeek's time-of-day pricing. The rule lives in isDeepSeekProvider(); change that one function to change the policy.

The session's model directory is resolved after mount, with retries: a freshly switched session has not registered its scope yet, so the lookup legitimately fails for a moment. The dot therefore appears a fraction of a second after a session switch instead of staying hidden for the whole session.

How the window is decided

Per DeepSeek's official pricing page (Models & Pricing):

  • Peak: Beijing time Monday–Friday (excluding Chinese statutory holidays), 09:00–12:00 and 14:00–18:00;
  • Off-peak: everything else, including weekends and statutory holidays all day (off-peak = half of the peak price).

Intervals are half-open: 12:00 and 18:00 sharp already count as off-peak, while 09:00 and 14:00 sharp count as peak. All comparisons use Asia/Shanghai, so the machine's own time zone does not matter.

Make-up workdays. The official wording is "Monday to Friday … all other periods, including weekends and Chinese statutory holidays, are off-peak all day". A Saturday or Sunday that the government designates as a make-up workday therefore stays off-peak (green) here. Change the WORKDAYS check in client.js if you disagree.

Installation

Requires a working DSH profile (desktop app or dsh web).

The recommended way is to paste a GitHub address into the Plugins page — no clone and no commands:

  1. Open the Plugins page from the sidebar (the plugin icon in the panel list).

  2. Click Add plugin.

  3. Paste this address into the field (it accepts a package name, a GitHub repository address, or a local directory path):

    https://github.com/cumthugo/dsh-deepseek-offpeak-indicator
    

    The shorthand github:cumthugo/dsh-deepseek-offpeak-indicator works too; add a branch or commit to pin a revision, e.g. github:cumthugo/dsh-deepseek-offpeak-indicator#<commit-sha>.

  4. It is live as soon as it finishes: the result reads application: applied and the open page needs no refresh. If it reports restart-required, restart Harness.

The installer writes the package into the profile's dsh.profile.bundles and dependencies, and inserts the loader row declared by this repository's own cordis.patch.yml — you never edit a config file by hand.

Installing through the agent (equivalent)

plugin_manager  action=install_bundle  target=github:cumthugo/dsh-deepseek-offpeak-indicator

Before installing, the manager runs a git ls-remote reachability check against the repository (public repos need no credentials).

Installing from a local directory (when editing the code)

  1. Clone the repository:

    git clone https://github.com/cumthugo/dsh-deepseek-offpeak-indicator.git
    
  2. Paste the absolute path of the clone into the same field (or hand it to the agent):

    plugin_manager  action=install_bundle  target=/absolute/path/to/dsh-deepseek-offpeak-indicator
    

    The profile records a link: dependency, so re-installing after an edit is enough.

Update: re-installing the same source does not take effect — the dependency is unchanged, so the installer reports ambiguous-install. Uninstall on the Plugins page first, then add the same address again:

plugin_manager  action=remove_bundle  target=dsh-deepseek-offpeak-indicator
plugin_manager  action=install_bundle target=github:cumthugo/dsh-deepseek-offpeak-indicator

The host re-reads the bundle and pushes it to the open page, so no restart is needed. (The local-directory flavour works the same way — swap the second target for the clone path; switching to a different source, e.g. from a local path to the GitHub address, also avoids the ambiguity.) Disable / uninstall: toggle the row on the GUI Plugins page, or use plugin_manager's remove_bundle with the package name dsh-deepseek-offpeak-indicator.

The package name matches the repository (dsh-deepseek-offpeak-indicator) and is not published to npm — install it by local path or from GitHub as shown above. The name must match the id in client.js's window.__ModuleLoader__.load({ id }) and the entry name in cordis.patch.yml: change one and all three must change, followed by a reinstall.

Holiday data and automatic refresh

Holidays are only used to exclude statutory days off from the peak windows. Three sources, in priority order:

  1. Local cache — localStorage key dsh-deepseek-offpeak-indicator:holidays:<year>, considered fresh for 30 days;
  2. Network refresh — the year JSON from holiday-cn (which scrapes the State Council holiday notices), trying raw.githubusercontent.com then cdn.jsdelivr.net, with a 6 s timeout;
  3. Built-in fallback — BUILTIN_HOLIDAYS in client.js (currently 2026, 33 days off).

So next year's schedule takes effect automatically once published, with no code change, provided the machine can reach one of those two hosts. Fully offline, the built-in table is used; for a year with neither cache nor built-in data the plugin degrades to a weekend-only rule (that year's holidays would be misread as peak during 09:00–12:00 and 14:00–18:00).

To refresh the built-in table offline:

node tools/update-holidays.mjs            # existing years + this year and the next
node tools/update-holidays.mjs 2027       # only the given years

Run the remove → install flow above afterwards, so the page picks up the new built-in table.

Layout

FilePurpose
package.jsonBundle manifest: dsh.bundle.patch and the dsh.client declaration
cordis.patch.ymlInserts the deepseek-offpeak-indicator loader row
index.jsHost half, empty apply() (it exists so the loader has a host row)
client.jsBrowser half: window logic, the dot component, slot registration (one file, no build)
tools/update-holidays.mjsRegenerates the built-in holiday table
tools/test-classify.mjsRegression tests: peak windows, the provider gate, and the session-switch resolve/retry path (31 assertions)

Customizing

Everything lives at the top of client.js: PEAK_WINDOWS, PEAK_COLOR / OFFPEAK_COLOR, DOT_SIZE (default 5), DEEPSEEK_PROVIDER_IDS / isDeepSeekProvider() (which providers count as DeepSeek), plus the slot and its placement — the dot registers into conversation.input.right, which renders immediately left of the model name, and nudgeX / nudgeY shift it by a few pixels (currently 16 / 1). To move it elsewhere change name in ctx.slots.register (e.g. conversation.input.left, conversation.composer.dock) and adjust id accordingly.

Development

node tools/test-classify.mjs   # window-logic regression tests ("全部通过" = all passed)
node --check client.js         # syntax check

client.js is the complete browser artifact: it calls window.__ModuleLoader__.load({ id, factory }), where id must equal the package name in package.json. React comes from the host module table via require('react'), so the bundle must not ship its own copy. Run the remove → install flow above after editing.

Compatibility

Developed and verified on macOS with DSH desktop 0.2.0-rc.2 (install_bundle returned application: applied; the conversation.input.right occupant reports active: true). The plugin only uses slot registration and React, so it should work on the same DSH generation; a change to slot names or the dsh.client manifest contract would require an update here.

Disclaimer

Unofficial plugin, not affiliated with DeepSeek. Windows and prices follow the official pricing page; if the rules change, this project needs to follow. Holiday data comes from a third-party aggregation and may lag or differ.

License

MIT © 2026 ZhangYong (cumthugo)