Simple Dock V0.1

September 14, 2026 · View on GitHub

替换 DeepSeek Harness 网页端底栏的官方统计行,改成左右双区、点击展开明细的交互式统计坞。深浅色自适应,不依赖任何其他插件。界面文案中英文双语,跟随 DSH 系统语言设置设置 → 通用 → 语言),无需单独切换。

安装

方式一:一行命令(推荐,标准 bundle 安装)

本包声明了 dsh.bundle(自带 patch 层),安装后自动注册进 web profile 层栈,无需手动改任何配置

# 从 npm registry(发布后):
dsh plugin --profile web add dsh-ui-simple-dock

# 或本地源码(file: 复制快照 / link: 保持链接,改代码即生效):
dsh plugin --profile web add file:/path/to/simple-dock
dsh plugin --profile web add link:/path/to/simple-dock

# 重启 DSH 生效

若之前用手动方式装过(cordis.patch.yml 里手写过 - insert: simple-dock),请删掉手动行再装,避免同一行被 bundle 层与用户层各插入一次。

方式二:手动(macOS / Linux)

1. 获取源码

git clone <本仓库地> simple-dock
cd simple-dock

(也可以直接下载 zip 解压;需要 Node.js 18+。)

2. 构建

node build.js    # 生成 lib/(构建即语法校验 + 冒烟测试,全绿才继续)

3. 链接到 DSH profile

DSH_HOME="${DSH_HOME:-$HOME/.dsh}"
ln -sfn "$PWD" "$DSH_HOME/profiles/node_modules/dsh-ui-simple-dock"

4. 链接 node half 依赖

node 半区注册 simple-dock 设置命名空间,需要 host 的 @deepseek-ai/dsh-settings@deepseek-ai/schemastery。插件通过 symlink 链接到 profile 的共享 store(跳过这些的包仍能链接插件,但卡片不会渲染):

DSH_HOME="${DSH_HOME:-$HOME/.dsh}"
mkdir -p node_modules/@deepseek-ai
ln -sfn "$DSH_HOME/profiles/node_modules/@deepseek-ai/dsh-settings" node_modules/@deepseek-ai/dsh-settings
ln -sfn "$DSH_HOME/profiles/node_modules/@deepseek-ai/schemastery"  node_modules/@deepseek-ai/schemastery

5. 注册 bundle

编辑 $DSH_HOME/profiles/web/cordis.patch.yml,在文件末尾追加:

- insert:
    - id: simple-dock
      name: 'dsh-ui-simple-dock'

6. 重启 DSH

重启后自动生效(bundle 无需审批)。验证:

  • 底栏出现 步数 N命中率 X%
  • 设置 → 插件 出现 Simple Dock 卡片(可开关)
  • 设置 → 通用设置 出现四行:底栏面板样式 / 价格表 / 成本计价币种 / 面板玻璃

卸载

rm "$DSH_HOME/profiles/node_modules/dsh-ui-simple-dock"
# 删除 cordis.patch.yml 里对应的 - insert 块
# 重启 DSH

Windows(PowerShell)

# 1. 获取源码后执行 node build.js
# 2. 链接(junction)
New-Item -ItemType Junction -Path "$env:USERPROFILE\.dsh\profiles\node_modules\dsh-ui-simple-dock" -Target "C:\path\to\simple-dock"
# 3. 链接 node half 依赖(junction 同样可以指向目录)
New-Item -ItemType Junction -Path "C:\path\to\simple-dock\node_modules\@deepseek-ai\dsh-settings" -Target "$env:USERPROFILE\.dsh\profiles\node_modules\@deepseek-ai\dsh-settings"
New-Item -ItemType Junction -Path "C:\path\to\simple-dock\node_modules\@deepseek-ai\schemastery"  -Target "$env:USERPROFILE\.dsh\profiles\node_modules\@deepseek-ai\schemastery"
# 4. 编辑 $env:USERPROFILE\.dsh\profiles\web\cordis.patch.yml,追加:
#    - insert:
#        - id: simple-dock
#          name: 'dsh-ui-simple-dock'
# 5. 重启 DSH

功能

收起时为一行:左 步数 N、右 命中率 X%;点击左右区域分别展开明细面板。

说明效果
收起状态步数 N命中率 X%,点击展开、点外部自动关闭收起状态
左面板性能(LLM 耗时:总计 + 均/步;工具耗时:次数 + 均/次)+ 简报(会话标题、状态、最近更新)左面板
右面板Token 明细(输入命中/未命中、输出)+ 首 token 时间、生成速度 + 预估成本(单行「预估成本 金额 ↻」)右面板

设置(设置 → 通用设置

说明效果
底栏面板样式:半透明(玻璃)/ 传统(实底)
面板玻璃:模糊度 0–40 px、磨砂度 0–100% 滑杆,拖动实时生效
成本计价币种:美元 USD / 人民币 CNY
价格表:内置(v4-pro / v4-flash 峰谷计价,不联网)
设置项
传统模式:实底背景与页面主背景一致,深浅主题自适应传统模式

其他

  • 面板弹出时自动避让「回到底部」按钮;键盘可操作(Enter/空格)
  • 成本按会话缓存:打开秒显旧值,后台每小时自动刷新,也可点「↻」手动刷新
  • 非 DeepSeek 模型不显示预估费用
  • 设置 → 插件 卡片上的开关:关闭后恢复 DSH 官方底栏(本插件的底栏注册随之注销),重新开启即恢复统计坞

成本计算(内置价格表,不联网)

预估成本由 node 半区(host)维护,不拉取任何外部价格表:内置价格表按每次消耗的精确时刻取价,逐条累加。

  • v4-pro / v4-flash:2026-08-17(UTC)起分峰谷计价;峰时段为 UTC 01:00–04:00 与 06:00–10:00,谷时段价格为峰价的一半;此前消耗按统一价
  • 周末全天谷价:2026-08-23 00:00(北京时间)起,北京时间周六、周日全天按谷价(谷时段价);工作日维持峰谷时段
  • flash 新价:2026-09-10 12:00(北京时间)起 flash 系列(主 id deepseek-flash)改用新价目:谷 = 缓存命中 0.02 / 未命中 1 / 输出 4 元(USD 0.003 / 0.15 / 0.6),峰 = 谷 × 2;周末规则不变;v4-pro 不受影响
  • deepseek-chat / deepseek-reasoner:自动按 flash 的旧统一价计价(不参与峰谷)
  • flash 系列 id:主 id 为 deepseek-flash;2026-09-10 12:00(北京时间)起 deepseek-v4-flashdeepseek-v4-flash-vision-exp 都是它的别称,一律引用 flash 价目(含峰谷、周末与 9/10 新价)
  • 每次推理请求都会读取它的完成时刻与该步所用模型,峰/谷价互不串算
  • 预计算与增量:DSH 启动后 node 半区扫描全部会话——还没有成本记录的会话(如刚装插件)完整回填,已有记录的会话只补算之后的新步;运行期只在每步完成后计算该步并累加,面板直接读取结果
  • 随会话记录持久化:每一步的成本(该步金额 + 至该步累计)作为一条 simple-dock/cost 事件写回该会话自己的记录(带可忽略标记,旧版 DSH 读到会跳过而不是拒载);重启后直接由记录恢复,不需要重算。会话仍在运行时其记录被占用,未落盘的步会在会话结束或下次启动时补写
  • 子任务:subagent 子会话的成本合并计入父会话显示值(按会话头的 parentSession 关系递归)
  • 回退:node 端点不可用(非 web 环境)时,面板按页面可见步估算;其他不在内置表中的模型不显示预估费用

与 DSH-Transparent-UI-Plugin(Aqua 透明玻璃主题)并用

https://github.com/WYH66666666/DSH-Transparent-UI-Plugin

同时启用时,需把 Aqua 的模式设为兼容模式设置 → 通用设置 → 外观 → 模式)才能拥有面板模糊效果。

说明效果
漂浮玻璃模式:布局被重排成悬浮玻璃卡片,Simple Dock 面板的模糊失效Aqua 漂浮玻璃:面板模糊失效
兼容模式:保持原版排版,Simple Dock 面板的模糊正常Aqua 兼容模式:面板模糊正常

停止插件即恢复官方底栏,无残留。

构建与结构

node build.js    # 生成 lib/index.js(node 半区)+ lib/client.js(浏览器 bundle),构建即语法校验 + 冒烟测试
simple-dock/                # bundle 包(dsh-ui-simple-dock)
├── src/
│   ├── index.js            #   node 半区(注册 simple-dock 设置命名空间,其余纯客户端)
│   └── client/             #   浏览器半区:prices / core / components / index + styles.css
├── lib/                    # 构建产物(client.js = __ModuleLoader__.load 格式)
├── build.js                # 零依赖打包器
├── assets/                 # README 截图
└── dynamic/                # 旧版动态插件源码(会话级,已不再需要)