dsh-costcast
Manifest valid★ 2DeepSeek Harness Plugin: Estimate Next-Step and Current-Round Session Costs Above the Input Box
dsh-costcast
DeepSeek Harness 插件:在输入框上方常驻一条读数,告诉你下一步和这一轮大概要花多少钱。
已有的成本插件都在报"已经花了多少"。这个插件报的是"接下来要花多少"——因为影响决策的 是后者。
它做什么
会话每多跑一步,都要把整个上下文重新发一遍,而上下文只增不减。结果是单步成本随会话 一路变贵,总花销涨得比步数快得多。这个插件把这条增长曲线摆到台面上:
- 下一步:按当前上下文规模、本会话实测的缓存命中率、每步平均输出,估算下一次请求的花费
- 本轮:再乘上本会话实测的每轮步数,给出"再问一轮"的区间
- 上下文占比:与宿主自带的上下文圆环同一口径,超过 70% 时提示开新会话
- 每步成本走势:装好之后开始累积,让上下文变贵这件事可见
点一下读数条,向上展开成本构成:会话累计、三个计费桶各自的金额、每步成本曲线。
和别的成本插件有什么不同
| 常见的成本插件 | dsh-costcast | |
|---|---|---|
| 时间方向 | 过去(已花掉多少) | 未来(下一步要花多少) |
| 数值形式 | 精确的单点值 | 区间 |
| 关注点 | 总账 | 边际成本 |
| 注册的工具 | 通常带查询工具或命令 | 一个都不注册,冲突面为零 |
三类数字来源完全不同,互不重复。这个插件也不展示 token 构成——宿主自带的上下文 占用圆环已经做了那件事。
安装
要求 DeepSeek Harness 桌面版(内核 0.2.0-rc.2 及以上)。
git clone https://github.com/manhkhiemhoang2-bit/dsh-costcast.git
然后走 Harness 自己的插件通道安装(把路径换成你的克隆位置):
& "$env:APPDATA\DSH Desktop\host-commands\desktop\generations\<最新一代>\bin\dsh.cmd" `
plugin --profile desktop add "C:\path\to\dsh-costcast"
这条命令会一次性完成依赖链接、dsh.profile.bundles 登记和 node_modules 软链,
不需要手工改 profile 的任何文件。装完重启应用(客户端半端在启动时加载)。
卸载:
& $dsh plugin --profile desktop remove dsh-costcast
界面说明
读数条
上下文 562K │ 下一步 ¥0.032–0.036 │ 本轮 ¥0.19–0.54 │ 空闲价 ▁▂▃▅▇
| 段 | 含义 |
|---|---|
| 上下文 | 下一次请求要发送的上下文规模 |
| 下一步 | 下一次请求的成本区间 |
| 本轮 | 再问一轮的总成本区间;本会话还没有步数样本时显示 — |
| 价格档 | 当前处于空闲还是高峰时段,高峰时标为琥珀色 |
| 走势 | 最近若干步的成本柱状图,越高越贵 |
展开面板
分四块:
- 会话累计:整个会话到目前为止的花费,按当前价格档计算
- 构成:缓存读、输出、未缓存三个桶各自的 token 数与金额
- 每步成本:从插件装上那一刻开始累积的走势
- 提示:上下文占比与缓存命中率;占比过高时改为开新会话的建议
估算模型
下一步输入 = projectedTokens(按本会话实测命中率拆成 命中 / 未命中)
下一步输出 = outputTokens ÷ steps,取 [0.5×, 1.5×] 作为区间
单步成本 = 命中×命中价 + 未命中×未命中价 + 输出×输出价
一轮成本 = 单步成本 × 每轮步数区间(steps ÷ turns 的 [0.6×, 1.5×])
三项输入里,命中率和每步平均输出来自本会话实测,下一步上下文规模由宿主投影直接给出。 唯一不可预知的是输出长度,用带宽覆盖——这也是给区间而不是单点值的原因。
完整的推导、真实数据、以及模型会低估或高估的具体情形,见 DESIGN.md。
价格
内置价目(元 / 百万 tokens),来自 DeepSeek 官方文档,查证日期 2026-10-12:
| 模型 | 缓存命中 空闲 | 缓存命中 高峰 | 未命中 空闲 | 未命中 高峰 | 输出 空闲 | 输出 高峰 |
|---|---|---|---|---|---|---|
deepseek-flash | 0.02 | 0.04 | 1 | 2 | 4 | 8 |
deepseek-v4-pro | 0.15 | 0.30 | 4.5 | 9.0 | 13.5 | 27.0 |
高峰时段为北京时间周一至周五(不含法定节假日)9:00–12:00 与 14:00–18:00, 其余时段为空闲,空闲价是高峰价的一半。
价格会调整,内置值只是一份快照。用之前建议对照 官方价格页 确认。
数据来源
全部来自客户端投影,插件不读会话文件、不轮询、不发起网络请求、申请零额外权限。
| 投影 | 提供方 | 取什么 |
|---|---|---|
tokenUsage | dsh-token-meter | 会话累计的四个计费桶 |
contextPressure | dsh-token-meter | 上下文规模与窗口容量 |
sessionStats | dsh-session-stats | 轮数与步数 |
宿主半端(index.js)是空的,只作为 bundle 的入口存在。
已知限制
- 模型名写死为
deepseek-flash。客户端投影里没有当前模型名,换模型需要同步改src/component.js里的MODEL常量 - 法定节假日没有内置。每年的假期安排会调整,写死会过期,所以只按周末与时段判断峰谷
- 每步走势从装上那刻开始累积,重启后清零。投影只提供会话累计,历史由插件自己攒
- 界面文字只有中文,未接入 locale 服务
- 峰谷判断依赖运行机器的时钟换算北京时间,机器时区错误会判错价格档
开发
node build.mjs # 生成 client.js(改了 src/ 必须重新跑)
node --test test/estimate.test.mjs test/client.test.mjs
node --check client.js
client.js 是构建产物,不要直接编辑。源码分两部分:
src/estimate.js:估算内核,纯函数,不依赖 DSH,可脱离宿主单测src/component.js:读数条与展开面板
测试共 42 例。估算内核的期望值按手算写死,另外有一组用真实会话数据做量级核对;
客户端测试在 Node 里用桩件跑真实的 client.js,验证模块加载契约、槽位注册参数
和渲染输出。
项目结构
src/estimate.js 估算内核:价格表、峰谷判断、成本区间、格式化
src/component.js 读数条与展开面板
build.mjs 把上面两个内联进浏览器包
client.js 构建产物:浏览器半端
index.js 宿主半端(空)
cordis.patch.yml bundle patch
test/ 42 个测试
docs/readout.svg 读数条示意图
许可证
蓝鲸标记取自微软 Fluent Emoji(MIT), 出处与协议全文见 THIRD-PARTY.md。
本项目是社区插件,与 DeepSeek 官方无隶属关系,也未获得官方背书。
Comments
Loading…
From the same category
by awesome-dsh-plugin
A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表
★ 18.5k
CC0-1.0
Python
Oct 12, 2026
by 0xsline
DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.
★ 1.2k
CC0-1.0
Python
Oct 10, 2026
by pax-beehive
Open-source CLI, schemas, resolver, and DSH agent tools for DSH Plugin Hub
★ 400
MIT
TypeScript
Oct 6, 2026
by xiajiajun516
DeepSeek Harness (DSH) backup & restore plugin — export, import, migrate and sync your complete DSH configuration, plugins, MCP servers, skills and workspace. One-click migration to another machine.
★ 185
MIT
TypeScript
Oct 13, 2026
dsh plugin --profile web add dsh-config-managerby yjh051108
推荐组件(非必须):DeepSeek Harness 运行时注入器;已随 dsh-routing-suite 单仓库化保留,本仓库继续维护/发布。
★ 166
TypeScript
Sep 18, 2026
dsh plugin --profile web add @dsh-external/dsh-super-injectorby jigjoy-ai
A CLI that turns a goal into a pull request - and a sandbox for testing concurrent AI coding agents on the Mozaik runtime.
★ 124
MIT
TypeScript
Oct 12, 2026