一只可爱鲸鱼桌面宠物,给 DeepSeek Harness 盯着 DeepSeek 余额和会话用量与花费。拖到哪都行,点一下弹出实时面板,显示实时开销、高峰与非高峰价格、预算提醒和历史趋势。
47.4/100
综合分
30
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/9 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Suiwan/whale-purse该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · model
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 26 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包whale-purse(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 11:46:46
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 9 处,展示前 9 条)
- 读取本地文件lib/index.js:405
if (!existsSync(WHALE_PURSE_SETTINGS_PATH)) return {} - 读取本地文件lib/index.js:406
const raw = JSON.parse(readFileSync(WHALE_PURSE_SETTINGS_PATH, 'utf8')) - 读取本地文件lib/index.js:424
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }) - 写入本地文件lib/index.js:424
if (!existsSync(dir)) mkdirSync(dir, { recursive: true }) - 写入本地文件lib/index.js:425
writeFileSync(WHALE_PURSE_SETTINGS_PATH, JSON.stringify(settings, null, 2), 'utf8') - 发起网络请求lib/index.js:888
response = await fetch(url, { - 发起网络请求lib/client.js:479
const response = await fetch(path) - 发起网络请求lib/client.js:482
const legacy = await fetch(path.replace('/api/whale-purse/balance', '/api/balance')) - 发起网络请求lib/client.js:870
fetch('/api/whale-purse/settings', {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
1 张 · 点击查看大图功能亮点
- 桌面宠物鲸鱼
- 实时余额与用量面板
- 预算提醒与历史趋势
README
由 DeepSeek 最新模型翻译生成whale-purse 🐋
一只住在 DeepSeek Harness(DSH)里的鲸鱼娘桌宠,帮你盯着 DeepSeek 账户余额和当前会话的用量/花费。
把「DeepSeek 余额 + 会话 token 用量/预估花费」做成一只可拖拽的二次元鲸鱼娘,浮在 DSH Web GUI 上。点她弹出用量明细面板(当前 / 历史双 Tab),拖她换位置,位置自动记住;余额 30s、花费 3s 自动刷新。
preview
About
A cute whale desktop pet for DeepSeek Harness that keeps an eye on your DeepSeek balance and session usage/cost. Drag her anywhere, click to open a live panel with real-time spend, peak/off-peak pricing, budget alerts, and history trends.
特性
- 🐋 鲸鱼娘桌宠:透明立绘悬浮在页面上,随波轻微摇摆,脚底带投影
- 🖱️ 可拖拽:拖动换位(localStorage 记忆,刷新/重开保持),点击开面板
- 🔔 任务完成提醒:后台会话跑完时鲸鱼娘弹跳 + 头顶冒泡「任务完成啦」,点气泡直达完成会话
展开完整文档(README 剩余 1 节)
whale-purse 🐋
一只住在 DeepSeek Harness(DSH)里的鲸鱼娘桌宠,帮你盯着 DeepSeek 账户余额和当前会话的用量/花费。
把「DeepSeek 余额 + 会话 token 用量/预估花费」做成一只可拖拽的二次元鲸鱼娘,浮在 DSH Web GUI 上。点她弹出用量明细面板(当前 / 历史双 Tab),拖她换位置,位置自动记住;余额 30s、花费 3s 自动刷新。
preview
About
A cute whale desktop pet for DeepSeek Harness that keeps an eye on your DeepSeek balance and session usage/cost. Drag her anywhere, click to open a live panel with real-time spend, peak/off-peak pricing, budget alerts, and history trends.
特性
- 🐋 鲸鱼娘桌宠:透明立绘悬浮在页面上,随波轻微摇摆,脚底带投影
- 🖱️ 可拖拽:拖动换位(localStorage 记忆,刷新/重开保持),点击开面板
- 🔔 任务完成提醒:后台会话跑完时鲸鱼娘弹跳 + 头顶冒泡「任务完成啦」,点气泡直达完成会话
- 🏃 状态动作:有任务运行时鲸鱼娘忙碌抖动 + 「忙…」标签;点击她 squash 弹跳回应(纯 CSS,不动形象)
- 💰 余额监视:DeepSeek 官方 Get User Balance 接口,30s 轮询 + 并发去重;请求失败保留上次快照并提示过期
- ⚠️ 低余额/预算提醒:余额低于阈值或今日花费超过预算时,面板警告 + 鲸鱼娘红点;浏览器有通知权限时低余额发送 Notification
- ⚙️ 面板设置:点面板右上角齿轮即可改 model / 低余额阈值 / 今日预算,保存到本地 JSON,无需手改 YAML
- 🧮 会话用量:读 sessionProjections 的 tokenUsage 投影,按官方价格折算花费(输入未命中 / 缓存命中 / 输出三桶,分桶条形图按金额占比绘制、每桶标注 token 数、金额与金额占比,避免缓存命中 token 占大头却几乎不花钱的误导;DeepSeek 官方没有「缓存写入」计费类别,故不展示该桶);model: auto 时按会话实际请求头识别 flash/pro,识别为非 DeepSeek 模型(如 GPT / Claude)的会话不估算花费;已落盘消息按各自发生时的峰谷档与模型计价,进行中增量按当前档计价;DSH「在新会话中新建分支」checkout 出的历史 seed 不会重复计费,只统计新建分支后的新增用量
- 📊 历史趋势(双 Tab 面板):「当前」Tab 看余额与实时花费;「历史」Tab 看近 7 天花费柱状图(有 sessionPersistence 时自动合并已保存会话)+ 本会话每条提问的花费明细(多步循环自动合并成一行,问题前 10 字 + Tokens + 花费)
- ⚡ 峰谷定价:北京 9:00-12:00 / 14:00-18:00 高峰价自动切换;面板显示当前档位与距下次切换倒计时;官方定价页每 6h 自动抓取;2026-08-17 前发生的消息按生效前标准价计入历史
- 🌗 主题适配:面板颜色与柱状图深浅随 DSH 浅色/深色主题切换(--dsw-alias-* token)
- 🖥️ 多屏适配:外接大屏/笔记本切换时自动把桌宠夹回视口内,不会丢
- 🛡️ 友好错误:余额/定价请求超时显示「请求超时」而非英文 This operation was aborted
- 🧩 兼容 DSH-better-sidebar:适配其 Explorer 面板的浮层层级,桌宠拖进面板区域也不会被遮挡
安装
1. 把本仓库软链进你的 DSH web profile 依赖:
ln -s /path/to/whale-purse ~/.dsh/profiles/web/node_modules/whale-purse
2. 在 ~/.dsh/profiles/web/cordis.patch.yml 里加一条 insert:
- insert:
- id: whale-purse
name: 'whale-purse'
config:
model: auto # auto | pro | flash
refreshIntervalSeconds: 30
lowBalanceThreshold: 20 # 余额低于 20 元时提醒(可不写,默认 10) dailyBudget: 5 # 今日花费超过 5 元时提醒(可不写,默认不提醒)
3. 保存后刷新浏览器即可(Cmd+Shift+R)。
余额接口需要能解析到 DEEPSEEK_API_KEY(凭据缝 → 启动环境 → process.env,逐层回退)。
推荐在鲸鱼娘面板右上角点 ⚙ 设置 修改 model、低余额阈值、今日预算;保存后写入 ~/.dsh/whale-purse.settings.json,优先级高于下面 YAML 里的同名配置,无需重启。
配置
| 字段 | 默认 | 说明 |
| model | auto | 计价模型:auto(按会话实际请求头识别;非 DeepSeek 模型不估算花费)/ pro / flash |
| refreshIntervalSeconds | 30 | 余额轮询间隔(秒) |
| apiKeyEnv | DEEPSEEK_API_KEY | API key 的环境变量名 |
| baseUrl | https://api.deepseek.com | 余额接口 base URL |
| pricingRefreshHours | 6 | 官方定价页抓取间隔(小时) |
| lowBalanceThreshold | 10 | 余额低于该值(CNY)时触发低余额提示 |
| dailyBudget | 未设置 | 今日花费预算(CNY),超过后面板提示 |
| enabled | true | 是否启用余额查询 |
项目结构
whale-purse/
├── lib/
│ ├── index.js # host 端:余额服务 + HTTP 路由(/api/whale-purse/balance、/api/whale-purse/balance/daily、/api/whale-purse/balance/messages、/api/whale-purse/settings) │ └── client.js # 浏览器端:鲸鱼娘桌宠 + 双 Tab 面板(WebP 立绘 base64 内联) ├── assets/ │ ├── whale-sprite.webp # 内联立绘(280×373,透明,约 41KB) │ ├── whale-sprite.png # 鲸鱼娘立绘源 PNG(280×373,透明) │ ├── whale-front-source.png # 立绘源图 │ └── preview.png # 预览图 └── scripts/ ├── embed-asset.mjs # 把 whale-sprite.webp/png 重新内联进 lib/client.js ├── screenshot.mjs # Playwright 截图脚本 └── smoke-test.mjs # 模型识别/计价逻辑冒烟测试(node scripts/smoke-test.mjs)
whale-sprite.webp 由 PNG 源图生成:cwebp -q 90 -alpha_q 100 -m 6 assets/whale-sprite.png -o assets/whale-sprite.webp。改完素材后运行 npm run embed 重新内联。
更新日志
2026-09-30
- 修复:DSH 0.2+(含桌面版)上桌宠静默消失——新宿主要求插槽先由父条目的 children 表声明,原先在声明就绪前直接 slots.register('shell.overlay', …) 会抛 slot "shell.overlay" is not declared (a parent entry's children table must declare it),而该错误被宿主吞掉(不落控制台),表现为余额接口正常、浏览器半边也加载了,但桌宠不渲染;现改为 slots.inject('shell.overlay', …) 等待式注册(宿主没有该 API 时回退为直接注册,0.1.x 行为不变)
2026-08-28
- 修复:DSH「在新会话中新建分支」后,新会话不再重复计算 checkout(seed)之前的花费,只统计分支后的新增用量
- 修复:非 DeepSeek 模型(GPT / Qwen / Claude 等)不再被误按 DeepSeek flash/pro 计费,auto 模式下显示「未估算花费」
- 优化:分桶条形图改为按金额占比绘制,并显示每桶金额占比;移除 DeepSeek 不存在的「缓存写入」展示桶
- 测试:新增 scripts/smoke-test.mjs 冒烟测试,覆盖模型识别、分支 seed 跳过与混合模型计价
素材来源与版权
- 鲸鱼娘立绘来自 dafeiyu-pet(MIT License),是 DeepSeek 鲸鱼形象的二创桌宠。
- 本项目为 DeepSeek / DSH 的非官方插件,与 DeepSeek 官方无关联。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Suiwan/whale-purse
一只可爱鲸鱼桌面宠物,给 DeepSeek Harness 盯着 DeepSeek 余额和会话用量与花费。拖到哪都行,点一下弹出实时面板,显示实时开销、高峰与非高峰价格、预算提醒和历史趋势。
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个插件,给…
★ 814已汉化DSH
68.8
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 385已汉化DSH
67.9
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1
这是你的仓库?认领条目