Repository navigation
Releases: rayadesune/DeepSeek-Harness-chat-billing
Releases · rayadesune/DeepSeek-Harness-chat-billing
Release list
v1.1.0
新增功能
- 输入框花费 pill 主金额口径对齐官方 pill(只算主会话),委派子会话的花费以
·分隔缀在其后(子会话 ¥…),点开卡片时子会话小计单列于最前一行,标题取四行之和 @rayadesune - 今日花费排名对 CLI 一跑会话(
dsh <prompt>,会话列表里没有对应条目)在标题后缀(CLI)标识,此类条目可一眼解释 @rayadesune
其他变更
- 补齐分发物 LICENSE,根 LICENSE 追加版权行 @rayadesune
- 双语 README 补 fork 来源致谢与许可证声明 @rayadesune
- 忽略本地 .workbuddy 工作目录 @rayadesune
New Features
- The composer spend pill's main amount now follows the official pill's caliber (main session only); the delegated subagents' spend trails it as a
·rider (Subagents ¥…), and the cost card lists the subagent subtotal as its own leading row with the heading taking the four rows' sum by @rayadesune - Today's spend ranking marks CLI one-shot runs (
dsh <prompt>, which have no session-list counterpart) with a(CLI)title suffix, so such entries read as explainable at a glance by @rayadesune
Chores
- Ship the LICENSE for distributed artifacts; append the copyright line to the root LICENSE by @rayadesune
- Add fork-origin acknowledgements and license statements to the bilingual READMEs by @rayadesune
- Ignore local .workbuddy working directories by @rayadesune
Full Changelog: v1.0.0...v1.1.0
v1.0.0
新增功能
- 额度不可用时也能打开会话头部的计费详情卡片:徽标显示「额度不可用」,点开即卡片,余额行为
—,今日 Token 与今日花费照常显示(它们来自会话日志,与余额读取无关)@rayadesune - 区分两种空态:凭据被拒/传输失败显示「额度不可用,请检查 API key」;API 正常应答但该 key 没有可用余额时显示「该 API key 当前没有可用余额」@rayadesune
体验优化
- 卡片首行改为简短的中文本地化文案,不再渲染 Remote 的英文传输原文(原文保留在徽标的无障碍名与宿主日志中)@rayadesune
- 余额查询始终使用 API key(
GET /user/balance的Authorization: Bearer),不再考虑账号模式的余额 @rayadesune - 单轮花费的金额渲染不再把整数 0 当作「尾零」裁掉,
¥0之类的金额保持完整 @rayadesune
其他变更
- 构建产物
lib/随源码入库并在构建时归一化路径,使仓库内的产物可直接运行(pnpm 对 git 来源的依赖不执行prepare)@rayadesune - 开发期的本地安装改为本地 tarball 快照(
all一次装全三包、--unpack支持应用独占的桌面 profile)@rayadesune - 分发方式收敛为 npm,文档与发布流程同步更新 @rayadesune
New Features
- Open the session-header billing card even when the balance is unavailable: the chip reads "Balance unavailable", the card's headline shows
—, and today's tokens and spend stay visible because they come from the session logs, not the balance read @rayadesune - Tell the two empty states apart: a rejected credential or transport failure reads "Balance unavailable — check the API key", while an API that answers without a spendable balance reads "No spendable balance on this API key" @rayadesune
Improvements
- The card's first row is now a short localized sentence instead of the Remote's verbatim English transport message, which stays on the chip's accessible name and in the host log @rayadesune
- The balance read always uses the API key (
Authorization: BeareronGET /user/balance); the account-mode balance is no longer considered @rayadesune - A whole amount of zero is no longer trimmed as a trailing zero in the turn-cost renderer, so figures like
¥0keep their digits @rayadesune
Chores
- The built
lib/artifacts are committed with the sources and their build-machine paths are normalized at build time, so the tree ships runnable code (pnpm runs nopreparefor a git-hosted dependency) @rayadesune - Local development installs now use tarball snapshots (
allinstalls all three packages at once;--unpackcovers an app-managed desktop profile) @rayadesune - Distribution is npm-only now, with the docs and release flow updated to match @rayadesune
Full Changelog: v0.3.18...v1.0.0
v0.3.18
新增功能
- 输入框下方新增花费 pill:本会话花费(含委派的子代理)与官方用量 pill 同排,点开查看三桶明细 @rayadesune
- 右上角徽标第二行改为「今日花费」,与卡片今日行同一个数据、同一文案 @rayadesune
体验优化
- 详情卡片去掉「本会话花费」区块,只保留账户级数据:今日 Token 与花费、两桶明细、计价缺口提示、今日会话排行 @rayadesune
- 卡片「?」说明改用 HoverCard:4 行说明分层排版、指针可停留可选中、位置夹进视口 @rayadesune
- 插件图标改为单环 + 实心四角星,环线加粗,条目图标与输入框 pill 两处尺寸档结构一致 @rayadesune
问题修复
- 修复卡片「?」提示打不开:Tooltip 气泡被面板的 backdrop-filter 重锚到屏幕外、点击还会主动关闭;改用自带 portal 的 HoverCard 后,悬停 / 点击 / 键盘聚焦都能打开 @rayadesune
其他变更
- DSH 依赖线升级 0.1.7-alpha.2 → 0.2.0-rc.1 @rayadesune
- 双语 README 同步,AGENTS 补 HoverCard 与 portaled 卡片两条约定,HANDOFF 文件停用 @rayadesune
New Features
- New composer spend pill below the input: this conversation's spend (delegated subagents included) sits beside the official usage pills, with the three-bucket breakdown one click away by @rayadesune
- The badge's second line now shows today's spend, sourced and worded exactly like the panel's today row by @rayadesune
Improvements
- The detail panel drops its session-spend block and keeps account-level data only: today's tokens and spend, the two bucket lines, the pricing-gap notice, and today's session ranking by @rayadesune
- The panel's "?" note moves to a HoverCard: four lines with layered typography, hoverable and selectable, placement clamped into the viewport by @rayadesune
- The plugin icon is now a single ring with a solid four-point star and a thicker stroke; the entry icon and the composer pill mark share one structure by @rayadesune
Bug Fixes
- Fix the panel's "?" hint that could not be opened: the Tooltip bubble was re-anchored outside the viewport by the panel's backdrop-filter, and a click dismissed it; the HoverCard portals itself and opens on hover, click, or keyboard focus by @rayadesune
Chores
- DSH dependency line upgraded 0.1.7-alpha.2 → 0.2.0-rc.1 by @rayadesune
- Bilingual READMEs synced, AGENTS gained the HoverCard and portaled-card conventions, HANDOFF retired by @rayadesune
Full Changelog: v0.3.17...v0.3.18
v0.3.17
新增功能
- 支持 DeepSeek Harness 官方「添加插件」安装方式:输入包名、GitHub 仓库地址或本地目录即可安装 @rayadesune
- 会话头部数据按会话/账户分组读取,切换会话只重取会话相关数据,切会话不再长时间转圈 @rayadesune
体验优化
- 插件管理页显示插件的中英文标题、描述与图标,语言切换同步生效 @rayadesune
- 余额请求自动重试瞬时故障,鉴权失败给出可执行的处理提示 @rayadesune
问题修复
- 未收录模型不再静默失效:不按名称猜费率,用量记为未计价并在面板列出模型名与原因 @rayadesune
- 面板区分「没有用量」与「有量但没费率」两种空态,并列出未计价模型 @rayadesune
其他变更
- 拆分计价引擎与今日扫描为独立模块、扫描改用数值日界;安装文档改为 Web 插件页优先 @rayadesune
New Features
- Support for DeepSeek Harness's official Add plugin flow: install by package name, GitHub repository address, or local directory by @rayadesune
- The session header now fetches data grouped by session/account, so switching sessions re-fetches only session-scoped data and no longer spins for a long time by @rayadesune
Improvements
- The Plugins page shows each plugin's localized title, description, and icon, following the language switch by @rayadesune
- Balance requests retry transient failures, and authentication failures surface an actionable message by @rayadesune
Bug Fixes
- Unlisted models no longer fail silently: no name-based rate guessing — usage is recorded as unpriced and the panel lists the model and the reason by @rayadesune
- The panel distinguishes "no usage" from "usage without a rate" and lists unpriced models by @rayadesune
Chores
- Split the pricing engine and today's scan into standalone modules with a numeric day boundary; installation docs now lead with the Web plugin page by @rayadesune
Full Changelog: v0.3.16...v0.3.17
v0.3.16
问题修复
- 补上 MiMo-V2.6 系列费率行(
mimo-v2.6-flash/mimo-v2.6-pro,按官方口径沿用 V2.5 价格):此前价目表只有 V2.5,无费率行的模型一律不计价,换用 Mimo-V2.6-Flash 后消息行尾花费与今日花费整体消失 @rayadesune
体验优化
- 详情面板与 composer 花费卡补
backdrop-filter: var(--dsw-menu-backdrop-filter):DSH 0.1.7 把菜单底色改为半透明并要求配模糊,只有填充的面板会让会话文字透出卡片 @rayadesune
Bug Fixes
- Add the MiMo-V2.6 rate rows (
mimo-v2.6-flash/mimo-v2.6-pro, keeping V2.5's published rates): models without a rate row were never priced, so switching to Mimo-V2.6-Flash silently removed every per-message cost and today's spend by @rayadesune
Improvements
- Pair the detail panel and composer spend card with
backdrop-filter: var(--dsw-menu-backdrop-filter): DSH 0.1.7 made the menu fill translucent, and a fill without the blur let the transcript bleed through the card by @rayadesune
Full Changelog: v0.3.15...v0.3.16
v0.3.15
体验优化
- 头部徽标与面板图标跟随 dsh 0.1.7 新图标体系(
Icon*OutlineRegular,14px 描边风格与原生 UI 一致) @rayadesune
问题修复
- 适配 dsh 0.1.7-alpha.2:升级 dsh 源码后计费插件不可用的问题(typert codec
create工厂要求、localeconfigForms服务面、configForms/ResizeObserver等测试基建跟进) @rayadesune
其他变更
@deepseek-ai/*依赖基线升至^0.1.7-alpha.2(cordis 4.0.4 / schemastery 3.18.4),内嵌 typert-protocol 声明同步刷新;typert-compat 降级为安全网、verify改按 codec 块判定 @rayadesune
Improvements
- Header badge and panel icons follow the new dsh 0.1.7 icon system (
Icon*OutlineRegular, 14px stroke style consistent with the native UI) by @rayadesune
Bug Fixes
- Adapt to dsh 0.1.7-alpha.2: the billing plugin stopped working after upgrading the dsh source checkout (typert codec
createfactory requirement, localeconfigFormsservice surface, and matching test-infrastructure updates) by @rayadesune
Chores
@deepseek-ai/*dependency baseline bumped to^0.1.7-alpha.2(cordis 4.0.4 / schemastery 3.18.4), vendored typert-protocol declarations refreshed; typert-compat is now a safety net andverifyjudges per codec block by @rayadesune
Full Changelog: v0.3.14...v0.3.15
v0.3.14
新增功能
- 详情面板
API 剩余金额的金额后新增「今日消费」小字,口径纯按 API 加减:当日首次查询余额 − 当前余额 + 当日充值(充值=余额上涨按 10 元步进向上取整),与balanceinfo程序逐条一致;与计价的「今日花费」刻意分成两个数,别的客户端或本浏览器打开之前花的钱只体现在这里。 @rayadesune
体验优化
- 余额改为页面可见时每 5 分钟轮询(与
balanceinfo本体同节奏),窗口隐藏时暂停、回到前台立刻补一次:该数字的基准是「当天第一次采样到的余额」,采样节奏即其分辨率,页面跨 0 点开着时基准因此落在 0 点后一个间隔内,中途充值也能在一个间隔内被发现。 @rayadesune - 「花费说明」提示补一行说明这个紧跟数字的含义,并把原「紧跟的数字为本会话今日花费」改为「本会话花费后的数字为…」(现在有两个紧跟数字,旧说法会歧义)。 @rayadesune
- 当日余额记录写入浏览器
localStorage(键dsh.billing.balance-day.v1),跨页面刷新与dsh重启保留;存储不可用时退化为内存,坏数据读作「无记录」,不影响余额显示。 @rayadesune
其他变更
- 双语 README 新增「余额序列口径的今日消费」小节,并同步所有额度刷新说明与已知限制;两处
README.i18n.yamlblob hash 更新。 @rayadesune - README 预览图改用 Markdown 图片语法,收录站(awesome-dsh-plugin)此前对裸 HTML
<img src="相对路径">一律不显示。 @rayadesune
New Features
- The detail panel's
API 剩余金额row now carries today's consumption as a bare figure after the amount, pure account arithmetic: the day's first queried balance − the current balance + the day's top-ups (an increase rounded up to the next ¥10 step), rule for rule thebalanceinfoprogram's caliber. It is deliberately a separate figure from the priced 今日花费 — spend from another client, or from before this browser was opened, shows up only here. by @rayadesune
Improvements
- The balance is now polled every 5 minutes while the page is visible (the
balanceinfoprogram's own cadence), paused while the window is hidden and refreshed once when it returns: that figure is measured from the first balance each local day samples, so the cadence is its resolution — a page left open across midnight takes the new day's baseline within one interval, and a mid-day top-up surfaces within one too. by @rayadesune - The spend hint gained a line naming that figure's meaning, and "the figure after it is this session's spend today" became "the figure after this session's amount is its spend today" (two trailing figures now, so the old wording was ambiguous). by @rayadesune
- The day's balance record is persisted in the browser's
localStorage(keydsh.billing.balance-day.v1), surviving reloads anddshrestarts; an unusable store degrades to memory and malformed data reads as no record, so the balance display is never affected. by @rayadesune
Chores
- Both READMEs gained a "Today's consumption from the balance series" section, and every balance-refresh note and known limitation was brought along; both
README.i18n.yamlblob hashes re-recorded. by @rayadesune - README previews switched to Markdown image syntax — the plugin directory site (awesome-dsh-plugin) renders no bare HTML
<img src="relative">at all. by @rayadesune
Full Changelog: v0.3.13...v0.3.14
v0.3.13
新增功能
- 「今日 Token」数值后跟随当天的缓存命中率——只有百分比数字、无括号无文字,小数位按 DSH 官方命中率规则(默认整数百分比,只有部分命中会被凑到 100% 时才逐位多留小数) @rayadesune
- 面板排版定为三级字体体系,并在样式表一处定义:一级 = 桶明细行与今日会话排行整行(含金额)与两个紧跟数字,二级 = 模型名与其行金额、「今日会话花费」标题,三级 = 「今日 Token」「今日花费」「本会话花费」三行 @rayadesune
体验优化
- 「本会话花费」与「今日 Token」后面的两个小字改为一级样式并去掉括号,只保留数字本身,并与前面的数值拉开约 8px @rayadesune
- 会话只计价一个模型时,整行模型行(模型名与金额)不再显示,只留下面那行桶明细;多个模型时每行仍带名字与暗一档的金额 @rayadesune
问题修复
- 适配 DeepSeek Harness 0.1.6 基线(typert codec 双字段桥接),插件在新版 DSH 上重新可用 @rayadesune
- 「本会话花费」改为整次对话口径:本会话自身的花费加上它委派的子代理会话,模型分项同样合并 @rayadesune
- 今日会话花费排行按「对话」归组:每个子代理会话的花费并入委派它的那个会话行 @rayadesune
其他变更
- 仓库新增一条命令完成的阶段 A 收尾脚本(构建 → 打包 → 装入 profile → 产物抽查) @rayadesune
- 输入框下方的花费卡片源码与用例一并入库,注册仍停放(等官方给出输入框统计行的子插槽) @rayadesune
New Features
- Today's token figure now carries the day's cache-hit share — percentage only, no parentheses and no wording, with decimals following DSH's own hit-rate rule (an integer percent that grows decimals only as far as a partial hit needs to stay below 100) by @rayadesune
- The panel's typography is now three defined levels, declared in one place in its stylesheet: level one the bucket detail lines, a whole today session-spend ranking row (amounts included) and the two trailing figures, level two the model name with its row amount and the 今日会话花费 title, level three the 今日 Token / 今日花费 / 本会话花费 rows by @rayadesune
Improvements
- The two trailing figures after 本会话花费 and 今日 Token are level-one now and lost their parentheses — the number alone, about 8px clear of the figure it follows by @rayadesune
- A session pricing a single model renders no model row at all (neither name nor amount), leaving only its bucket line; multi-model sessions keep a named row each with a one-step-dimmer amount by @rayadesune
Bug Fixes
- Adapted to the DeepSeek Harness 0.1.6 baseline (a typert codec two-field bridge), so the plugin works on the new DSH again by @rayadesune
- This session's spend is a whole-conversation figure now: this session's own spend plus the subagent sessions it delegated, with their model rows merged in by @rayadesune
- Today's session-spend ranking groups by conversation: every subagent session's spend joins the row of the session that delegated it by @rayadesune
Chores
- Added a one-command stage-A finisher to the repository (build → pack → install into a profile → artifact check) by @rayadesune
- The composer spend card's source and tests are in the repository, still unregistered (waiting on an official child slot in the composer stats row) by @rayadesune
Full Changelog: v0.3.12...v0.3.13
v0.3.12
新增功能
- 详情面板新增今日 Token:汇总今日所有会话已计价模型行的三个计费桶(未缓存输入 / 缓存读取 / 输出),直接由已拉取的今日花费求和得出,不额外发请求;记数法逐条对齐 DSH——
517 tok、12.2K tok、1.2M tok(低于 1e3 输出原整数、低于 1e6 用K、再往上用M,缩放值小于 100 保留一位小数、100 起取整),单位沿用 DSH 自己的tok写法 @rayadesune - 「本会话花费」金额后新增括号内的本会话今日份金额(如
本会话花费:¥5.00(¥0.45)):取自已拉取的今日会话排行、按当前会话 id 匹配,既不是排行首行也不是当日合计,也不额外发请求;只在两个金额对不上时渲染,也就是会话跨了北京时间自然日的情况——没跨天时今日份恰好等于会话总额,括号只会重复旁边的数字,排行未落定也不渲染 @rayadesune - 「?」花费说明新增一行,说明括号里就是本会话今日花费;版本号仍是最下面一行 @rayadesune
体验优化
- 面板首行改为「今日 Token」与「今日花费」(原「今日共花费」文案改为「今日花费」),本会话花费移到下一行独占一行 @rayadesune
- 每个模型的分项桶名换成 DSH 官方文案与行序:未缓存输入 · 缓存读取 · 输出(对齐 ui-chat 用量对话框的
message.turnUsage词条) @rayadesune - 根 README 与各包 README 的预览图换成反映当前界面的真实截图,双语说明同步 @rayadesune
其他变更
- 三包版本对齐 0.3.12(根 bundle、
@rayadesu/dsh-llm-billing、@rayadesu/dsh-client-ui-billing),pnpm-lock.yaml与 peer 范围同步 @rayadesune - 输入框花费卡片的源码、用例与文档入库(
SpendCard.tsx/spendBuckets.ts/useCardDialog.ts/icons.tsx及 11 条用例),但注册处于暂停状态:conversation.composer.dock是独占一行的 list slot,无法与官方 token/时间 pill 并排,注册块以注释停在src/client/index.ts,等宿主提供真正的席位再放开;bundle 行为不变 @rayadesune
New Features
- The detail panel gained today's tokens: the three billed buckets (uncached input / cached input / output) of every priced model row today, summed from the already-fetched today's spend with no extra request. The notation mirrors DSH rule for rule —
517 tok,12.2K tok,1.2M tok(plain integer below 1e3, theKunit below 1e6,Mabove, one decimal under 100 and rounding from 100 up), with DSH's owntokunit by @rayadesune - The 本会话花费 amount now carries this session's share of today in parentheses (e.g.
本会话花费:¥5.00(¥0.45)), read from the already-fetched today-session ranking and matched by the current session id — neither the ranking's first row nor the day's total, and no extra request. It renders only when the two amounts disagree, which is exactly a session that crossed a Beijing day: without the crossing, today's share equals the whole-session amount and the parenthesis would just repeat the number beside it; an unsettled ranking renders nothing by @rayadesune - The
?spend hint gained a line naming that parenthesized amount as this session's spend today, with the version still the last line by @rayadesune
Improvements
- The panel's first row is now 今日 Token next to 今日花费 (「今日共花费」 was renamed to 「今日花费」), and this session's spend moved to a line of its own below them by @rayadesune
- Each model's cost breakdown now uses DSH's own bucket wording and row order: uncached input · cached input · output (mirroring ui-chat's usage dialog) by @rayadesune
- The root and package README previews were replaced with real screenshots of the current UI, with the bilingual copy updated by @rayadesune
Chores
- Aligned all three packages at 0.3.12 (root bundle,
@rayadesu/dsh-llm-billing,@rayadesu/dsh-client-ui-billing) and refreshedpnpm-lock.yamlwith the peer ranges by @rayadesune - The composer spend card's source, tests, and docs are now in the repository (
SpendCard.tsx/spendBuckets.ts/useCardDialog.ts/icons.tsxplus 11 specs) but its registration is parked:conversation.composer.dockis a row-owning list slot that cannot seat it beside the built-in token/time pills, so the registration block sits commented out insrc/client/index.tsuntil the host offers a real seat — bundle behaviour is unchanged by @rayadesune
Full Changelog: v0.3.11...v0.3.12
v0.3.11
新增功能
- 详情面板「本会话花费」的金额后新增一个括号金额(如
本会话花费:¥1.23(¥0.45)):括号里是本会话今天的花费,取自已拉取的今日会话排行、按当前会话 id 匹配,所以既不是排行首行也不是当日合计,也不额外发任何请求;排行还没回来时显示(—),回来后该会话今天没有计价行则显示(¥0)@rayadesune - 花费说明气泡末行显示当前插件版本号(构建期从本包 manifest 注入),便于反馈时指明所用构建 @rayadesune
体验优化
- 「今日共花费」改为「今日」(英文
Today total:→Today:) @rayadesune - 「?」的花费说明精简为一句(只留估算口径与高峰窗口,费率明细在 README),并改为在按钮下方弹出,纵向放不下时会翻到上方 @rayadesune
问题修复
- 修复「?」的花费说明超出气泡容量被视口裁掉上半截、且指针一离开按钮就消失的问题(DSH 气泡既无限高也不可悬停,故改为短文案 + 下方弹出) @rayadesune
其他变更
- 三包版本对齐 0.3.11(根 bundle、
@rayadesu/dsh-llm-billing、@rayadesu/dsh-client-ui-billing),pnpm-lock.yaml与 peer 范围同步 @rayadesune - 双语文档同步面板文案、括号金额的取值口径(复用排行那次读取、最多滞后 60 秒)与气泡说明,
README.i18n.yamlblob hash 重算 @rayadesune
New Features
- The detail panel's 本会话花费 amount now carries a parenthesized amount (e.g.
本会话花费:¥1.23(¥0.45)): it is this session's spend today, read from the already-fetched today-session ranking and matched by the current session id, so it is neither the ranking's first row nor the day's total — and it costs no extra request; it shows(—)until that ranking settles, and(¥0)once it settles without a row for this session by @rayadesune - The spend-hint bubble now ends with the running plugin version (stamped in at build time from this package's manifest), so a report can name the build by @rayadesune
Improvements
- 「今日共花费」 became 「今日」 (English
Today total:→Today:) by @rayadesune - The
?spend hint is now one short sentence (estimate scope and the peak windows only; the full rate schedule lives in the READMEs) and opens below the button, flipping above when it does not fit vertically by @rayadesune
Bug Fixes
- Fixed the
?spend hint being clipped at the viewport edge and vanishing as soon as the pointer left the button (the DSH bubble clamps neither height nor hover, so the hint is short and drops below the anchor) by @rayadesune
Chores
- Aligned all three packages at 0.3.11 (root bundle,
@rayadesu/dsh-llm-billing,@rayadesu/dsh-client-ui-billing) and refreshedpnpm-lock.yamlwith the peer ranges by @rayadesune - Synced the bilingual docs with the new panel copy, how the parenthesized amount is sourced (it rides the ranking fetch, up to 60 seconds behind), and the hint, recomputing the
README.i18n.yamlblob hashes by @rayadesune
Full Changelog: v0.3.10...v0.3.11