caiyfa / dsh-token-stats

목록에 있음

deepseek-harness (dsh) 全局 Token 用量看板插件 —— 一行命令安装,后台常驻增量统计全部会话:按模型/按时间/按会话的用量趋势(分钟·小时·天 × 柱状/堆叠/累计)、红绿异常时点标记与按会话异常分组,子代理消耗自动归并主会话。Global token-usage dashboard for deepseek-harness (dsh) — one-line install, background incremental scan, per-model/session/anomaly analytics. dsh plugin.

main모델세션 소스 보기

설치

npx github:caiyfa/dsh-token-stats

이 명령은 GitHub 저장소 주소에서 생성됩니다. 실행 전에 업스트림 README와 소스를 검토하고 재현성이 필요하면 release 또는 commit을 고정하세요.

README

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

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

dsh-token-stats

English | 中文

The missing global token-usage dashboard for deepseek-harness (dsh) — one-line install, then open Settings to see per-model, per-time-bucket, and per-session consumption with anomaly tracking.

install dsh platform license

Why

dsh's built-in stats cover only the current session. Total consumption across sessions, per-model breakdowns, which day was heaviest, which sessions failed — none of that exists in the stock UI. This plugin adds all of it, and gets two easy-to-get-wrong things right:

  • Correct attribution: subagent tokens and anomalies roll up along the parentSession chain to their root main session — counts speak in main sessions only, while every subagent token lands on its owner
  • Zero wait: a resident background aggregate (warm-up at start → 60s incremental sweeps → 10min full rescans) means the Settings page always reads hot data

Install

npx github:caiyfa/dsh-token-stats

Restart dsh, open Settings → Token 用量. Done.

  • Requires: dsh (web profile), Node ≥ 22
  • Several profiles: --profile=tui,web; every profile: --profile=all
  • Uninstall: npx github:caiyfa/dsh-token-stats --uninstall
  • After upgrading dsh, re-run the installer once if the plugin fails to load — it repairs the links

What you get

SectionContents
Summary cardUncached input / cache read / cache write / output / reasoning / total / model calls
Per-model tableMain-session count, calls, the four token buckets, and totals for each provider / model
Token trendGranularity (minute·24h / hour·7d / day·all, auto-weekly beyond 90 days) × mode (bars / 4-color stacked composition — watch your cache-hit structure evolve / cumulative curve — the budget-burn view); dashed Y contour lines with a peak label, hover for per-bucket detail
Anomaly marksA green/red dot above every time bucket (red = failed turns inside it); click a red dot to focus the main sessions involved
Per-session anomaly groupsCollapsible per-main-session list (time + error message), collapsed by default so volume never floods the page

How it works (30-second version)

The host half is a resident background service: it scans every session log, folds each assistant/message's provider-reported usage (bucketed by provider/model) and each turn/end error into minute/hour/day timelines. The client half registers the Settings dashboard above and reads snapshots through dsh's /api gateway. Pure in-memory aggregation — nothing written to disk or session logs, nothing injected into model prompts.

The installer does three things: deploys the package into ~/.dsh; links (junction/symlink, never copies — Remote markers ride a module-scoped WeakMap, so the plugin must share the same physical module instance with dsh) @deepseek-ai/cordis and @deepseek-ai/dsh-typert-protocol from your live dsh install; and appends a marker-delimited idempotent block to the profile's cordis.patch.yml.

Troubleshooting

SymptomFix
Failed to load plugins ... dsh-token-statsRe-run the installer; if it still fails, DSH_MODULES_DIR=<dsh node_modules> npx github:caiyfa/dsh-token-stats
Section renders but stays emptyCheck the dsh process log for token-stats: errors
invocation-unavailable: tokenStats/snapshotA peer got copied as a real directory: delete it and re-run the installer

License

MIT

저장소 정보

언어
JavaScript
라이선스
MIT
마지막 업데이트
2026. 8. 15. 오전 11:52

신중하게 설치하기

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