dsh-web-ui
zhu1090093659
Plugin and skin collection for DeepSeek Harness (DSH) Web UI - task board, git graph, right-side panel, remote mobile UI, pet, live token stats, and skin center.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:zhangjianyu1006156/dsh-balance-display
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
DeepSeek API 余额显示插件 —— 在 DSH Web GUI 的左侧栏底部实时显示 API Key 剩余额度,支持低余额预警、余额消耗趋势、一键充值。
密钥全程只在主机端:主机端通过 dsh 凭据服务读取 key 并查询 api.deepseek.com/user/balance,浏览器端只从本机回环路由拉取脱敏后的余额 JSON,密钥绝不进入浏览器。
余额 ¥92.12,点击刷新,悬浮显示充值/赠送拆分¥0.5842),清楚还剩几分钱platform.deepseek.com/usage已发布到 npm:
dsh plugin --profile web add dsh-balance-display
本地开发模式:
dsh plugin --profile web add link:/path/to/dsh-balance-display
装完重启 dsh web(宿主端改动需重启;纯客户端改动硬刷新浏览器即可)。侧边栏底部出现余额胶囊,设置页出现「余额显示」tab。
| 风险 | 对策 |
|---|---|
| Key 泄漏到浏览器 | Key 只在主机端 resolve 后用于余额请求的 Authorization 头;客户端只 fetch 本机路由;路由响应 schema 无 key 字段 |
| Key 泄漏到日志/错误 | 不写日志含 key 值;所有外发错误文本经 redact() 脱敏(sk-* / Bearer * → [redacted]),客户端二次脱敏兜底 |
| 客户端 bundle 携带 key | 客户端是纯静态渲染代码,不含任何凭据;安装后 grep 断言零匹配 |
| 路由被滥用 | 仅 GET(余额)与 GET/POST(announce 配置);dsh web 默认仅绑定 127.0.0.1;不加 CORS 头 |
| 上游数据 XSS | React 文本转义渲染,无 innerHTML |
| 上游卡死 | 请求 10s 超时;缓存 TTL 有界;并发请求共享一次上游调用 |
设置页「余额显示」tab:
| 项 | 说明 |
|---|---|
| 侧边栏显示余额角标 | 开关胶囊显示 |
| 自动刷新间隔(分钟) | 默认 10 |
| 低余额预警阈值(¥) | 默认 5 |
| 余额不足时浏览器通知 | 需授权通知权限 |
| Agent 协作 | 在系统提示中声明插件(实时同步到主机端) |
余额历史与偏好存于浏览器 localStorage(dsh.balanceDisplay.*),主机端不感知、不存储。
兼容桌面打包版(内嵌 dsh rc.5)与官网 npm 版 dsh web(rc.6):两者共用同一套 profile 插件协议(bundle 挂载、/plugins/<id>/client.js 服务、webServer 路由、credentials 服务)。插件零 @deepseek-ai 运行时依赖,所有接入点特性检测,一份代码两种形态通用。
dsh-balance-display/
├── package.json # dsh.bundle.patch + dsh.client 清单
├── cordis.patch.yml # 插件挂载行
└── lib/
├── index.js # 主机端:余额路由 / config 路由 / 脱敏 / 缓存
└── client.js # 浏览器端:左下角胶囊 / 设置页 / i18n / 趋势图
测试(主机端 stub + 客户端 SSR 冒烟,无需启动 dsh):
node /tmp/test-balance-host.mjs # 主机端:脱敏/缓存/并发去重/凭据失效/config 路由
node /tmp/test-balance-client3.mjs # 客户端:精度/退避/消耗/历史/阈值
发布新版本:
npm version patch # 或 minor / major
npm publish # 需输 2FA 动态码
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: billing、web-ui。