DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
U

dsh-ui-pricing

Ui Pricing

用户可配置的 dsh 成本定价:按模型设置目录价格,并按星期几配置带价格倍数的时间段;通过 Plugins 页面卡片进行编辑,并在 composer-dock 中显示成本

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

npx -y @deepseek-ai/dsh plugin --profile web add github:ivvan3016/dsh-ui-pricing#7aae560bda1ebc92d1d0f92830b49d8754f9af40
README兼容性版本

兼容性与来源证明

Ui Pricing 以 dsh-ui-pricing 发布,当前版本为 0.2.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/23

版本

0.2.0stable
2026/9/23
0.1.3stable
2026/8/25

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Experimental Cot Translation Bundle@deepseek-ai/dsh-experimental-cot-translation-bundle扩展推理的实验性机器翻译Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Our Free Model@ebony-vinyl/dsh-our-free-modelOur Free Model — 在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Flash、Kimi K3 在内的前沿模型,桌面端另有 EAC 协付渠道;2.0 起接入 LobsterAI、Qoder、TRAE、Cline、Loomy、Raccoon、MiniMax、ZCode、Gemini 十个账号渠道(原有匿名免费通道保留)(登录、账号池、积分领取、本地 OpenAI 网关与局域网转发、数据看板与运行日志),六页毛玻璃界面统一呈现。Usage@linxin666/dsh-usage用于 dsh Web GUI 的使用统计插件:检测各提供商的余额和编程套餐配额,并实时记录令牌使用情况;侧边栏 Settings 行上方显示紧凑的价格概览卡片

README

dsh-ui-pricing

English | 中文

User-configurable cost pricing for dsh: the pricing settings section (per-model list prices and a per-day time policy with price multipliers) plus the cost session projection that prices provider-reported usage with the multiplier in force at each sample's own timestamp, and a composer-dock CostLine that shows every live session's spend summed together (with an in-place correction entry) and a live 24-hour multiplier strip. Nothing is hardcoded: the default section prices every day at the list price, and a Plugins-page card lets you define your own time policy — a default timeline applied to every day plus per-day exceptions, each segment's multiplier editable (1.0 is the list price, 0.5 halves it), and per-model prices.

Install

# from npm (recommended)
dsh plugin --profile web add dsh-ui-pricing

# from GitHub
dsh plugin --profile web add github:ivvan3016/dsh-ui-pricing

The npm package ships prebuilt artifacts and installs without any further setup. Git installs fetch the source and rebuild it via prepare; pnpm blocks that build until the package is allowlisted. When a git install fails with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED, copy the exact key pnpm prints into the profile's pnpm-workspace.yaml and re-run the command:

allowBuilds:
  dsh-ui-pricing@https://codeload.github.com/ivvan3016/dsh-ui-pricing/tar.gz/<commit-hash>: true

The key is bound to one resolved commit — a bare package name does not match, and it changes only when you update the dependency to a newer commit.

Restart the dsh web process after installing or updating: the client plugin roster and the projection registry are composed when the server boots.

Uninstall

dsh plugin --profile web remove dsh-ui-pricing

Removing the plugin drops its bundle layer and removes the package from the profile.

Configuration

The plugin entry declares the pricing settings section as its live Config (see dsh-settings); the section is keyed by the entry id, which is the row id the bundle patch mounts (pricing):

FieldDefaultMeaning
currencyCNYCurrency code the prices are denominated in.
modelsV4 catalogList prices per model id in currency units per one million tokens; a model with no entry is unpriced. Cache writes are billed at the cache-miss input rate (DeepSeek has no separate write price).
defaultScheduleone 00:00–24:00 segment at multiplier 1The default time policy every day uses unless overridden; a segment is an HH:MM window with a multiplier. A segment whose end is earlier than its start wraps midnight.
overrides{}Per-day exceptions: a day present here uses its own TimeSegment[] instead of the default schedule.
manualSpend0Manual-spend correction delta added to the auto-computed total: a positive value tops the estimate up, a negative one trims it. The CostLine writes it when you correct the total in place (corrected total − auto amount), so the display reads auto + manualSpend and keeps accruing usage on top of the correction.

Plugins (sidebar) → dsh-ui-pricing → the pricing row's configure page shows the pricing card: a per-model price table that lists every model the client's model list carries (the same Host catalog the composer's model picker reads, refreshed when adapters, the settings document, or a credential change), marking the models the section does not price yet as Unpriced — a model you already priced stays listed even after its route retires, and the manual add row covers an id the list does not carry. Below it: one default timeline that applies to every day, and day-exception toggles — enabling a weekday gives it its own timeline that overrides the default (e.g. a weekend that is off-peak all day). On a timeline, click inside a segment to split it, drag a handle to move a boundary (dragging never inserts), click × to remove a boundary, and type each segment's multiplier directly.

Cost line

When the composition provides the composer dock, the package registers a cost occupant that shows the total priced spend across every live session (the cost projection sums each session's fold) plus any manualSpend correction, with an "estimate" badge since it is computed from usage and multipliers, not a bill. Clicking the amount (when the deployment is writable) opens an in-place editor prefilled with the current total: typing a corrected total replaces the estimate, and later usage keeps accruing on top of it — the difference from the auto amount is stored as the correction delta (negative trims). The right side shows the current local time and the multiplier in force, and a 24-hour strip painted by multiplier band — discount (below list price), premium (above), or neutral (list price) — with a marker at the current minute. The section's Beijing-clock segments are shifted into the browser's timezone so the strip tracks the wall clock.

Session projection

When the composition provides ctx.sessionProjections, the package registers the cost unit: a durable fold over each session log that prices every provider usage sample under the multiplier at the sample's timestamp and totals per model per multiplier. A finalized assistant settlement contributes its own usage (or the last usage chunk of its compact stream), and a failed attempt for the same (turn, step) is replaced rather than double-counted. The view sums every live session's fold — that is what the CostLine displays — and carries { amount, currency }; a model absent from the models table prices to zero. Every new revision of the section re-registers the unit with a bumped state version, so stale persisted checkpoints are discarded and the whole log reprices.

Model Experience

None, as the package prices already-logged provider usage samples and registers no prompt, message, schema, tool, or model call.

KV Cache effect

None; the fold only reads the cache-hit/cache-write token buckets providers report and never alters request prefixes.

Known Limitations and Deferred Work

  • Unlisted models price to zero — a model id absent from the models table contributes nothing to the projection, so an Unpriced row counts as zero until you type a price. A deployment whose Host registers no routable model yet (no provider configured) lists only the rows you already priced.
  • The settings section is the Host entry — a profile serves one live Config per active entry, so these preferences live under the entry id the bundle patch mounts (pricing). A profile patch that renames that row, or that mounts the package under another id, detaches the section from the stored values; the card is keyed by <package>#<row id> for the same reason.
  • Timeline boundaries snap to whole hours — dragging and clicking insert hour-aligned boundaries; minute-level segments must be edited in the settings document.
  • Overrides are copies, not references — enabling a day exception copies the default schedule at that moment; later edits to the default do not propagate into an existing exception.
  • The total refreshes with the current session — the readout re-reads the per-session projection when the current session emits events (or is re-opened), so other sessions' newly priced usage surfaces on the next such snapshot rather than instantly.
  • Published declarations carry source specifiers — lib/types mirrors src/, so a relative import inside a .d.ts reads ./pricing.ts and resolves only in a TypeScript workspace with allowImportingTsExtensions; no .js ships beside them. The dsh runtime reads only lib/index.js and lib/client.js, never these types.