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:bobcat848/dsh-calculator
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
A DeepSeek Harness (DSH) web plugin that shows your DeepSeek API spend and account balance in a top-right floating card of the DSH web GUI (collapsible to a pill).
GET /user/balance)deepseek-official
与视觉专用 deepseek-vision) are billed; any other provider/model is
listed as unbilledzh / en)DSH is a Cordis application. The plugin has a host half (event accounting +
balance fetching) and a browser half (top-right overlay card). Install it into
the web profile:
直接在你的机器上执行(脚本会从 GitHub 下载插件文件并完成安装):
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/bobcat848/dsh-calculator/main/install.sh | bash
# Windows PowerShell
irm https://raw.githubusercontent.com/bobcat848/dsh-calculator/main/install.ps1 | iex
或者克隆仓库后运行脚本(安装脚本会自动识别本地模式,从仓库内复制文件):
git clone https://github.com/bobcat848/dsh-calculator.git
cd dsh-calculator
# macOS / Linux
bash install.sh
# Windows PowerShell
.\install.ps1
两种方式等价:都会把插件装进
~/.dsh/profiles/node_modules/dsh-calculator 并在
~/.dsh/profiles/web/cordis.patch.yml 追加 loader 行(幂等:重复执行安全,
已有行不会重复添加)。
# 1. copy the package into the profile's hoisted node_modules
mkdir -p ~/.dsh/profiles/node_modules/dsh-calculator
cp -r lib package.json ~/.dsh/profiles/node_modules/dsh-calculator/
# 2. append the loader row to the web profile patch (once)
# edit ~/.dsh/profiles/web/cordis.patch.yml and add:
# - insert:
# - id: dsh-calculator
# name: 'dsh-calculator'
# config: {}
Plugins are discovered at boot, so restart DSH web after installing
(cordis.patch.yml 改动也会被 DSH 的用户层 HMR 热更新,通常无需重启):
dsh web --port 3080
Open (or refresh) http://127.0.0.1:3080, and you should see the
DeepSeek API 费用 card in the top-right corner; click × to collapse it
into a pill, click the pill to expand it again.
v1.2.0 适配说明:DSH
0.1.0-rc.6的布局不再提供aside插槽(右侧栏), 浏览器半改为注入框架级shell.overlay插槽(右上角浮层卡片),并移除了 不存在的ctx.layout.closeAside()。host 半(记账 + 余额端点/dsh-calculator)保持不变。
The plugin needs no configuration beyond your DeepSeek API key, which DSH
already stores through its credentials service (the Models page writes it to
~/.dsh/.credentials.yaml as DEEPSEEK_API_KEY, or you can export it in the
launching environment). The balance feature reads that same credential.
If the key is missing, the balance card shows a friendly error and the cost panel keeps working.
Rates are the official DeepSeek prices (CNY per 1M tokens). Since 2026-08-17 the peak/off-peak schedule applies (peak 09:00–12:00 & 14:00–18:00 Beijing; off-peak = half the peak price). Since 2026-08-23 00:00 Beijing time the peak window applies Monday–Friday only; Saturday and Sunday are off-peak (half price) all day:
| 模型 | 缓存命中输入(高峰/半价) | 缓存未命中输入(高峰/半价) | 输出(高峰/半价) |
|---|---|---|---|
| deepseek-v4-flash | ¥0.10 / ¥0.05 | ¥3.0 / ¥1.5 | ¥9.0 / ¥4.5 |
| deepseek-v4-pro | ¥0.30 / ¥0.15 | ¥9.0 / ¥4.5 | ¥27.0 / ¥13.5 |
| deepseek-v4-flash-vision-exp | ¥0.10 / ¥0.05 | ¥3.0 / ¥1.5 | ¥9.0 / ¥4.5 |
北京时间 2026-09-10 12:00 起,flash 系列(含 deepseek-v4-flash-vision-exp)
按新价计费(高峰 = 空闲 ×2);pro 系列本次未调整,仍按上表价格:
| flash 时段 | 缓存命中输入 | 缓存未命中输入 | 输出 |
|---|---|---|---|
| 高峰(周一至五 9–12 / 14–18) | ¥0.04 | ¥2.0 | ¥8.0 |
| 空闲(其余时间,含周末全天) | ¥0.02 | ¥1.0 | ¥4.0 |
2026-09-10 12:00 之前的 flash 事件仍按上一时段费率(¥0.10/¥0.05 命中、 ¥3.0/¥1.5 未命中、¥9.0/¥4.5 输出);当天中午 12:00 前后分界,上午旧价、 下午新价各自独立记账,不会混算。周末空闲规则不变(高峰窗口仍仅周一至周五)。
assistant/message 的 usage +
message.source),按 (provider, model) 记账;fork 子会话的拷贝事件按
message.id 全局去重,避免重复计费GET https://api.deepseek.com/user/balance(30 秒缓存)现象:费用卡片标题栏的 × 关闭按钮被右侧文件面板的搜索框遮住,不可见、 不可点,卡片无法折叠为胶囊(issue #1)。
根因(层叠上下文问题,非渲染 bug):
shell.overlay 挂载层 [data-shell-overlay]
(.pI_x6G_overlayLayer),DSH rc.6 将该层写死为
position: absolute; z-index: 20aionui-explorer-col)为
position: static; z-index: 30 —— 作为同级的 flex 子项,z-index 依然参与
层叠比较,且 30 > 20z-index: 1200 只在挂载层内部的层叠上下文生效,无法越过
同为 pI_x6G_frame 子级的文件面板 —— 于是搜索框压住了卡片的 × 按钮修复:插件 CSS 注入一条规则,把挂载层提到 60:
html [data-shell-overlay]{z-index:60}
[data-shell-overlay],不依赖哈希类名;
特异性 0-1-1 高于框架类选择器的 0-1-0,无需 !important后续注意:
0.1.0-rc.6 的布局不再提供 aside 插槽(右侧栏),浏览器半从
v1.2.0 起改为注入框架级 shell.overlay 插槽(右上角浮层卡片,可折叠),
并移除了已不存在的 ctx.layout.closeAside()shell.overlay 插槽的 DSH 版本;旧版 DSH(含
aside 插槽)请使用 v1.1.xshell.overlayrm -rf ~/.dsh/profiles/node_modules/dsh-calculator
# 并从 ~/.dsh/profiles/web/cordis.patch.yml 删除对应 insert 行
本项目与 DeepSeek 官方无任何关联,价格与余额为接口实时数据,费用为估算。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: cost。