Deepseek Peak
OpenCode V2 plugin showing DeepSeek peak and off-peak pricing periods
0
1,279
79 in 7 days
39.1
Multi-signal model
1 day ago
2026-10-20
Install and configure
opencode.jsonWrites to this project's opencode.json — applies to this repository only.
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-deepseek-peak@0.4.2"]
}Writes to ~/.config/opencode/opencode.json — applies to every project.
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-deepseek-peak@0.4.2"]
}If you want to modify the plugin locally, install it into the project and reference the local path.
shell
pnpm add -D opencode-deepseek-peakOpenCode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.
OpenCode V2 plugin that reports whether a request falls in an official peak or off-peak pricing period.
The package name is historical: the plugin now works across providers. It uses built-in official schedules where they are known and explicit pricing headers returned by any API. When neither is available it shows no indicator instead of guessing.
The sidebar evidence also names the next schedule change, for example
Official schedule · ▼ 07:00 in your local time (10:00 UTC when the timezone
setting is UTC): ▲ means peak starts, ▼ means peak ends, and the weekday is
added when the change lands on another day. A trailing * means the period is
computed from the schedule before any request was observed. The line never
wraps and refreshes itself while the session is idle. The /deepseek-peak
dialog lists the full peak windows.
Indicators follow each tab's session and selected model independently, including when only the prompt footer is visible. Changing to a model without a known pricing period hides the previous indicator; late previews cannot replace a newer refresh or provider event.
Screenshot

Providers
- DeepSeek — peak 01:00–04:00 UTC and 06:00–10:00 UTC, Monday through Friday, excluding Chinese public holidays.
- Z.ai Coding Plan — peak 14:00–18:00 Singapore time (UTC+8), Monday
through Friday. Applies only to the coding endpoints (
/api/coding,/api/anthropic,/api/v1); the standard pay-as-you-go API has flat pricing and is not matched. - Alibaba Model Studio — busy hours 08:00–22:00 Beijing time (UTC+8),
every day, for the
deepseek-v4.1-flash,deepseek-v4-proanddeepseek-v4-flashmodel families (dated snapshots such as-1017and-0813included) served fromdashscope.aliyuncs.com. The international endpoint is not matched. - Alibaba Token Plan — full Credits 08:00–22:00 Beijing time (UTC+8), every
day; the published night discount (50% off) applies 22:00–08:00 for the
deepseek-v4.1-flash,deepseek-v4-proanddeepseek-v4-flashfamilies (dated snapshots included), and 60% off in the same window forqwen3.8-maxandqwen3.8-flash(dated snapshots included). This follows the current limited-time promotion.
How detection works
Profiles are resolved in this order:
- Exact provider ID — this keeps working behind local proxies such as
http://127.0.0.1:8787/v1. - Request base URL against official endpoints, for custom-named providers.
- Model filter for provider products that cover only some models. The
filter matches model families, so a dated snapshot such as
deepseek-v4.1-flash-1017inherits thedeepseek-v4.1-flashschedule without a plugin update.
If nothing matches and no pricing header arrives, the plugin shows no indicator
and /deepseek-peak explains that no official schedule is known — it never
guesses a period.
API response headers always win over schedules. The accepted header names stay the same:
x-deepseek-pricing-tier: peak|off-peakx-deepseek-price-period: peak|off-peakx-deepseek-peak: true|falsex-pricing-tier: peak|off-peak
A header is cached for the configured TTL. When an API header disagrees with the
schedule, the indicator marks it (⚠).
Commands
/deepseek-peak— show the last observed status and evidence./deepseek-peak-sections— toggle toast, footer indicator, sidebar indicator, sidebar evidence, toast frequency, timezone (local or UTC), and language./deepseek-peak-lang— switch the display language.
The command names are kept for compatibility.
Language
The interface follows the environment language (LANG/LC_ALL) and defaults
to English. English, Portuguese, Simplified Chinese, Japanese, and Korean are
available; change it from /deepseek-peak-lang or the sections menu. Chinese
public holidays are localized too (for example 中秋节 in Chinese and
Mid-Autumn Festival in English).
Installation
Once published to npm:
npm install -g opencode-deepseek-peak
opencode-deepseek-peak
The installer adds the package to the OpenCode server and CLI configurations as
well as tui.json(c) for OpenCode V1, preserving existing settings. Restart
OpenCode after installation.
For manual configuration, add the package to both plugin lists:
{
"plugins": ["opencode-deepseek-peak"]
}
Optional server settings:
{
"plugins": [{
"package": "opencode-deepseek-peak",
"options": {
"providerIDs": [],
"apiSignalHeaders": ["x-deepseek-pricing-tier"],
"apiSignalTtlMs": 300000
}
}]
}
providerIDs is an optional allowlist: leave it empty or omit it to observe
every provider. apiSignalHeaders and apiSignalTtlMs are unchanged in
meaning: which response headers to accept and how long a header stays cached.
OpenCode V1
OpenCode V1 loads TUI plugins from tui.json (plugin list) and has no
server-side plugin hooks, so the V1 build computes schedules locally per
session from the provider/model, resolving the same profiles (the DeepSeek
schedule is the fallback when the model is unknown). Sidebar and prompt-right
indicators, commands, toast on period change, settings, and i18n all work. Only
the API header source of truth is unavailable there.
// ~/.config/opencode/tui.jsonc
{
"$schema": "https://opencode.ai/tui.json",
"plugin": ["opencode-deepseek-peak"]
}
Development
npm install
npm run typecheck
npm test
npm run build
Similar plugins
Ds Peak
opencode-ds-peak
Minimal opencode TUI sidebar dot showing whether DeepSeek is in peak or off-peak pricing, with a countdown to the next switch. Five languages.
Deepseek Peak
@and7ey/opencode-deepseek-peak
OpenCode 2 TUI plugin showing DeepSeek API peak/off-peak pricing hours.
Usage Panel
opencode-usage-panel
Sidebar token-usage and cost panel for the opencode TUI. Breaks a session down by model with per-model cost, context usage, and configurable peak/off-peak pricing.