Ycet / dsh-account-usage

목록에 있음

为dsh增加「设置:账户」页面,可快捷查看deepseek余额、用量信息,以及opencode go额度信息,同时可快速跳转至对应官网。Add a "Settings: Account" page for dsh, allowing quick viewing of DeepSeek balance, usage information, and OpenCode Go quota details, while also providing quick links to the respective official websites.

main도구 소스 보기

설치

npx -y @deepseek-ai/dsh plugin --profile web add github:Ycet/dsh-account-usage

이 설치 명령은 GitHub 저장소 주소에서 생성된 확인되지 않은 시작점입니다.

README

유지 관리자가 작성한 문서 스냅샷입니다.

GitHub에서 보기 ↗
커밋 7248877동기화 2026. 8. 18.

English · 简体中文

dsh-account-usage

DeepSeek Harness(DSH)网页界面插件:在设置面板新增独立「账户」页,一站式查看:

  • DeepSeek 开放平台(platform.deepseek.com/usage 同源数据)
    • 充值余额 / 赠送余额
    • 累计消费金额、本月消费金额、本月 tokens
    • 每日消费金额柱状图
    • 所选时间维度内的消费金额、API 请求次数、tokens 汇总
    • 按模型明细表(deepseek-v4-flash / deepseek-v4-pro / 其他):请求次数 + 输入/缓存/输出 tokens + 费用
    • 可切换时间维度(今天 / 近7天 / 近30天 / 近90天 / 本月 / 上月 / 自定义,默认「本月」)
  • OpenCode Go 套餐用量(opencode.ai 官方端点)
    • 5 小时滚动 / 每周 / 每月 三个窗口的用量百分比下次重置时间重置倒计时

页面顶部以 deepseek / opencode go 两个文字标签切换展示;两面板均提供「跳转」按钮,在新标签页打开对应官方页面。

目录

界面预览

DeepSeek 用量页面

DeepSeek 用量页面

显示充值余额、累计消费、本月消费统计,消费金额柱状图,以及按模型(deepseek-v4-flash / deepseek-v4-pro)的请求次数和 token 消耗详情。

OpenCode Go 用量页面

OpenCode Go 用量页面

显示 5 小时滚动、每周、每月三个窗口的用量百分比、限额参考和重置倒计时。

版本要求

依赖要求
DSH0.1.0-rc.6 系列(插件 peerDependencies 声明;同一 rc 系列均可)
Node跟随 DSH 自身要求(Node 18+,宿主使用内置 fetch)
pnpmdsh plugin 内部转发需要

插件宿主半面不依赖任何 @deepseek-ai(仅 node 内置 + 自身代码),credentials 服务为可选访问——即使 DSH 包面发生重命名/移除,插件也不会导致 dsh 启动失败,只会返回「未配置凭据」类提示。

安装

需要 DSH CLI 与 pnpm(dsh plugin 内部转发到 pnpm)。

# 从 GitHub 安装:
dsh plugin --profile web add github:Ycet/dsh-account-usage

包声明了 dsh.bundle 补丁层,dsh plugin 会自动把加载项合入 profile 的 bundle 层(无需手动编辑 cordis.patch.yml)。手动方式:

# ~/.dsh/profiles/web/cordis.patch.yml
- insert:
    - id: account-usage
      name: dsh-account-usage

然后:

  1. 重启网页应用:dsh web
  2. 打开 http://127.0.0.1:3080 并刷新页面
  3. 设置面板出现「账户」页

升级

dsh plugin --profile web update dsh-account-usage
# 或重新 add(git 依赖按最新默认分支重新解析)

故障排查

现象处理
dsh 启动失败先运行 dsh --profile web --dump-config 定位组合错误;确认 DSH 版本为 rc.6 系列;确认 profile 内快照与源码一致(node_modules/dsh-account-usage 内容)
设置面板无「账户」页硬刷新(Ctrl+F5);确认 bundle 层含 dsh-account-usage(见上);客户端问题不影响 dsh 启动
提示未配置凭据见下方「配置」;凭据服务缺失时插件只会降级提示,不会崩溃

注:设置面板中「账户」的人形图标依赖本机 DSH 外壳的一行小补丁(见仓库内 docs/ 或发布说明),未打补丁时显示齿轮图标,不影响功能。

配置

DeepSeek 平台令牌(必需,仅影响 DeepSeek 面板)

用量接口是平台控制台的私有接口,需要你的平台登录令牌:

  1. 登录 https://platform.deepseek.com

  2. 打开 DevTools → Console,执行:

    JSON.parse(localStorage.getItem('userToken')).value
    
  3. 两种写入方式任选:

    • 在插件「账户」页的令牌输入框直接粘贴并保存(写入 ~/.dsh/.credentials.yamlDEEPSEEK_PLATFORM_TOKEN);

    • 或手动追加到 ~/.dsh/.credentials.yaml

      DEEPSEEK_PLATFORM_TOKEN: <令牌>
      

令牌只存储在本机凭据库,浏览器与网络请求均不携带它往返上游以外的任何位置。

OpenCode Go Key(通常无需配置)

插件按以下顺序自动查找:

  1. DSH 凭据 OPENCODE_GO_API_KEY~/.dsh/.credentials.yaml,在「设置 → 模型」配置 opencode-go 时通常已存在);
  2. OpenCode 自身的 ~/.local/share/opencode/auth.jsonopencode-go 条目,type 为 api)。

工作原理

双面插件(宿主 + 浏览器),数据通道为宿主注册的同源 HTTP 路由(与 dsh-deepseek-quota 同款模式,无需 Typert 清单):

部分文件作用
宿主index.js注册三条 GET /api/account-usage/* 精确路由:平台概要、区间用量(按月拉取+聚合)、OpenCode 配额;经 ctx.credentials 解析密钥,固定白名单上游 URL,15s 超时 + 30s 缓存
解析聚合lib/aggregate.js纯函数:平台信封解包后的每日/每模型 token、费用、请求次数聚合(无依赖,可独立测试)
浏览器client.js手写惰性 CJS 客户端包:注册 settings.section(id account),渲染账户页(SVG 柱状图、维度选择器、模型表、配额进度条),挂载期间每 60s 自动刷新
组合cordis.patch.ymldsh.bundle 补丁层,安装时自动合入
测试test/aggregate.mjsfixture 单测:node test/aggregate.mjs

数据源

用途端点认证
账户概要platform.deepseek.com/api/v0/users/get_user_summary(+/get_user_infoBearer <userToken>
每日 token 明细platform.deepseek.com/api/v0/usage/amount?month=&year=Bearer <userToken>
每日费用明细platform.deepseek.com/api/v0/usage/cost?month=&year=Bearer <userToken>
OpenCode Go 配额opencode.ai/zen/go/v1/usage(官方)Bearer <sk-opencode-…>

环境变量(可选调优)

变量默认说明
DSH_ACCOUNT_USAGE_TIMEOUT_MS15000上游请求超时(毫秒)
DSH_ACCOUNT_USAGE_CACHE_MS30000平台数据缓存 TTL(毫秒)
DSH_ACCOUNT_USAGE_MAX_MONTHS3单次查询可覆盖的最大月份数(超出自动裁剪)

已知限制

  • DeepSeek 平台用量接口为未公开的私有接口,字段可能随平台升级变化;插件对响应做防御式解析,字段缺失时降级为「—」而非报错。若页面长期显示「—」,请重新抓包确认字段并反馈。
  • 「累计消费金额」「API 请求次数」字段不在公开文档中:累计消费按命名启发式在概要响应中搜索(找不到则显示「—」),请求次数读取模型条目上的 count/requests/request_count/req_count/calls 字段。两者均在真实令牌实测后校准。
  • OpenCode Go 的限额($12/$30/$60)为套餐参考值,端点未返回限额;套餐调整时以 opencode.ai 页面为准。
  • 服务绑定 0.0.0.0 时本插件路由对局域网可达(与 DSH 其他本地插件相同的既有限制,默认 127.0.0.1 无此问题)。

开发

node test/aggregate.mjs      # 聚合/解析单测
node test/routes.mjs         # 宿主路由冒烟测试(模拟 ctx + 模拟 fetch)
node test/client-render.mjs  # 客户端 bundle 预检(模拟加载器 + SSR 渲染页面)
node test/package-shape.mjs  # 包声明形状校验(防加载器 fail-loud)
node --check index.js        # 语法检查

修改代码后按「发布流程」提交推送(见仓库 git 历史与 tag),使用者通过 dsh plugin --profile web update dsh-account-usage 升级。

维护说明:每次发布前运行全部测试,并参考本仓库 docs/(若有)执行干净环境安装验证。

License

MIT

프로젝트 파일 및 신호

표시된 항목은 디렉터리 스냅샷에서 감지된 공개 저장소 신호입니다.

테스트감지됨
문서감지됨

저장소 정보

언어
JavaScript
라이선스
MIT
마지막 업데이트
2026. 8. 18. 오후 1:36

신중하게 설치하기

소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.