From b5e2cbc30dd3e27f42e709866360da8cc9c76e12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?AI=E4=BA=A7=E5=93=81=E9=BB=84=E5=8F=94?= Date: Sun, 27 Sep 2026 20:46:11 -0700 Subject: [PATCH 1/2] =?UTF-8?q?fix(quota):=20read=20Claude=20utilization?= =?UTF-8?q?=20as=20a=200=E2=80=93100=20percentage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The usage endpoint reports utilization on a 0–100 scale, but values at or below 1 were treated as a 0–1 fraction and scaled by 100. A weekly window at 1% right after its reset showed as 100% in the popover. Co-Authored-By: Claude Opus 5.5 --- .../TokenStepSwift/Services/ClaudeQuotaService.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/TokenStepSwift/Sources/TokenStepSwift/Services/ClaudeQuotaService.swift b/TokenStepSwift/Sources/TokenStepSwift/Services/ClaudeQuotaService.swift index ae2aaec..358836b 100644 --- a/TokenStepSwift/Sources/TokenStepSwift/Services/ClaudeQuotaService.swift +++ b/TokenStepSwift/Sources/TokenStepSwift/Services/ClaudeQuotaService.swift @@ -36,11 +36,11 @@ enum ClaudeQuotaService { ) } + // The usage endpoint reports utilization on a 0–100 scale, so 1.0 means 1%, + // not a 0–1 fraction; scaling small values would turn 1% into 100%. private static func normalizedPercent(_ value: Double?) -> Double? { guard let value, value.isFinite else { return nil } - if value <= 0 { return 0 } - if value <= 1 { return min(value * 100, 100) } - return min(value, 100) + return min(max(value, 0), 100) } private static func readAccessToken() throws -> String { From 1e278a4a581ee41ff46a8f37b42510e018f900b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?AI=E4=BA=A7=E5=93=81=E9=BB=84=E5=8F=94?= Date: Sun, 27 Sep 2026 21:08:31 -0700 Subject: [PATCH 2/2] chore: prepare TokenStep 0.2.23 Release notes, CHANGELOG, README and the build default, via script/prepare_release.sh. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 4 ++++ README.md | 10 +++++----- docs/RELEASE_NOTES_0.2.23.md | 7 +++++++ script/build_swiftui_and_run.sh | 2 +- 4 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 docs/RELEASE_NOTES_0.2.23.md diff --git a/CHANGELOG.md b/CHANGELOG.md index aba39a2..ded15c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ TokenStep 各版本的更新内容,新版本在前。每个版本的完整说明在 [docs/RELEASE_NOTES_<版本号>.md](docs/)。 +## 0.2.23 更新:修复 Claude Code 7 天额度误显示为 100% + +Claude Code 的额度用量在 1% 及以下时(例如周额度刚重置),面板不再误显示为红色的 100%,改为按接口返回的百分比显示。详见 [0.2.23 发布说明](docs/RELEASE_NOTES_0.2.23.md)。 + ## 0.2.22 更新:刷新时同步更新 Token Rank 榜单,面板显示榜单用量 面板和主窗口的刷新按钮(以及 ⌘R)现在会跳过缓存重新读取 Token Rank 榜单和排名,关联了 Token Rank 时刷新按钮会等榜单读取完再停止转圈;面板的「今日排名」在名次旁显示你在榜单上的 Token 用量。详见 [0.2.22 发布说明](docs/RELEASE_NOTES_0.2.22.md)。 diff --git a/README.md b/README.md index bc2e1be..0bc0fc8 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ TokenStep 是一个 macOS 菜单栏 App,用来本地统计你在 Codex、Claud 下载最新版 DMG,打开后把 `TokenStep.app` 拖进「应用程序」即可使用: -[下载 TokenStep 最新版](https://github.com/Backtthefuture/TokenStep/releases/latest/download/TokenStep-0.2.22.dmg) +[下载 TokenStep 最新版](https://github.com/Backtthefuture/TokenStep/releases/latest/download/TokenStep-0.2.23.dmg) 也可以从 Release 页面查看所有版本: @@ -32,9 +32,9 @@ TokenStep 已使用 Developer ID 签名并通过 Apple 公证。首次打开时 Windows版本由十七做了移植,欢迎大家前往使用:https://github.com/canyexuanfan/TokenStep-Windows/releases -## 最新版本:0.2.22 +## 最新版本:0.2.23 -面板和主窗口的刷新按钮(以及 ⌘R)现在会跳过缓存重新读取 Token Rank 榜单和排名,关联了 Token Rank 时刷新按钮会等榜单读取完再停止转圈;面板的「今日排名」在名次旁显示你在榜单上的 Token 用量。详见 [0.2.22 发布说明](docs/RELEASE_NOTES_0.2.22.md)。 +Claude Code 的额度用量在 1% 及以下时(例如周额度刚重置),面板不再误显示为红色的 100%,改为按接口返回的百分比显示。详见 [0.2.23 发布说明](docs/RELEASE_NOTES_0.2.23.md)。 历次更新(主题包、引力动效、自动更新等)见 [CHANGELOG.md](CHANGELOG.md)。 @@ -95,7 +95,7 @@ TokenStep 默认只做本地统计。 ## 安装方式 -1. 下载 [TokenStep 最新版 DMG](https://github.com/Backtthefuture/TokenStep/releases/latest/download/TokenStep-0.2.22.dmg)。 +1. 下载 [TokenStep 最新版 DMG](https://github.com/Backtthefuture/TokenStep/releases/latest/download/TokenStep-0.2.23.dmg)。 2. 打开 DMG。 3. 把 `TokenStep.app` 拖到「应用程序」。 4. 启动 TokenStep。 @@ -166,7 +166,7 @@ TokenStepSwift/dist/TokenStep.app 公开发布强制执行 Developer ID 签名、Apple 公证、票据装订、系统分发检查和隔离安装验证。不再生成可被误上传的“仅签名、未公证”发布包: ```bash -TOKENSTEP_VERSION=0.2.22 \ +TOKENSTEP_VERSION=0.2.23 \ CODE_SIGN_IDENTITY="Developer ID Application: Your Name (TEAMID)" \ TOKENSTEP_NOTARY_PROFILE="tokenstep-notary" \ ./script/package_release.sh --notarize diff --git a/docs/RELEASE_NOTES_0.2.23.md b/docs/RELEASE_NOTES_0.2.23.md new file mode 100644 index 0000000..d28400f --- /dev/null +++ b/docs/RELEASE_NOTES_0.2.23.md @@ -0,0 +1,7 @@ +# TokenStep 0.2.23 + +修复 Claude Code 7 天额度的显示:用量在 1% 及以下时,面板会误显示为 100%。 + +- **额度百分比**:Claude 的额度接口直接返回 0–100 的百分数,之前把 1 及以下的数值当成小数又乘了 100,周额度刚重置、只用了 1% 时,面板会显示红色的 100%。现在按接口的原值显示。 + +Token、金额与额度的统计口径不变。 diff --git a/script/build_swiftui_and_run.sh b/script/build_swiftui_and_run.sh index c72b0c2..980ce5e 100755 --- a/script/build_swiftui_and_run.sh +++ b/script/build_swiftui_and_run.sh @@ -23,7 +23,7 @@ HELPER_EXECUTABLE="$BUILD_DIR/$HELPER_NAME" ICON_FILE="$ROOT_DIR/TokenUsageMenuApp/assets/TokenStepIcon.icns" ODYSSEY_ASSET_DIR="$ROOT_DIR/TokenUsageMenuApp/assets/odyssey" INTERSTELLAR_ASSET_DIR="$ROOT_DIR/TokenUsageMenuApp/assets/interstellar" -VERSION="${TOKENSTEP_VERSION:-0.2.22}" +VERSION="${TOKENSTEP_VERSION:-0.2.23}" LAUNCH=true VERIFY=false