dsh-cost-saver
DeepSeek Harness 的成本省钱管家 —— 不是又一个记账本,而是主动帮你省钱:
- 峰谷调度:实时判断当前是高峰还是闲时(北京时区 9:00–12:00 / 14:00–18:00),给出"现在跑 vs 推迟到闲时"的差价建议
- 用量计量:每个 turn/step 的 token(输入/输出/缓存读/缓存写)与成本,全部只落本机
- 缓存洞察:缓存命中率一目了然,提示可复用的固定提示词,帮你在涨价后的缓存经济里把钱省回来
- 预算治理:会话 / 日 / 月三级预算,阈值告警 + 超限策略(alert / block)
背景:DeepSeek 于 2026-08 起实行峰谷计价(高峰时段成本为闲时的 2 倍)。 官方 Harness 不显示任何成本信息,社区记账本已有多个,但"主动调度省钱" 仍是空白 —— 这正是本插件的位置。
安装
dsh plugin --profile web add dsh-cost-saver
重启 dsh web 后生效。验证是否挂载:
dsh --profile web --dump-config | grep -A2 'id: cost-saver'
本地开发可 dsh plugin --profile demo add ./dsh-cost-saver。
用法
装完即可用,向 Agent 提问:
| 你问 | Agent 会调用 |
|---|---|
| "今天花了多少钱?" | cost_report |
| "现在跑这个任务划算吗?" | cost_schedule_check |
| "帮我设置每月 100 美元的预算" | cost_budget(set) |
| "解除预算阻断" | cost_budget(unblock) |
配套技能(skill.md)会让 Agent 在接到长任务时主动检查时段、提示调度。
统计数据接口(供 Web 面板/脚本轮询):
GET /plugins/dsh-cost-saver/summary # 今日用量与成本
GET /plugins/dsh-cost-saver/budget # 预算状态
数据落在 ~/.dsh/cache/dsh-cost-saver/(每日 jsonl 增量 + state.json),
零遥测,可选 webhook 仅在配置后才会外发告警。
配置
全部可选,编辑 ~/.dsh/profiles/web/cordis.patch.yml 中 cost-saver 一节的 config:
- insert:
- id: cost-saver
name: dsh-cost-saver
config:
currency: USD # USD | CNY
peakHours: [[9, 12], [14, 18]]
peakOffpeakRatio: 2 # 闲时价 = 高峰价 / 该比值
prices: # 覆盖模型价格(USD / 1M tokens)
deepseek/deepseek-v4-flash:
input: 0.15
output: 0.29
cacheRead: 0.02
cacheWrite: 0.15
budgets:
session: 10 # 单会话预算上限(USD)
daily: 50
monthly: 500
warnRatio: 0.8 # 达到预算 80% 时告警
overLimit: alert # alert | block
webhookUrl: "" # 可选告警 webhook(POST JSON)
价格与峰谷模型
内置价格表是估算占位(DeepSeek 官方价随策略调整),开箱即用但请务必
用官方价覆盖,见上方 config.prices。峰谷模型:
成本 = tokens × 单价 × (高峰 ? 1 : 1/peakOffpeakRatio)
未知模型不会假装免费:会按 fallback 价估算并在结果中标记 known: false,
报告里明确提示"以官方为准"。
权限与数据
- 权限:
network:outbound(仅可选告警 webhook,默认关闭);本地读写~/.dsh/cache/dsh-cost-saver/;native-code: none。 - 数据:全部本地。不上传 token 用量、不上传价格、不发送遥测。
兼容性
- 开发与测试基准:
@deepseek-ai/dsh 0.1.0-rc.7(2026-08-19) - DSH 处于开发者预览期,接口可能破坏性变更;若安装后不生效,
先确认
dsh版本,再看--dump-config里cost-saver行是否存在。 - 事件监听与宿主 API 均为防御性访问,插件异常不会拖垮宿主。
v0.2 新增 · 实时 UI
v0.2 补上了"主动显示"这个基本盘:状态行直接挂在 DSH 输入框下方(conversation.composer.dock 槽位),不用问、主动告诉你当前时段、本会话成本、缓存命中和"现在跑 vs 推迟能省多少"。
点击状态行右侧的 chevron 展开完整成本面板:
- 大数字:本会话成本 · 缓存命中率
- 峰谷调度三卡对比:
$0.0423 现在 / $0.0212 闲时 / $0.0211 可省——具体省多少主动怼到眼前 - 按模型拆分 + 预算进度条
UI 实现是 vanilla DOM + 自包含 CSS(零 React/UI 依赖),数据轮询 host 端的 /plugins/dsh-cost-saver/summary。
不装 DSH 也能看效果
双击打开仓库里的 standalone.html,浏览器里直接看到状态行和详情面板(用 mock 数据演示)。这是设计稿的活体预览。
注意:DSH 客户端 API 仍在 0.1.0-rc 快速迭代,
conversation.composer.dock槽位签名可能变。src/client/apply.js做了多路径防御(subscribe / register),遇到不兼容时只警告不影响宿主。
License
MIT
No comments yet. Be the first to write one.