@cassius0924/dsh-usage-dashboard 0.8.0 → 0.8.3
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 +55 -3
- package/lib/client.js +1085 -236
- package/lib/client.js.map +4 -4
- package/lib/index.js +506 -61
- package/lib/index.js.map +4 -4
- package/lib/types/breaker-gate.d.ts +94 -0
- package/lib/types/breaker-settings.d.ts +28 -0
- package/lib/types/breaker.d.ts +49 -0
- package/lib/types/client/api.d.ts +8 -1
- package/lib/types/client/breaker-pill.d.ts +21 -0
- package/lib/types/client/breaker-state.d.ts +8 -0
- package/lib/types/client/breaker.d.ts +60 -0
- package/lib/types/client/charts.d.ts +8 -0
- package/lib/types/client/i18n.d.ts +21 -0
- package/lib/types/client/locales.d.ts +33 -0
- package/lib/types/client/session-cost-pill.d.ts +15 -0
- package/lib/types/client/styles.d.ts +1 -1
- package/lib/types/client/top-up.d.ts +13 -0
- package/lib/types/context.d.ts +36 -0
- package/lib/types/contract.d.ts +65 -0
- package/lib/types/index.d.ts +19 -16
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -5,13 +5,15 @@
|
|
|
5
5
|
|
|
6
6
|
在 [DSH](https://github.com/deepseek-ai)(DeepSeek Harness)的 Web GUI 里,随时看得见 DeepSeek 的钱花在哪:
|
|
7
7
|
**余额还能撑几天、今天花了多少、哪个模型最贵、缓存替你省了多少、钱里有多少来自图片**,以及峰谷定价生效后把任务挪到闲时能省多少。
|
|
8
|
+
还能给某个会话开**高峰暂停**:高峰时段自动暂停这个会话,18:00 后继续,不用你自己盯着时钟。
|
|
8
9
|
|
|
9
10
|

|
|
10
11
|
|
|
11
12
|
装上之后 GUI 里多两样东西:右下角一个可拖动的**悬浮额度窗**,顶部栏多一个**「额度」tab**。
|
|
12
|
-
还能在「额度 → 设置」里加一个**侧边栏额度入口**(顶部或底部,点开账号级额度页)、**拖动调整「额度」tab
|
|
13
|
+
还能在「额度 → 设置」里加一个**侧边栏额度入口**(顶部或底部,点开账号级额度页)、**拖动调整「额度」tab 的位置**,
|
|
14
|
+
以及在对话输入框旁给本会话开启**高峰暂停**(见[高峰暂停](#高峰暂停到点自动停1800-继续))。
|
|
13
15
|
额度页会收起聊天输入框,把整屏留给数据;「图片 / 多模态用量」并入用量趋势卡,切换 7 天 / 30 天 / 90 天 / 1 年
|
|
14
|
-
|
|
16
|
+
时随图片有无平滑展开或收起。界面支持简体中文与 English,直接跟随 DSH 全局的「Settings → Language」设置;
|
|
15
17
|
切换无需刷新,选择由 DSH 持久化。
|
|
16
18
|
|
|
17
19
|
---
|
|
@@ -71,6 +73,39 @@ DeepSeek 从 2026-08-17 00:00 起改峰谷定价,高峰(北京时间 09:00
|
|
|
71
73
|
|
|
72
74
|
这张卡告诉你用量落在峰谷两侧的比例,以及**如果高峰用量都挪到闲时能省多少**——批量、可延后的任务放到闲时跑,同样的 token 只要一半的钱。
|
|
73
75
|
|
|
76
|
+
### 高峰暂停:到点自动停,18:00 继续
|
|
77
|
+
|
|
78
|
+
光看见「高峰多付了多少」还不够,这里还替你按下了暂停——而且是**按会话**控制的:
|
|
79
|
+
对话输入框旁多一个「高峰暂停」开关(和「会话统计」「Token 用量」「会话费用」同一排)。
|
|
80
|
+
开启后,这个会话里**你发起的回合**在 DeepSeek 高峰时段(北京时间周一至周五 09:00–12:00、14:00–18:00)
|
|
81
|
+
走到步骤边界就会暂停,**18:00 自动继续**;12:00–14:00 的午间闲时也继续暂停,不来回折腾。
|
|
82
|
+
|
|
83
|
+
开关三态一眼可辨:
|
|
84
|
+
|
|
85
|
+
| 状态 | 开关显示 | 含义 |
|
|
86
|
+
|---|---|---|
|
|
87
|
+
| 关闭 | 描边图标 +「高峰暂停 · 关」 | 本会话不暂停 |
|
|
88
|
+
| 开启 | 实心图标 + 主色 +「高峰暂停 · 开」 | 高峰时段会暂停本会话 |
|
|
89
|
+
| 正在暂停 | 实心图标 + 警示色 +「已暂停 · 18:00」 | 本回合已停在步骤边界,18:00 继续 |
|
|
90
|
+
|
|
91
|
+
<img src="docs/breaker-states.png" width="260" alt="高峰暂停开关三态">
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
- 只对**普通会话**开放:定时任务、自动化任务、目标续跑这类自动触发的回合不受影响,没开启的会话也完全不受影响。
|
|
95
|
+
- 额度页「设置」里有一个**总开关**:关掉后所有会话都不再暂停(每个会话自己的开关会保留)。
|
|
96
|
+
- 额度页还有一张**「高峰暂停」**卡,管理所有已开启的会话:标题、是否正在暂停、单独关闭,
|
|
97
|
+
以及有挂起时的「立即全部继续」。没有任何会话开启时,卡片显示空态并提示去对话里打开。
|
|
98
|
+
|
|
99
|
+
<img src="docs/breaker.png" width="720" alt="高峰暂停">
|
|
100
|
+
|
|
101
|
+
几个边界:
|
|
102
|
+
|
|
103
|
+
- 挂起发生在**步骤与步骤之间**,已经发出的模型调用不会被中断;被挂起的会话在 GUI 里仍显示「运行中」,
|
|
104
|
+
你可以随时手动停止。
|
|
105
|
+
- 开关状态由宿主侧保存(`~/.dsh/storages/dsh-usage-dashboard/breaker.json`,存总开关和已开启的会话 id),
|
|
106
|
+
刷新页面、重启宿主后都还在。
|
|
107
|
+
- 高峰暂停只管「什么时候跑」,不改变峰谷单价,也不会替你重算已发生的历史费用。
|
|
108
|
+
|
|
74
109
|
### 缓存替你省了多少
|
|
75
110
|
|
|
76
111
|
<img src="docs/cache.png" width="860" alt="缓存命中与节省">
|
|
@@ -115,6 +150,12 @@ DeepSeek 从 2026-08-17 00:00 起改峰谷定价,高峰(北京时间 09:00
|
|
|
115
150
|
|
|
116
151
|
在「设置」里定一条预警线(默认 ¥10,填 0 关闭)。跌破时仪表盘顶部出现警示条——带上还能撑几天和充值入口——同时悬浮窗一起转警示色,两边不会各说各话:
|
|
117
152
|
|
|
153
|
+
<img src="docs/alert.png" width="860" alt="余额低预警警示条">
|
|
154
|
+
|
|
155
|
+
余额低于 ¥10、或跌破设置的预警线时,「预计可用」右侧还会出现一个实心的「去充值 ↗」按钮,点开在浏览器新标签页直达 DeepSeek 开放平台的充值页。预警线填 0 只关掉上面的警示条,不会关掉这个入口——余额快到零时,总该有个一键跳出去的地方:
|
|
156
|
+
|
|
157
|
+
<img src="docs/top-up.png" width="860" alt="预计可用右侧的去充值按钮">
|
|
158
|
+
|
|
118
159
|
<img src="docs/widget-low.png" width="300" alt="悬浮窗的警示态">
|
|
119
160
|
|
|
120
161
|
---
|
|
@@ -146,6 +187,17 @@ dsh plugin --profile web add ./path/to/dsh-usage-dashboard
|
|
|
146
187
|
> 兼容性:同时支持两代宿主接口——旧版 `readFrom(id, 0)` 与新版 handle 化 `open(id, 'read')` / `read` / `close`。
|
|
147
188
|
> 宿主升级到移除 `readFrom` 的版本后,插件无需更换版本,会话日志照常重放。
|
|
148
189
|
|
|
190
|
+
## 界面语言
|
|
191
|
+
|
|
192
|
+
跟随 DSH 全局的 **Settings → Language**,切换即时生效、无需刷新,选择由 DSH 持久化:
|
|
193
|
+
|
|
194
|
+
- **简体中文** —— DSH 内置 `zh`;
|
|
195
|
+
- **English** —— DSH 内置 `en`。
|
|
196
|
+
|
|
197
|
+
插件只提供这两种语言,与宿主内置语言保持一致,**不额外注册语言包**:语言目录属于宿主的设置面,
|
|
198
|
+
插件私自加一门宿主没翻译的语言,会让宿主界面和仪表盘说两种语言(宿主只能回落到简中)。
|
|
199
|
+
日期与数字格式化按当前语言取对应的 `Intl` 标签(`zh-CN` / `en-US`),不随浏览器区域设置漂移。
|
|
200
|
+
|
|
149
201
|
## 费用是怎么算的
|
|
150
202
|
|
|
151
203
|
费用是**估算**,不是账单。规则都在 [`src/pricing.ts`](src/pricing.ts) 一个文件里:
|
|
@@ -199,7 +251,7 @@ src/
|
|
|
199
251
|
├── dashboard.tsx # 「额度」tab
|
|
200
252
|
├── charts.tsx # 柱状图 / 热力图 / tooltip
|
|
201
253
|
├── locales.ts # 中英文完整词典
|
|
202
|
-
├── i18n.tsx # DSH locale
|
|
254
|
+
├── i18n.tsx # DSH locale 桥接与 Intl 标签映射
|
|
203
255
|
├── styles.ts # 全部样式
|
|
204
256
|
├── api.ts # fetch + 客户端缓存
|
|
205
257
|
├── cache.ts # TTL 缓存(含 localStorage 持久化)
|