Bundle
@phynez_1103/dsh-session-cost
DSH web plugin: shows the current session's DeepSeek API cost as a small chip in the composer button row (conversation.input.right). Prices every assistant/message by its timestamp with the official DeepSeek pricing table, including the 2026-08-17 peak/off-peak policy.
- Source
- Lzh3070
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 5 days ago
Readme
[English](README.en.md) | 中文
# dsh-session-cost
DeepSeek Harness(dsh)Web 界面的**会话花费插件**:把当前会话的 DeepSeek API 累计花费显示为输入框旁的一个小徽标。
## 特性
- **输入框实时花费**:在 `conversation.input.right` 槽位(模型选择器左侧)显示当前会话的 DeepSeek API 花费(¥),每 5 秒刷新。
- **严格模型门槛**:**仅当会话当前模型为 DeepSeek 时生效**;使用其他模型(MiniMax、Kimi 等)时徽标自动隐藏,且**非 DeepSeek 模型的请求完全不计价、不进入统计**。
- **悬停浮窗**:弹出与项目风格一致的浮窗,展示:
- 会话花费明细**表格**:输入(未命中) / 缓存命中 / 输出 × 数量 × 有效单价 = 金额;
- 今日(DSH) 用量:本机 DSH 会话今日(北京时间)消耗的 DeepSeek 花费;
- 账户余额:读 DSH 凭证中的 `DEEPSEEK_API_KEY`,经 DeepSeek 官方 `user/balance` 接口获取。
- **官方计价引擎**:按 DeepSeek 官方价格时间表对**每条** `assistant/message` 消息**按其发生时刻**逐条计价,自动应用 2026-08-17 起的高峰/空闲定价(北京时间 09:00–12:00 / 14:00–18:00 为高峰,其余时段半价),并包含插件安装之前的历史。
- **性能友好**:会话日志按 revision 缓存(5 秒轮询 = 一次 stat 比对,不重复解压解析);今日/余额独立 60 秒节奏。
## 安装
```sh
dsh plugin --profile web add @phynez_1103/dsh-session-cost
```
> ⚠️ **注意**:本插件的 npm 包名是**带 scope 的 `@phynez_1103/dsh-session-cost`**。npm 上的裸名包 `dsh-session-cost`([ChengChe106/dsh-session-cost](https://github.com/ChengChe106/dsh-session-cost))是另一个同名插件,与本仓库无关——`dsh plugin add dsh-session-cost` 装到的是它,不是本插件。
也可以直接从 GitHub 仓库安装:
```sh
dsh plugin --profile web add github:Lzh3070/dsh-session-cost
```
国内网络可走 Gitee 镜像:
```sh
dsh plugin --profile web add https://gitee.com/lzh10602042_gitee/dsh-session-cost/repository/archive/master.zip
```
装完**重启 dsh web 服务**,浏览器硬刷新(Ctrl+Shift+R)。
首次使用:设置 → 模型 中需配置 `DEEPSEEK_API_KEY`(余额与今日统计读取该凭证;未配置时余额显示 `--`,会话花费不受影响)。
## 界面
输入框右侧的小徽标(`¥0.12`),悬停弹出浮窗:

浮窗内容示例:
```
当前会话花费 ¥6.55
项目 数量 单价 金额
输入(未命中) 3.5M ¥1.000/M ¥3.49
缓存命中 111.8M ¥0.020/M ¥2.24
输出 410.5K ¥2.00/M ¥0.821
──────────────────────────────
今日(DSH) ¥0.356
账户余额 ¥197.66
```
## 价格说明
内置 DeepSeek 官方政策时间表(元 / 百万 tokens):
| 模型 | 阶段 | 输入(未命中) | 缓存命中 | 输出 |
| --- | --- | --- | --- | --- |
| deepseek-v4-flash | 当前价(2026-05-22 起) | 1 | 0.02 | 2 |
| deepseek-v4-flash | 2026-08-17 起·高峰 | 3 | 0.1 | 9 |
| deepseek-v4-flash | 2026-08-17 起·空闲 | 1.5 | 0.05 | 4.5 |
| deepseek-v4-pro | 当前价(2026-05-22 起) | 3 | 0.025 | 6 |
| deepseek-v4-pro | 2026-08-17 起·高峰 | 9 | 0.3 | 27 |
| deepseek-v4-pro | 2026-08-17 起·空闲 | 4.5 | 0.15 | 13.5 |
价格表位于 `lib/index.js` 的 `OFFICIAL_PRICING_POLICIES`,官方调价时按 `since` 时间轴追加条目即可。
## 结构
```
cordis.patch.yml inserts the plugin row into the host composition
dsh.plugin.json plugin metadata (entry id + client platform)
lib/index.js host entry: SessionCostRuntime (TypertRemoteService) +
official pricing engine + strict Typert manifest
lib/client.js single-file client bundle (ModuleLoader handshake):
composer cost chip + hover popover (class component)
lib/invariant.js invariants companion entry
```
## 数据流
- 宿主 `sessionCost(sessionId)`:经 `sessionPersistence.readRaw` 回放会话日志,逐条计价,按日志 revision 缓存。
- 宿主 `accountSummary()`:回放全部会话统计今日(北京时间)DeepSeek 用量;凭证 `DEEPSEEK_API_KEY` → 官方 `user/balance` 取余额。
- 客户端:`conversation.input.right` 槽位注册,5s 轮询 + 60s 账户节奏 + 悬停浮窗。
## 许可
MIT。计价引擎移植自 [dsh-deepseek-quota](https://github.com/yingjunnan/dsh-deepseek-quota)(MIT,其本身移植自 [bpc-oss/dsh-web-billing](https://github.com/bpc-oss/dsh-web-billing) MIT)。
Install
dsh plugin --profile web add github:Lzh3070/dsh-session-cost
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install phynez-1103-dsh-session-cost from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.