@kenz1117/dsh-ui-usage-billing 1.1.13 → 1.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/lib/client.js +5 -5
- package/lib/index.js +22 -10
- package/lib/types/aggregate.d.ts +8 -1
- package/lib/types/client/TokenPanel.d.ts +4 -0
- package/lib/types/client/locales.d.ts +1 -1
- package/lib/types/client/pricing.d.ts +9 -0
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -227,15 +227,24 @@ const WEEKEND_OFFPEAK_START_MS = Date.parse("2026-08-22T16:00:00Z");
|
|
|
227
227
|
* 1/0.02/4(峰 = 谷 × 2)。目录条目写现行(新)价;分界前的历史事件由
|
|
228
228
|
* {@link computeCostAt} 按 {@link FLASH_REPRICED_OFFPEAK} 回算旧价,与
|
|
229
229
|
* {@link PEAK_ERA_START_MS} 同一「按事件时刻分段适用规则」口径。
|
|
230
|
+
* pro 例外:V4 Pro 的路由计费分界是 {@link PRO_OFFLINE_MS}(官方把原定
|
|
231
|
+
* 09-10 的路由时点推迟到 09-14 12:00),不在本分界切换。
|
|
230
232
|
*/
|
|
231
233
|
const FLASH_REPRICE_MS = Date.parse("2026-09-10T04:00:00Z");
|
|
232
234
|
/**
|
|
235
|
+
* V4 Pro 下线路由分界(UTC 2026-09-14T04:00:00Z,即北京时间 2026-09-14
|
|
236
|
+
* 12:00):官方价目页注释明确,此后至 V4.1 Pro 上线前,`deepseek-v4-pro`
|
|
237
|
+
* 的请求全部路由至 V4.1 Flash 并按其单价计费——此前的请求仍按 V4 Pro
|
|
238
|
+
* 峰谷刊例计费(官方原定 09-10 路由,后推迟到 09-14)。
|
|
239
|
+
*/
|
|
240
|
+
const PRO_OFFLINE_MS = Date.parse("2026-09-14T04:00:00Z");
|
|
241
|
+
/**
|
|
233
242
|
* flash 系调价前的官方谷档价(CNY / 1M tokens):{@link FLASH_REPRICE_MS}
|
|
234
243
|
* 之前的 flash / flash-vision-exp 事件按此回算(峰档 = 谷档 × 2)。pro 的
|
|
235
|
-
* 同表条目是 V4 Pro 峰谷时代刊例(谷 4.5/0.15/13.5
|
|
236
|
-
* {@link
|
|
237
|
-
*
|
|
238
|
-
*
|
|
244
|
+
* 同表条目是 V4 Pro 峰谷时代刊例(谷 4.5/0.15/13.5):官方自
|
|
245
|
+
* {@link PRO_OFFLINE_MS} 起(原定 09-10,后推迟)把 V4 Pro 请求全部路由至
|
|
246
|
+
* V4.1 Flash 并按其单价计费(V4.1 Pro 上线前),故分界前回算 V4 Pro 刊例、
|
|
247
|
+
* 分界后走目录的 Flash 价。用户价 = 实付价,与 legacy 口径相同地跳过本表。
|
|
239
248
|
*/
|
|
240
249
|
const FLASH_PRE_REPRICE_BAND = {
|
|
241
250
|
input: 1.5,
|
|
@@ -316,6 +325,7 @@ function isBeijingWeekend(timeMs) {
|
|
|
316
325
|
*/
|
|
317
326
|
/** DeepSeek 官方高峰时段说明(峰谷分时计费目录条目共用)。 */
|
|
318
327
|
const DEEPSEEK_PEAK_HOURS = "09:00-12:00 / 14:00-18:00";
|
|
328
|
+
const GEMINI_PEAK_HOURS = "Standard / Flex";
|
|
319
329
|
const MODEL_CATALOG = [
|
|
320
330
|
{
|
|
321
331
|
key: "flash",
|
|
@@ -974,7 +984,7 @@ const MODEL_CATALOG = [
|
|
|
974
984
|
output: 6
|
|
975
985
|
}
|
|
976
986
|
},
|
|
977
|
-
peakHours:
|
|
987
|
+
peakHours: GEMINI_PEAK_HOURS,
|
|
978
988
|
tierSemantics: "latency"
|
|
979
989
|
},
|
|
980
990
|
{
|
|
@@ -993,7 +1003,7 @@ const MODEL_CATALOG = [
|
|
|
993
1003
|
output: 3.75
|
|
994
1004
|
}
|
|
995
1005
|
},
|
|
996
|
-
peakHours:
|
|
1006
|
+
peakHours: GEMINI_PEAK_HOURS,
|
|
997
1007
|
tierSemantics: "latency"
|
|
998
1008
|
},
|
|
999
1009
|
{
|
|
@@ -1405,6 +1415,8 @@ const MODEL_KEY_ALIASES = {
|
|
|
1405
1415
|
"deepseek-v4-flash": "flash",
|
|
1406
1416
|
"deepseek-v4-flash-vision-exp": "flash-vision-exp",
|
|
1407
1417
|
"deepseek-v4.1-flash": "flash",
|
|
1418
|
+
"deepseek-v4.1-flash-expires-on-0910": "flash",
|
|
1419
|
+
"deepseek-flash": "flash",
|
|
1408
1420
|
"deepseek-v4-pro": "pro",
|
|
1409
1421
|
"glm-5.2": "glm",
|
|
1410
1422
|
"glm-4.5-air": "glm-4.5-air",
|
|
@@ -1689,7 +1701,7 @@ function computeCostAt(entry, buckets, timeMs, peakShare = DEFAULT_PEAK_SHARE) {
|
|
|
1689
1701
|
const priced = applyPromo(entry, timeMs);
|
|
1690
1702
|
const legacy = timeMs < PEAK_ERA_START_MS && entry.userPriced !== true ? LEGACY_DEEPSEEK_BANDS[entry.key] : void 0;
|
|
1691
1703
|
if (legacy !== void 0) return priceBandCost(legacy, buckets, "CNY");
|
|
1692
|
-
const repriced = timeMs < FLASH_REPRICE_MS && entry.userPriced !== true ? FLASH_REPRICED_OFFPEAK[entry.key] : void 0;
|
|
1704
|
+
const repriced = timeMs < (entry.key === "pro" ? PRO_OFFLINE_MS : FLASH_REPRICE_MS) && entry.userPriced !== true ? FLASH_REPRICED_OFFPEAK[entry.key] : void 0;
|
|
1693
1705
|
if (repriced !== void 0) return priceBandCost((timeMs < WEEKEND_OFFPEAK_START_MS ? tariffV1At(timeMs) : tierAt(timeMs)) === "peak" ? {
|
|
1694
1706
|
input: repriced.input * 2,
|
|
1695
1707
|
cacheHit: repriced.cacheHit * 2,
|
|
@@ -2368,7 +2380,7 @@ function createUsageAggregator(persistence, options = {}) {
|
|
|
2368
2380
|
id,
|
|
2369
2381
|
...cwd === void 0 ? {} : { cwd },
|
|
2370
2382
|
...stamp === null ? {} : { stamp },
|
|
2371
|
-
foldVersion:
|
|
2383
|
+
foldVersion: 10,
|
|
2372
2384
|
fold: serializeFold(fold)
|
|
2373
2385
|
};
|
|
2374
2386
|
const row = ledger.get(id);
|
|
@@ -2458,7 +2470,7 @@ function createUsageAggregator(persistence, options = {}) {
|
|
|
2458
2470
|
try {
|
|
2459
2471
|
const cwd = meta.cwd;
|
|
2460
2472
|
const ledgerRow = ledger.get(id);
|
|
2461
|
-
if (ledgerRow !== void 0 && ledgerRow.stamp !== void 0 && stamp !== null && ledgerRow.stamp === stamp && (ledgerRow.foldVersion ?? 1) ===
|
|
2473
|
+
if (ledgerRow !== void 0 && ledgerRow.stamp !== void 0 && stamp !== null && ledgerRow.stamp === stamp && (ledgerRow.foldVersion ?? 1) === 10) {
|
|
2462
2474
|
const fold = deserializeFold(ledgerRow.fold);
|
|
2463
2475
|
folds.push({
|
|
2464
2476
|
id,
|
|
@@ -2541,7 +2553,7 @@ function createUsageAggregator(persistence, options = {}) {
|
|
|
2541
2553
|
for (const entry of ledger.values()) {
|
|
2542
2554
|
if (included.has(entry.id)) continue;
|
|
2543
2555
|
try {
|
|
2544
|
-
const stale = (entry.foldVersion ?? 1) <
|
|
2556
|
+
const stale = (entry.foldVersion ?? 1) < 10;
|
|
2545
2557
|
folds.push({
|
|
2546
2558
|
id: entry.id,
|
|
2547
2559
|
...entry.cwd === void 0 ? {} : { cwd: entry.cwd },
|
package/lib/types/aggregate.d.ts
CHANGED
|
@@ -431,8 +431,15 @@ export interface UsageLedgerDocument {
|
|
|
431
431
|
* 单价计费(V4.1 Pro 上线前)——pro 目录价改写为 Flash 价、V4 Pro 刊例(峰
|
|
432
432
|
* 9/0.3/27、谷 4.5/0.15/13.5)进 FLASH_REPRICED_OFFPEAK 供分界前回算;v7 及更早
|
|
433
433
|
* 的行把分界后的 pro 全部按 V4 Pro 刊例折算(高估数倍),bump 全量重折对齐时间线。
|
|
434
|
+
* 9:V4.1 Flash 内测端点 id(expires-on-0910)收录进别名表——此前该 id 落目录兜底
|
|
435
|
+
* 条目(Custom),费用按 0 计且把「主力消耗模型余额」挤成「未配置」(issue #40
|
|
436
|
+
* 反馈);bump 让存量账单的内测用量按 flash 时间线重折归并。
|
|
437
|
+
* 10:官方把 V4 Pro 路由时点从 09-10 12:00 推迟到 09-14 12:00(价目页注释 (2)),
|
|
438
|
+
* pro 的回算分界改用 PRO_OFFLINE_MS——09-10 ~ 09-14 之间 V4 Pro 请求仍按 V4 Pro
|
|
439
|
+
* 刊例计费(v8 行按 Flash 价折算,低估);bump 全量重折。同时收录官方新规范名
|
|
440
|
+
* deepseek-flash → flash。
|
|
434
441
|
*/
|
|
435
|
-
export declare const FOLD_VERSION =
|
|
442
|
+
export declare const FOLD_VERSION = 10;
|
|
436
443
|
/**
|
|
437
444
|
* 一次性账本迁移:id 唯一,apply 在加载边界对原始文档执行,已应用过的跳过。
|
|
438
445
|
* 未来账本/schema 字段变更(重命名、拆桶、语义调整)时,在此追加一条迁移并
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* 4. 工具调用排行(byTool 计次;token 无法按工具归因)。
|
|
8
8
|
*/
|
|
9
9
|
import type { UsageBillingKey } from './locales.ts';
|
|
10
|
+
import type { TrendSeriesModel } from './TrendChart.tsx';
|
|
10
11
|
import type { UsageStats } from './UsageBilling.tsx';
|
|
11
12
|
/**
|
|
12
13
|
* Token 洞察面板。
|
|
@@ -18,6 +19,9 @@ export declare function TokenPanel(props: {
|
|
|
18
19
|
stats: UsageStats;
|
|
19
20
|
trendDays: 7 | 30;
|
|
20
21
|
onTrendDays: (d: 7 | 30) => void;
|
|
22
|
+
models?: readonly TrendSeriesModel[];
|
|
23
|
+
/** 金额格式化(跟随仪表盘币种切换):费用构成区块展示用。 */
|
|
24
|
+
money: (cny: number) => string;
|
|
21
25
|
t: (key: UsageBillingKey) => string;
|
|
22
26
|
}): React.ReactNode;
|
|
23
27
|
//# sourceMappingURL=TokenPanel.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Locale dictionaries for the usage billing surface. */
|
|
2
|
-
export type UsageBillingKey = 'title' | 'subtitle' | 'cost' | 'todayCost' | 'monthCost' | 'yearCost' | 'monthProjected' | 'liveTurn' | 'liveSession' | 'totalCost' | 'calls' | 'cacheHitRate' | 'tokens' | 'inputTokens' | 'outputTokens' | 'avgCost' | 'trend' | 'trend7d' | 'trend30d' | 'trendMetric' | 'trendMetricCost' | 'trendMetricTokens' | 'trendEmpty' | 'budget' | 'budgetAmount' | 'budgetSummary' | 'sessions' | 'sessionTitle' | 'project' | 'lastActive' | 'sessionOverflow' | 'budgetTierBody' | 'models' | 'providerBilling' | 'estimated' | 'actual' | 'pricing' | 'showPricing' | 'hidePricing' | 'pricePerM' | 'input' | 'output' | 'cacheHit' | 'peak' | 'offPeak' | 'flat' | 'peakHours' | 'band' | 'openDashboard' | 'close' | 'footer' | 'footerCredit' | 'lastUpdated' | 'noData' | 'todayRate' | 'rateLive' | 'rateBuiltin' | 'promoBadge' | 'promoUntil' | 'promoOpenEnded' | 'pricingTip' | 'pricingUnit' | 'pricingNotes' | 'ubPeak' | 'ubOff' | 'ubStd' | 'peakBand' | 'pricingSource' | 'noteCache' | 'noteBand' | 'noteSource' | 'balance' | 'balanceUnconfigured' | 'balanceUnauthorized' | 'balanceUnreachable' | 'uncatalogued' | 'estimatedPricing' | 'balanceDays' | 'balanceLowBody' | 'reconcileDrift' | 'reconcileDismiss' | 'subscriptions' | 'subscriptionNotConfigured' | 'subscriptionUnauthorized' | 'subscriptionUnavailable' | 'subscriptionInvalid' | 'subscriptionRateLimited' | 'subscriptionSession' | 'subscriptionWeekly' | 'subscriptionMonthly' | 'subscriptionBilling' | 'subscriptionRemaining' | 'subscriptionExhausted' | 'subscriptionReset' | 'subscriptionNoApi' | 'floatWindow' | 'floatModeCombined' | 'floatModeSubscription' | 'floatMode' | 'floatTargets' | 'floatWindowHint' | 'floatNoTargets' | 'floatNoTargetsHint' | 'cardDisplay' | 'cardDisplayHint' | 'cardMetric' | 'cardMetricMoney' | 'cardMetricTokens' | 'triggerMonthTokens' | 'floatPrev' | 'floatNext' | 'subscriptionsStale' | 'staleLedgerNotice' | 'tokenCacheWrite' | 'toolRank' | 'toolName' | 'userPrices' | 'userPricesHint' | 'userPriceSave' | 'userPriceModel' | 'userPriceSource' | 'userPriceSourceHint' | 'userPriceCurrency' | 'userPriceAdd' | 'userPriceRemove' | 'sessionStaleBadge' | 'sessionUntitled' | 'heatmapLess' | 'heatmapMore' | 'currency' | 'currencyCny' | 'currencyUsd' | 'heatmap' | 'rounds' | 'roundsHint' | 'anomaly' | 'workspaces' | 'workspacesHint' | 'plan' | 'remaining' | 'unknownModel' | 'model' | 'thModel' | 'thInputMiss' | 'thInputHit' | 'currentRound' | 'costAbbr' | 'tabOverview' | 'tabTrends' | 'tabProviders' | 'tabDetails' | 'tabPricing' | 'tabSettings' | 'settingsHead' | 'settingsHint' | 'budgetHint' | 'peakAlertHint' | 'peakAlertDescPeak' | 'peakAlertDescOff' | 'export' | 'exportCsvDay' | 'exportCsvSession' | 'exportJson' | 'peakShare' | 'peakSharePerCall' | 'offPeakSavings' | 'perfMax' | 'weekCost' | 'roleCost' | 'roleUser' | 'roleAssistant' | 'roleTool' | 'roleHint' | 'tierPeak' | 'tierOff' | 'tierToPeak' | 'tierToOff' | 'tierAlertEnterPeak' | 'tierAlertEnterOff' | 'peakAlertTitlePeak' | 'peakAlertTitleOff' | 'peakAlert' | 'peakAlertLeadMin' | 'peakAlertPos' | 'peakAlertMode' | 'peakAlertPosCorner' | 'peakAlertPosCenter' | 'peakAlertModePeak' | 'peakAlertModeOff' | 'peakAlertModeBoth' | 'peakAlertWebNotify' | 'peakAlertPreview' | 'planTypeCode' | 'planTypeToken' | 'subscriptionFeePerMonth' | 'triggerToday' | 'triggerMonth' | 'subscriptionIncluded' | 'free' | '
|
|
2
|
+
export type UsageBillingKey = 'title' | 'subtitle' | 'cost' | 'todayCost' | 'monthCost' | 'yearCost' | 'monthProjected' | 'liveTurn' | 'liveSession' | 'totalCost' | 'calls' | 'cacheHitRate' | 'tokens' | 'inputTokens' | 'outputTokens' | 'avgCost' | 'trend' | 'trend7d' | 'trend30d' | 'trendMetric' | 'trendMetricCost' | 'trendMetricTokens' | 'trendEmpty' | 'budget' | 'budgetAmount' | 'budgetSummary' | 'sessions' | 'sessionTitle' | 'project' | 'lastActive' | 'sessionOverflow' | 'budgetTierBody' | 'models' | 'providerBilling' | 'estimated' | 'actual' | 'pricing' | 'showPricing' | 'hidePricing' | 'pricePerM' | 'input' | 'output' | 'cacheHit' | 'peak' | 'offPeak' | 'flat' | 'peakHours' | 'band' | 'openDashboard' | 'close' | 'footer' | 'footerCredit' | 'lastUpdated' | 'noData' | 'todayRate' | 'rateLive' | 'rateBuiltin' | 'promoBadge' | 'promoUntil' | 'promoOpenEnded' | 'pricingTip' | 'pricingUnit' | 'pricingNotes' | 'ubPeak' | 'ubOff' | 'ubStd' | 'peakBand' | 'pricingSource' | 'noteCache' | 'noteBand' | 'noteSource' | 'balance' | 'balanceUnconfigured' | 'balanceUnauthorized' | 'balanceUnreachable' | 'uncatalogued' | 'estimatedPricing' | 'balanceDays' | 'balanceLowBody' | 'reconcileDrift' | 'reconcileDismiss' | 'subscriptions' | 'subscriptionNotConfigured' | 'subscriptionUnauthorized' | 'subscriptionUnavailable' | 'subscriptionInvalid' | 'subscriptionRateLimited' | 'subscriptionSession' | 'subscriptionWeekly' | 'subscriptionMonthly' | 'subscriptionBilling' | 'subscriptionRemaining' | 'subscriptionExhausted' | 'subscriptionReset' | 'subscriptionNoApi' | 'floatWindow' | 'floatModeCombined' | 'floatModeSubscription' | 'floatMode' | 'floatTargets' | 'floatWindowHint' | 'floatNoTargets' | 'floatNoTargetsHint' | 'cardDisplay' | 'cardDisplayHint' | 'cardMetric' | 'cardMetricMoney' | 'cardMetricTokens' | 'triggerMonthTokens' | 'floatPrev' | 'floatNext' | 'subscriptionsStale' | 'staleLedgerNotice' | 'tokenCacheWrite' | 'toolRank' | 'toolName' | 'userPrices' | 'userPricesHint' | 'userPriceSave' | 'userPriceModel' | 'userPriceSource' | 'userPriceSourceHint' | 'userPriceCurrency' | 'userPriceAdd' | 'userPriceRemove' | 'sessionStaleBadge' | 'sessionUntitled' | 'heatmapLess' | 'heatmapMore' | 'currency' | 'currencyCny' | 'currencyUsd' | 'heatmap' | 'rounds' | 'roundsHint' | 'anomaly' | 'workspaces' | 'workspacesHint' | 'plan' | 'remaining' | 'unknownModel' | 'model' | 'thModel' | 'thInputMiss' | 'thInputHit' | 'currentRound' | 'costAbbr' | 'tabOverview' | 'tabTrends' | 'tabProviders' | 'tabDetails' | 'tabPricing' | 'tabSettings' | 'settingsHead' | 'settingsHint' | 'budgetHint' | 'peakAlertHint' | 'peakAlertDescPeak' | 'peakAlertDescOff' | 'export' | 'exportCsvDay' | 'exportCsvSession' | 'exportJson' | 'peakShare' | 'peakSharePerCall' | 'offPeakSavings' | 'perfMax' | 'weekCost' | 'roleCost' | 'roleUser' | 'roleAssistant' | 'roleTool' | 'roleHint' | 'tierPeak' | 'tierOff' | 'tierToPeak' | 'tierToOff' | 'tierAlertEnterPeak' | 'tierAlertEnterOff' | 'peakAlertTitlePeak' | 'peakAlertTitleOff' | 'peakAlert' | 'peakAlertLeadMin' | 'peakAlertPos' | 'peakAlertMode' | 'peakAlertPosCorner' | 'peakAlertPosCenter' | 'peakAlertModePeak' | 'peakAlertModeOff' | 'peakAlertModeBoth' | 'peakAlertWebNotify' | 'peakAlertPreview' | 'planTypeCode' | 'planTypeToken' | 'subscriptionFeePerMonth' | 'triggerToday' | 'triggerMonth' | 'subscriptionIncluded' | 'free' | 'perfSamples' | 'perfTtft' | 'perfP50' | 'perfP90' | 'perfTps' | 'perfLatency' | 'perfEstimated' | 'perfEmpty' | 'perfTpsUnit' | 'perfTitle' | 'perfHint' | 'heatmapYear' | 'heatmapMonth' | 'activeDays' | 'streakDays' | 'subscriptionAutoDetect' | 'pluginInfo' | 'pluginName' | 'pluginDescription' | 'pluginVersion' | 'pluginAuthor' | 'pluginRepository' | 'pluginNpm' | 'pluginLicense' | 'tabToken' | 'tokenExport' | 'tokenExportCsv' | 'tokenCacheHitRate' | 'tokenReasoningShare' | 'tokenReasoningShort' | 'tokenIo' | 'tokenPeak' | 'tokenDaily' | 'tokenByModel' | 'tokenMiss' | 'tokenHit' | 'tokenOutput' | 'tokenTotal' | 'tokenShare' | 'usageStatsTool' | 'usageStatsToolHint' | 'balanceGranted' | 'balanceTopped' | 'balanceDaily' | 'balanceDaysLong' | 'balanceDaysUnit' | 'popTodayModel' | 'popNoConsumption' | 'popQuotaAlert' | 'popRiskNone' | 'popTitle' | 'popDirectLead' | 'popSubLead' | 'popBalanceNormal' | 'popBalanceLow' | 'popQuotaNormal' | 'popQuotaLow' | 'alertBalanceLow' | 'alertQuotaLow' | 'unpricedHint' | 'searchEstimateHint' | 'siteListDisplay' | 'siteListDisplayHint' | 'exportCsvSite' | 'panelRelay' | 'relaySite' | 'relayDirect' | 'relayUnknown' | 'panelRelayQuota' | 'relayBalance' | 'relayNoQuota' | 'relayWindowUsed' | 'relayKindNewApi' | 'relayKindSub2Api' | 'relayKindUnknown' | 'relayCalls';
|
|
3
3
|
export declare const NS = "usageBilling";
|
|
4
4
|
export declare const zh: Record<UsageBillingKey, string>;
|
|
5
5
|
export declare const en: Record<UsageBillingKey, string>;
|
|
@@ -117,8 +117,17 @@ export declare const WEEKEND_OFFPEAK_START_MS: number;
|
|
|
117
117
|
* 1/0.02/4(峰 = 谷 × 2)。目录条目写现行(新)价;分界前的历史事件由
|
|
118
118
|
* {@link computeCostAt} 按 {@link FLASH_REPRICED_OFFPEAK} 回算旧价,与
|
|
119
119
|
* {@link PEAK_ERA_START_MS} 同一「按事件时刻分段适用规则」口径。
|
|
120
|
+
* pro 例外:V4 Pro 的路由计费分界是 {@link PRO_OFFLINE_MS}(官方把原定
|
|
121
|
+
* 09-10 的路由时点推迟到 09-14 12:00),不在本分界切换。
|
|
120
122
|
*/
|
|
121
123
|
export declare const FLASH_REPRICE_MS: number;
|
|
124
|
+
/**
|
|
125
|
+
* V4 Pro 下线路由分界(UTC 2026-09-14T04:00:00Z,即北京时间 2026-09-14
|
|
126
|
+
* 12:00):官方价目页注释明确,此后至 V4.1 Pro 上线前,`deepseek-v4-pro`
|
|
127
|
+
* 的请求全部路由至 V4.1 Flash 并按其单价计费——此前的请求仍按 V4 Pro
|
|
128
|
+
* 峰谷刊例计费(官方原定 09-10 路由,后推迟到 09-14)。
|
|
129
|
+
*/
|
|
130
|
+
export declare const PRO_OFFLINE_MS: number;
|
|
122
131
|
/** 计费时段档位:高峰 / 空闲(官方 DeepSeek 刊例价:高峰 = 空闲 × 2)。 */
|
|
123
132
|
export type PriceTierId = 'peak' | 'offPeak';
|
|
124
133
|
/** 成本显示币种:人民币(国内模型直价)/ 美元(国外模型直价或换算显示)。 */
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kenz1117/dsh-ui-usage-billing",
|
|
3
3
|
"description": "Usage billing dashboard for DeepSeek Harness: sidebar cost metrics plus a full dashboard modal, priced from a current multi-provider catalog with real usage aggregated from session logs.",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.15",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|