xinshang777/dsh-turn-cost ↗★ 0

dsh-turn-cost

DSH Web 界面:每轮 assistant 时间戳后显示该轮费用金额(对齐 dsh-whale-widget 计价口径) 适合使用DeepSeek官方API、需要精细监控单轮成本的用户。

Package
dsh-turn-cost
Compatibility
Unverified
Version
0.1.1
License
MIT
Last updated
Sep 29, 2026

Other repositories with this package name

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:xinshang777/dsh-turn-cost

使用教程

  1. 看费用 —— 装完重启、刷新页面,随便问一句,回复下方时间戳旁就会多出金额。

  2. 明白"什么时候才可见" —— 金额与原生时间戳共享同一套显隐规则(这是刻意对齐 DSH 上游的交互,不是 bug):

    位置显示时机
    时间线最后一轮常显
    其余轮次鼠标移到那一轮上时才显示

    如果你希望所有轮次都常显,可以自行注入一行 CSS:

    [data-actions-reveal=hover]:has([data-dsh-turn-cost]) .xzv4MW_actions { opacity: 1 }
    

    代价是该轮所有操作按钮也一起常显,与 DSH 默认行为不一致,所以本插件默认不做。

  3. 点上下文百分比压缩上下文 —— 点击 28% 那个数字,插件走官方 command 路径触发 /compact,等价于你手打 /compact;超时默认 120 秒。

  4. 历史会话也能看到金额 —— 插件用 DSH 的 sessionPersistence 回填历史会话,切回旧会话时之前的轮次也会显示金额(按事件自身发生的时间判定峰谷)。

  5. (可选)调配置 —— 编辑 ~/.dsh/profiles/web/cordis.patch.yml,在 dsh-turn-cost 的 config: 下调整。

flowchart TD
    A["DSH 运行时
产出 usage 事件"] --> B["lib/index.js
订阅并去抖"]
    B --> C["pricing.mjs
按事件时间判峰谷"]
    C --> D["ledger.mjs
写 turns.json"]
    D --> E["assets/client.js
挂到时间戳节点"]
    E --> F["页面显示
28% · ¥0.0123"]
    F -->|"点百分比"| G["走官方 command
触发 /compact"]

配置项

配置写在 ~/.dsh/profiles/web/cordis.patch.yml 的 dsh-turn-cost: config: 下。注意是整体替换:只写几个字段就只生效这几个,其余回落到下表默认值。

名称类型默认值是否必填作用
currencystring"¥"否货币符号
decimalsnumber | nullnull否小数位;null = 自适应(≥1 显示 2 位 / ≥0.01 显示 3 位 / 其余 4 位)
tinyLabelstring"¥<0.0001"否四位小数仍为 0 时的替代文案
showContextbooleantrue否在金额前显示该轮结束时的上下文占用百分比,点击可压缩
compactTimeoutMsnumber120000否触发 /compact 的超时(毫秒)
pollMsnumber1200否页面可见时的轮询间隔(毫秒)
pollMsHiddennumber6000否页面隐藏时的轮询间隔(毫秒)
priceUnknownProvidersbooleanfalse否非 DeepSeek provider 是否仍按 _default 计价
includeCacheWritebooleanfalse否是否把 cacheWriteTokens 按未命中价计入
backfillbooleantrue否是否用 sessionPersistence 回填历史会话
maxReplayEventsnumber50000否单个会话回填的事件上限
ttlDaysnumber30否账本数据保留天数
maxSessionsnumber200否最多保留多少个会话
maxTurnsPerSessionnumber2000否单会话最多保留多少轮
maxBytesnumber4194304否账本文件字节上限(4 MB)
debounceMsnumber400否落盘去抖(毫秒)