🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Token 用量统计面板 zhang-jiazhi/dsh-stats-panel

DeepSeek Harness
zhang-jiazhi32 天前有提交已提供中文文档扫描:含敏感能力

DeepSeek Harness Token 用量统计面板:模型/渠道聚合、余额配额、精确归档与费用估算

28.2/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add zhang-jiazhi/dsh-stats-panel
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/10/19·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 32 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@linxin666/dsh-stats-panel(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22.19.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 16:41:06

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 112 处,展示前 58 条)
  • 读取本地文件
    lib/index.js:159
    return readFileSync(SETTINGS_PATH, "utf8");
  • 读取本地文件
    lib/index.js:161
    return readFileSync(LEGACY_SETTINGS_PATH, "utf8");
  • 读取本地文件
    lib/index.js:285
    if (!existsSync(path)) continue;
  • 读取本地文件
    lib/index.js:286
    const configs = scanProfileProviders(readFileSync(path, "utf8"));
  • 读取本地文件
    lib/index.js:456
    if (existsSync(MIMO_COOKIE_FILE)) {
  • 读取本地文件
    lib/index.js:457
    const content = readFileSync(MIMO_COOKIE_FILE, "utf8").trim();
  • 发起网络请求
    lib/index.js:466
    const response = await fetch(url, {
  • 写入本地文件
    lib/index.js:1330
    await appendFile(RECORDS_FILE, lines, "utf8");
  • 写入本地文件
    lib/index.js:1358
    writeFileSync(tmp, data);
  • 写入本地文件
    lib/index.js:1359
    renameSync(tmp, path);
  • 写入本地文件
    lib/index.js:1385
    writeFileSync(fd, JSON.stringify({
  • 删除本地文件
    lib/index.js:1402
    unlinkSync(COMPACT_LOCK_FILE);
  • 删除本地文件
    lib/index.js:1412
    unlinkSync(COMPACT_LOCK_FILE);
  • 写入本地文件
    lib/index.js:1736
    mkdirSync(DATA_DIR, { recursive: true });
  • 发起网络请求
    lib/client.js:1644
    const response = await fetch(SUMMARY_URL, { signal: controller.signal });
  • 发起网络请求
    lib/client.js:2889
    const response = await fetch(BALANCES_URL, { signal: controller.signal });
  • 读取本地文件
    lib/types/index.js:195
    return readFileSync(SETTINGS_PATH, 'utf8');
  • 读取本地文件
    lib/types/index.js:198
    return readFileSync(LEGACY_SETTINGS_PATH, 'utf8');
  • 读取本地文件
    lib/types/index.js:336
    if (!existsSync(path))
  • 读取本地文件
    lib/types/index.js:338
    const configs = scanProfileProviders(readFileSync(path, 'utf8'));
  • 读取本地文件
    lib/types/index.js:541
    if (existsSync(MIMO_COOKIE_FILE)) {
  • 读取本地文件
    lib/types/index.js:542
    const content = readFileSync(MIMO_COOKIE_FILE, 'utf8').trim();
  • 发起网络请求
    lib/types/index.js:556
    const response = await fetch(url, { headers, signal: AbortSignal.timeout(timeoutMs) });
  • 写入本地文件
    lib/types/index.js:1437
    await appendFile(RECORDS_FILE, lines, 'utf8');
  • 写入本地文件
    lib/types/index.js:1468
    writeFileSync(tmp, data);
  • 写入本地文件
    lib/types/index.js:1469
    renameSync(tmp, path);
  • 写入本地文件
    lib/types/index.js:1494
    writeFileSync(fd, JSON.stringify({ pid: process.pid, at: Date.now() }));
  • 删除本地文件
    lib/types/index.js:1512
    unlinkSync(COMPACT_LOCK_FILE);
  • 删除本地文件
    lib/types/index.js:1524
    unlinkSync(COMPACT_LOCK_FILE);
  • 写入本地文件
    lib/types/index.js:1883
    mkdirSync(DATA_DIR, { recursive: true });
  • 删除本地文件递归
    src/index.integration.spec.ts:35
    rmSync(join(testHome, '.dsh'), { recursive: true, force: true })
  • 写入本地文件
    src/index.integration.spec.ts:36
    mkdirSync(dataDir, { recursive: true })
  • 删除本地文件递归
    src/index.integration.spec.ts:181
    rmSync(testHome, { recursive: true, force: true })
  • 读取本地文件
    src/index.integration.spec.ts:223
    expect(readFileSync(recordsFile, 'utf8').trim().split('\n')).toHaveLength(1)
  • 读取本地文件
    src/index.integration.spec.ts:236
    expect(existsSync(archiveFile)).toBe(true)
  • 读取本地文件
    src/index.integration.spec.ts:237
    const firstArchive = JSON.parse(readFileSync(archiveFile, 'utf8')) as { cutoffTs: number }
  • 读取本地文件
    src/index.integration.spec.ts:261
    expect(JSON.parse(readFileSync(archiveFile, 'utf8')).aggregate.totals.calls).toBe(4)
  • 写入本地文件
    src/index.integration.spec.ts:274
    writeFileSync(archiveFile, archiveText)
  • 写入本地文件
    src/index.integration.spec.ts:279
    writeFileSync(recordsFile, details.map(record => JSON.stringify(record)).join('\n') + '\n')
  • 读取本地文件
    src/index.integration.spec.ts:285
    expect(readFileSync(archiveFile, 'utf8')).toBe(archiveText)
  • 读取本地文件
    src/index.integration.spec.ts:286
    expect(readFileSync(recordsFile, 'utf8').trim().split('\n')).toHaveLength(2)
  • 写入本地文件
    src/index.integration.spec.ts:354
    writeFileSync(stateFile, JSON.stringify({ version: 1, done: { [id]: true }, recordsAtWrite: 0 }))
  • 写入本地文件
    src/index.integration.spec.ts:371
    writeFileSync(recordsFile, [
  • 写入本地文件
    src/index.integration.spec.ts:378
    writeFileSync(archiveFile, JSON.stringify({
  • 读取本地文件
    src/index.ts:334
    return readFileSync(SETTINGS_PATH, 'utf8')
  • 读取本地文件
    src/index.ts:336
    return readFileSync(LEGACY_SETTINGS_PATH, 'utf8')
  • 读取本地文件
    src/index.ts:462
    if (!existsSync(path)) continue
  • 读取本地文件
    src/index.ts:463
    const configs = scanProfileProviders(readFileSync(path, 'utf8'))
  • 读取本地文件
    src/index.ts:668
    if (existsSync(MIMO_COOKIE_FILE)) {
  • 读取本地文件
    src/index.ts:669
    const content = readFileSync(MIMO_COOKIE_FILE, 'utf8').trim()
  • 发起网络请求
    src/index.ts:683
    const response = await fetch(url, { headers, signal: AbortSignal.timeout(timeoutMs) })
  • 写入本地文件
    src/index.ts:1572
    await appendFile(RECORDS_FILE, lines, 'utf8')
  • 写入本地文件
    src/index.ts:1604
    writeFileSync(tmp, data)
  • 写入本地文件
    src/index.ts:1605
    renameSync(tmp, path)
  • 写入本地文件
    src/index.ts:1638
    writeFileSync(fd, JSON.stringify({ pid: process.pid, at: Date.now() }))
  • 删除本地文件
    src/index.ts:1652
    unlinkSync(COMPACT_LOCK_FILE)
  • 删除本地文件
    src/index.ts:1664
    unlinkSync(COMPACT_LOCK_FILE)
  • 写入本地文件
    src/index.ts:2099
    mkdirSync(DATA_DIR, { recursive: true })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-session
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按模型渠道聚合用量
  • 查询余额配额
  • 费用估算

README

由 DeepSeek 最新模型翻译生成
DSH Token 使用统计(dsh-stats-panel) DeepSeek Harness(DSH)的 Token 用量统计面板:模型用量、Token 消耗、缓存命中率、按渠道统计、渠道余额/套餐余量、费用估算(人民币)。以会话顶部独立 Tab 页呈现(「Token 统计」,与 对话 / 轨迹 / 上下文 / 记忆 并列),按 NewAPI / Sub2API 统计看板风格设计的全宽仪表盘。 功能 - 总览卡片:总调用次数、总 Token、今日消耗(按 stats-panel.dayBoundary 日历分桶,默认主机本地时区)、缓存命中率、估算费用(人民币) - 渠道统计:按渠道(provider)聚合调用次数与 Token 消耗 —— 自动识别 DeepSeek 官方、OpenCode Go、MiMo、OpenAI、Anthropic、Kimi、硅基流动、阶跃星辰、阿里(千问 Token Plan)、OpenRouter、Novita 等 - 渠道卡片可移除:每张卡片右上角 × 把不关心的渠道从余额网格里删掉(例如本地桥、已停用的中转);只隐藏、不删数据,底部「已隐藏 N 个渠道 · 恢复全部」一键找回,选择存 localStorage - 渠道余额 / 套餐余量:
展开完整文档(README 剩余 1 节)
DSH Token 使用统计(dsh-stats-panel)

DeepSeek Harness(DSH)的 Token 用量统计面板:模型用量、Token 消耗、缓存命中率、按渠道统计、渠道余额/套餐余量、费用估算(人民币)。以会话顶部独立 Tab 页呈现(「Token 统计」,与 对话 / 轨迹 / 上下文 / 记忆 并列),按 NewAPI / Sub2API 统计看板风格设计的全宽仪表盘。

功能

- 总览卡片:总调用次数、总 Token、今日消耗(按 stats-panel.dayBoundary 日历分桶,默认主机本地时区)、缓存命中率、估算费用(人民币)
- 渠道统计:按渠道(provider)聚合调用次数与 Token 消耗 —— 自动识别 DeepSeek 官方、OpenCode Go、MiMo、OpenAI、Anthropic、Kimi、硅基流动、阶跃星辰、阿里(千问 Token Plan)、OpenRouter、Novita 等
- 渠道卡片可移除:每张卡片右上角 × 把不关心的渠道从余额网格里删掉(例如本地桥、已停用的中转);只隐藏、不删数据,底部「已隐藏 N 个渠道 · 恢复全部」一键找回,选择存 localStorage
- 渠道余额 / 套餐余量:
- 自动查询(余额类):DeepSeek 官方(/user/balance)、Kimi 月之暗面(/v1/users/me/balance)、硅基流动(/v1/user/info)、阶跃星辰「按量计费钱包」(/v1/accounts,见下方说明)、OpenRouter(/api/v1/credits)、Novita AI(/v3/user/balance)
- 自动查询(用量类):OpenCode Go(/zen/go/v1/usage,滚动/7天/30天配额)、OpenAI(/v1/usage,5小时/7天/30天用量)、Anthropic(/v1/organizations/usage/costs,同上)
- 通用兜底 ①:NewAPI / one-api 系中转(AgentRouter 等),走 /dashboard/billing/ 计费模拟端点;key 为无限额度令牌时(hard_limit_usd=1e8 哨兵)改查控制台用户余额 /api/user/self——会话 Cookie 存 ~/.dsh/stats-panel/<provider>-cookie.txt(附 new-api-user=<uid>),或访问令牌凭据 <XXX>_ACCESS_TOKEN
- 通用兜底 ②:Sub2API 系网关(mdkj.lol 等),走 /v1/usage 用 sk key 自查钱包余额、今日用量与累计成本
- MiMo Token Plan:自动查询平台控制台(platform.xiaomimimo.com/api/v1/tokenPlan/usage,需登录 Cookie);未配置 Cookie 时回退为手动填写(存 localStorage)
- 套餐余量为什么不是钱包余额:/step_plan/v1 是 Step Plan(套餐)专属路由,而 StepFun 唯一的账户接口 /v1/accounts 返回的是按量计费钱包(type: prepaid),不是套餐 Credits;开放平台文档里也没有第二个账户接口。把钱包当套餐余量显示正是「套餐余量不对」的来源,所以 Step Plan 渠道改为:卡片走手动路径、提示里带上钱包数值与套餐余量出处,套餐数字由控制台 Cookie 探测或手动填写提供
- 阿里(千问 Token Plan)同理:token-plan.maas.qianwenaiapi.com 只为 OpenAI 兼容协议开路由,Credits 余量只在千问 AI 平台工作台可见
- 模型统计:各模型调用/输入/输出/缓存/总 Token/费用
- 可视化:每日/每周/每月 Token 堆叠柱状图(输入/输出/缓存)、模型占比环形图、最近调用记录
- 费用估算:可编辑的模型价格表(人民币,元/1M tokens),内置本机全部模型的官方牌价(DeepSeek V4 / GPT-5.6 / Claude Opus 5 / GLM-5.3 / Kimi K2.7 / MiMo 等),用户修改优先
- 看板式数据流:切回标签页先用会话内缓存秒开再后台校验;页面可见时每 60 秒静默轮询(无新数据不重渲染、不闪加载态),后台标签页不轮询;余额自动探测客户端限流 2 分钟(服务端缓存 60 秒 + 并发去重 + 渠道并行探测),手动刷新不受限
- 数据留存:明细累计到 DSH_STATS_COMPACT_MAX_RECORDS(默认 10000 条,环境变量可调)即整体折叠为精确聚合并与已有内容合并写入 ~/.dsh/stats-panel/archive.json 并原子写回 cutoff 之后的 retained 明细——压缩在启动时与 summary 请求路径都会触发,长期不重启的 host 明细也不会无限增长;不保存、不读取已折叠的单条历史明细,统计数字不受影响;「调用记录」分页显示未折叠的 retained 明细及之后新增的调用。archive.json 是压缩前历史的唯一载体,请勿删除;backfill-state.json 按持久化 session revision 记录已扫描版本,未变化的非 live 会话可跳过,旧 state、revision 不可用或明细日志缩短时会安全全量重扫

安装

方式一:本地安装(开发)

cd ~/.dsh/local-plugins
git clone https://github.com/zhang-jiazhi/dsh-stats-panel.git
cd dsh-stats-panel && pnpm install --frozen-lockfile
仓库已包含预构建 lib/,无需本地构建
pnpm run typecheck
pnpm test

从源码重建 client bundle 需要 DSH 源码仓库中的官方 packages/client/tsdown.client.ts 工厂;普通安装直接使用仓库内预构建的 lib/ 产物。

方式二:作为 profile 依赖

在 ~/.dsh/profiles/web/package.json 的 dependencies 添加: "@linxin666/dsh-stats-panel": "<git 或 npm 地址>" 并加入 dsh.profile.bundles 列表,重启 dsh web 即可。

使用

1. 打开 DSH Web UI,进入任意会话
2. 点击会话顶部的 Token 统计 Tab(与 对话 / 轨迹 / 上下文 / 记忆 并列)
3. 查看总览 KPI、消耗趋势、模型占比、渠道余量,以及「模型统计 / 渠道统计 / 模型价格 / 调用记录」分页明细

渠道列表以当前 profile 的 cordis.patch.yml 为准(0.1.7 起 live 的 llm- providers 已从 ~/.dsh/settings.yaml 迁到 profile;旧文档只在 profile 没有 providers 时兜底)。渠道余额/余量自动从各平台官方 API 查询(需要你在 DSH 中配置对应渠道的 API Key,读取自 ~/.dsh/.credentials.yaml 或环境变量);查询失败或无公开 API 的渠道会显示错误/待配置,可手动填写。

MiMo Token Plan 自动查询需要平台登录 Cookie(platform.xiaomimimo.com)。配置方式二选一:
- 把登录后的 Cookie 请求头内容保存到 ~/.dsh/stats-panel/mimo-cookie.txt(权限建议 600)
- 或设置环境变量 MIMO_PLATFORM_COOKIE

Cookie 过期后重新登录平台并更新该文件即可。

支持渠道与查询方式

| 渠道 | 类型 | 查询 API | 币种 |
| DeepSeek 官方 | 余额 | api.deepseek.com/user/balance | CNY |
| Kimi 月之暗面 | 余额 | api.moonshot.cn/v1/users/me/balance | CNY |
| 硅基流动 | 余额 | api.siliconflow.cn/v1/user/info | CNY |
| 阶跃星辰 StepFun(按量计费) | 余额 | api.stepfun.com/v1/accounts | CNY |
| 阶跃星辰 Step Plan(套餐) | 无公开接口 | 控制台 platform.stepfun.com;卡片把手动路径与 ¥钱包余额 一起给出 | — |
| 阿里 Token Plan(千问) | 无公开接口 | 控制台 platform.qianwenai.com → 工作台 → Token Plan → 我的订阅 | — |
| OpenRouter | 余额 | openrouter.ai/api/v1/credits | USD |
| Novita AI | 余额 | api.novita.ai/v3/user/balance | USD |
| OpenCode Go | 套餐配额 | opencode.ai/zen/go/v1/usage | 滚动/7天/30天 |
| OpenAI | 用量(5h/7d/30d) | api.openai.com/v1/usage | — |
| Anthropic | 用量(5h/7d/30d) | api.anthropic.com/v1/organizations/usage/costs | — |
| MiMo Token Plan | 套餐用量 | platform.xiaomimimo.com/api/v1/tokenPlan/usage(需登录 Cookie) | — |

OpenAI / Anthropic 用量接口需要组织级(admin)API Key,普通项目 Key 可能返回 403。
渠道自动发现:读取 ~/.dsh/settings.yaml 的 llm-pi-ai.providers,按 baseURL 匹配查询方式;llm-deepseek 段只有模型目录/重试策略,不参与发现;deepseek-official 仅当 DEEPSEEK_API_KEY 凭据可解析时自动加入探测列表。凭据通过 DSH credentials 服务按 apiKeyEnv 解析。

计价

- 内置默认价格表覆盖本机实际用到的全部模型(人民币 元/1M tokens,美元模型按 ≈7.1 汇率折算),2026-08-29 查询:
- DeepSeek V4 Flash/Pro 及变体:官方峰谷价,内置取高峰口径(api-docs.deepseek.com;高峰 = 周一至五 9-12/14-18 时,空闲减半;缓存写免费)
- GPT-5.6 Sol / Luna:OpenAI Standard 短上下文价(developers.openai.com,Sol 为 2026-11-21 前促销价;含官方缓存读/缓存写价)
- Claude Opus 5:$5/$25(anthropic.com;缓存读 0.1×、缓存写 1.25× 输入价)
- GLM-5.3-Flash:智谱定价页 0.002 元/千 tokens(bigmodel.cn;缓存读按输入价 10% 估算)
- Kimi K2.7 Code:输入 6.5 / 输出 27 / 缓存命中 1.3(platform.kimi.com)
- 套餐内模型(MiMo Token Plan)与免费模型(ox-alpha-free 等)计 0
- 价格表存 localStorage;用户编辑过的模型以用户为准,缺失模型自动用内置默认价补齐
- 中转站实际扣费可能低于牌价(如 Sub2API 折扣),估算值会偏高;按需修改「模型价格」

开发

仓库已包含预构建产物(lib/),安装后开箱即用,无需构建。

如需从源码重建:

pnpm run typecheck
pnpm test
DSH_CLIENT_BUNDLE_FACTORY=/absolute/path/to/packages/client/tsdown.client.ts pnpm run build
build 先生成类型中间产物,再用 DSH 官方 clientBundle 工厂生成 node half 和 __ModuleLoader__ client bundle。DSH_CLIENT_BUNDLE_FACTORY 可传绝对路径,或传相对插件目录的路径。没有 DSH 源码环境时:pnpm run build:host 可从源码重建 host 半区(lib/index.js),client 半区仍使用仓库预构建产物。

数据持久化于 ~/.dsh/stats-panel/records.jsonl(按 sessionId+seq 去重,跨重启安全);archive.json 保存已压缩历史,backfill-state.json 保存已扫描的持久化 revision。

常见问题

- OpenAI / Anthropic 的用量查不到? 这两个平台的用量接口需要组织级(管理员)API Key,普通项目 Key 会返回 403(页面显示查询失败)。
- MiMo Token Plan 没有自动余量? 请确认已配置平台 Cookie(~/.dsh/stats-panel/mimo-cookie.txt 或环境变量 MIMO_PLATFORM_COOKIE),且 Cookie 未过期;未配置或失效时会回退为手动填写。
- 面板里的渠道和「设置 → 模型」对不上? 渠道列表读的是正在运行的 profile(<profile>/cordis.patch.yml)。列表还是旧的,说明 host 进程还在用旧代码——重启 dsh(桌面版退出重开)即可;0.1.6 及更早宿主会自动回退读 ~/.dsh/settings.yaml。
- 不想要的渠道卡片:点卡片右上角 × 隐藏;要恢复就点网格下方「已隐藏 N 个渠道 · 恢复全部」。隐藏是浏览器本地状态(localStorage),host 仍照常探测。
- 费用为什么和实际账单不一致? 费用按你配置的价格表估算;套餐渠道(OpenCode Go / MiMo / OpenAI / Anthropic)建议将模型价格设为 0,避免与套餐额度重复计费。
- 换机器后价格配置丢失? 价格表存于浏览器 localStorage;如需迁移可在「模型价格」编辑后导出。
- 数据存在哪里? 用量数据存 ~/.dsh/stats-panel/records.jsonl(按 sessionId+seq 去重)。
- 「今日消耗」按哪个时区? 默认主机本地时区,跨零点即归零;如需 UTC 口径,在 ~/.dsh/settings.yaml 配置 stats-panel.dayBoundary: utc(也可写 +08:00 或分钟数,如 480)。切换日历只影响分桶展示,明细与总量不变;已折叠到 archive.json 的历史段无法回溯重切,趋势卡下方会显示相应说明。

贡献

欢迎提交 PR:
- 新增渠道适配器:见 docs/CHANNELS.md
- 余额连通性验证:node scripts/verify-balances.mjs

License

Apache-2.0
预览分享卡片长什么样 ↓zhang-jiazhi/dsh-stats-panel
分享 · DeepSeek Harness Hub
zhang-jiazhi/dsh-stats-panel

DeepSeek Harness Token 用量统计面板:模型/渠道聚合、余额配额、精确归档与费用估算

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部