sandbase-harness
sandbaseai
Local-first, self-hosted AI agent runtime and MCP bridge with sandboxed sessions, memory, credentials, audit/replay, and a local Console.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:Phant0Meow/dsh-meow-cachebilling
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
难道只有我在关心怎么省钱?你们都那么有钱的吗……
dsh缓存命中率高,ds服务器缓存处理也得当,价格也便宜,导致可能很多人都忽略了——
单价再便宜,当上下文越来越长的时候,它还是会越来越贵。
到最后一算,你实际上付的钱,可能90%以上都是为了买缓存。
也就是说如果有更好的换窗口策略,及时换窗口,ds的费用能大幅度下降。
这是真的,我试了换窗口勤快的策略,试了两天,然后发现,真的便宜了。
我让GPT给我算的,算法是这样的:
缓存命中实际上都是聊过的上下文,每轮带着,所以显得多。
但未命中的输入和ai输出,才是硬梆梆不能少的实际使用,是不是?
所以或许应该用“实际使用”去衡量两天不同的工作量,并比较两天的性价比。
GPT算出来我勤换窗口时,便宜了50.1%。
所以,正确的deepseek使用姿势是:
不断开新窗口,旧窗口就再也不动了。
很长的旧窗口,每动用一次,都要为缓存付很多钱。
如果是时间久了、服务器那边缓存都删除了的旧窗口,那想必更是天价,全都按miss算啊。
所以旧窗口碰都不碰是最优解。
(所以还需要配合记忆插件来把旧窗口的有用信息带走)
但是,具体什么时候换窗口,你就需要衡量了。
换窗口的成本是:
AI需要重读代码的miss输入(可以通过fork减少这项成本)。
你需要重新介绍任务和规则的人力成本(可以通过记忆插件减少这项成本)。
换窗口的收益是:
缓存费用清零、从零开始重新累积。
有成本,有收益,所以你需要判断更好的换窗口时机。
换的太早:缓存本就不贵、收益少;重读代码miss费用虚耗、且重复说车轱辘话很累。
换的太晚:你的账单早已悄悄被冗长的上下文偷吃干净了。
所以我就需要这么一个插件,来告诉我,当前轮,纯粹上下文缓存的部分,到底花了我多少钱。
这样我才能心里有个底,才能判断什么时候该换窗口。
我写它之前还在dsh-plugin标签里全网找了,那么多计费插件,并没有人写这一项……真奇怪。难道只有我有这个需求吗?
可是这真的省钱啊……
rates.yml 是插件自带的预填层(provider/model 按 API 官方写法,峰谷(days × ranges 叉乘)或一口价(const)三选一,时区按计费方账单时区(IANA 名)),改它才需要重启 dsh web;条目写坏自动跳过并警告,绝不弄崩 DSH。点开输入框右侧的上下文圆环,弹层底部就是账单:

数字为示意,实际按你的用量与时刻费率计算。
dsh plugin --profile web add github:Phant0Meow/dsh-meow-cachebilling
一条命令装完即生效:安装时自动编译(包内含 prepare 脚本),自动挂载,重启 dsh web 后启用,无需任何配置。
pnpm ≥10 默认会阻止安装期的构建脚本:首次
add可能失败并提示allowBuilds,按提示把输出的键加进 profile 的pnpm-workspace.yaml后重跑即可。
dsh plugin --profile web remove meow-cachebilling
彻底移除,重启 dsh web 后不再加载。
| 项目 | 口径 |
|---|---|
| 缓存 | 本步 cacheRead tokens × 命中单价 |
| 未命中 | (未命中输入 + 缓存写入)× 未命中单价 |
| 输出 | 输出 tokens × 输出单价 |
| 时段 | 工作日 09:00–12:00 / 14:00–18:00 为峰,其余(含周六日全天)为谷 |
内置价目表(元 / 百万 token,2026-08-17 官方刊例):
| 模型 | 峰(命中/未命中/输出) | 谷 |
|---|---|---|
| deepseek-v4-flash | 0.1 / 3 / 9 | 0.05 / 1.5 / 4.5 |
| deepseek-v4-pro | 0.3 / 9 / 27 | 0.15 / 4.5 / 13.5 |
第三方中转的费率与官方不一致:模型名命中价目表按刊例价估算,未命中按 flash 价估算——都是本地估算,实际扣费以你的账单为准。完整可编辑价目表在包根 rates.yml,以上是内置默认值。
rates.yml 是预填层(跟随版本更新),设置页「喵缓存账单」标签页是你的修改层(即时生效);rates.yml 文件写坏会退回内置默认表并在控制台警告。usage 的 input / cacheRead / cacheWrite / output 四类 token。meow_cachebilling.json);曲线随会话越攒越准,旧会话再次活动时会按当前价目表回填。lib/client.js 的 factory 必须以 return module.exports 结尾,否则模块导出为 undefined,DSH 启动即 fail-loud。感谢 better-er 的贡献!
三级账单(当前每次API请求 / 当前轮 / 会话累计)、api返回的缓存失效次数统计,来自 better-er 的大幅重写(#2); 他也打开了本插件对非ds官方api的显示,我之后的确想加对其他api的支持,所以也merge了这处改动。 账单底部把原本的「峰价/谷价」改为「梁文峰/梁文谷」的彩蛋也是他的手笔,我们觉得有趣就也保留了。 感谢他给我们提的PR,感谢他的贡献!
欢迎大家提各种PR!插件还会更新,你fork了之后merge过来,之后的更新你也能接上~而且,大家一起写,才有趣嘛。
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: billing、cost-tracker。