Skip to content

Releases: CNDDVP/Pulse

Pulse for Windows v0.7.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 02:57

新增:七大功能批次

  • 账本日聚合归档(daily_archive):源工具按保留期清理日志(Claude Code 默认 30 天)后,趋势历史不再丢失;归档时区偏移冻结进 meta 表,day 键永不漂移;max-upsert 语义防双计防回退。
  • 趋势仪表盘:Token Spend 新「趋势」页签——370 天日用量热力图(5 档强度)、7 天分桶 K 线(OHLC)、活跃天数/当前与最长连续/峰值单日/窗口总量/活跃时长指标卡(活跃时间带"跨来源不去重"口径标注);trend_metrics 命令 + 趋势 JSON 导出。
  • 本地审计来源扩至 13 个:新增 ZCode CLI(claude 同构转录双根 + CLI 信封库权威根,防双计探查)、OpenCode、Qwen CLI、Kiro(会话头真实计数器;SQLite 仅估计值按"缺失不造假"原则不读)、Cherry Studio(V2/legacy);token_spend_extra_paths 自定义扫描路径(每来源 ≤20 条,按源去重口径精确披露)。
  • 多设备同步(MVP):托管/连接/关闭三态;实例内嵌 hub(0.0.0.0:45539,/v1/sync + /v1/devices,128 位 secret 常量时间鉴权、请求 deadline 清扫、双重载荷上限);客户端 60s 轮询、失败静默保留旧数据;趋势页设备汇总行。隐私边界:仅日聚合 + 设备元信息,绝不传转录/路径/凭据。
  • 实时 Token 速率:活动灯旁路采集 usage(不改活动灯语义),60 秒滑动窗口 tok/min,悬浮栏详情卡速率行(无数据显示"—")。
  • 成本多币种:CNY/USD 展示层换算(固定汇率可改,界面标注"按固定汇率估算";导出保持 USD 原值并注明)。
  • 订阅记录:按来源记录订阅价/周期,展示本月估算成本与倍数(≥1 橙色提醒),随导出输出。
  • 会话级明细:「会话」页签按转录文件/CLI session 键聚合,懒加载逐事件明细(500 条上限诚实截断);只读元数据,绝不读转录正文。
  • WSL 用量合并(opt-in):文件型来源经 wsl.exe 合并统计(System32 全路径 exec + 字符白名单防注入、独立预算、失败诚实降级)。
  • 供应商状态页:Anthropic/OpenAI 官方状态端点四色指示灯(手动刷新;无公开端点的供应商诚实标注)。
  • 英文界面(i18n):自研极简框架(zh/en 词典 + t() + I18nProvider + 语言设置);全量抽取 + 口径文案逐句对应英译;Rust 消息暂中文已标注 TODO(EN-backend)。
  • 浅色模式:语义色彩令牌系统(--surface/--text/--accent/…)深浅两套映射 + 主题设置;对比度 AA 校验(修复 3 处白字实底回归)。
  • Discord Rich Presence(opt-in):广播活动状态 + 账号数 + 今日 token 总量(默认关、聚合数字、连接失败静默)。
  • CSV/JSON 导出:Token Spend 明细与趋势数据导出(RFC4180 转义、重名不覆盖、display_currency 注记)。
  • 缓存分项与命中率:模型明细 input/output/cache_read/cache_write 四分项 + 命中率(分母 0 不显示);分项一致性守卫(违规事件 partial + 计数透出)。
  • winget 分发准备:gen-winget-manifest.ps1(1.12.0 规范、SHA256 断言、自测)+ 提交文档;代码签名管道与文档就绪(docs/CODE_SIGNING.md)。

修复

  • 更新检查:网络错误分类提示(死代理/超时给出可操作建议);新增 Releases Atom 备用通道(api.github.com 限流/不可达时仍可检查与下载)。
  • StepFun:用量明细 400 后保留套餐与现金余额;分页拉取与去重;登录前清旧会话 Cookie 防多账号串号;web_bound 凭据标记与升级迁移。
  • 设置:订阅/扫描路径面板的 A03 类竞态桥(防普通设置保存整表回写);代理展示脱敏;保存失败回滚副作用。
  • 公开仓治理:删除根目录内部交接文档;9 个 docs 的本机绝对路径中性化;README 重写为供应商能力矩阵(额度/审计/会话明细三列)+ 诚实注意事项。

结构

  • 新增模块:sync_hub.rs、discord_presence.rs、provider_status.rs、updater Atom 通道;账本新增 daily_archive/daily_active/meta 表;前端新增 i18n/theme/currency/spend/scanPaths/syncDevices 纯函数层与 TrendDashboard/SessionList/ProviderStatus/SubscriptionPanel/ScanPathsPanel 组件。
  • 回归测试大规模扩充:cargo 130 → 288、vitest 95 → 268、tsc/oxlint 0 错误。

Pulse for Windows v0.6.6

Choose a tag to compare

@github-actions github-actions released this 22 Sep 14:22

修复:StepFun 网页会话链路 36 项复审闭环(S1-S8 + 11 + 6 + 4 + 7)

  • 自动续期死锁彻底修复:续期循环重构为验证式——12 秒硬 deadline 贯穿全流程(候选验证/保存共享预算),超时自动解除冷却并允许下轮重试;失败保留精确到阶段的脱敏原因(不再笼统显示"冷却中"),成功立即清除冷却记录。临时网络错误允许有限重试(≤2 次),认证/结构错误立即停止;限流不再立即重试(尊重 Retry-After,由 5 分钟冷却承担)。保存凭据前检查剩余预算(≥2 秒),不足留待下轮且如实记录原因。
  • 多账号扫码登录隔离:每账号独立标识的登录窗口;登录前先清除 WebView2 旧 Oasis-Token Cookie 并刷新页面,防止第二账号静默绑定第一账号会话;窗口标题增加账号隔离提示。修复手动登录重试达上限后标志未清除导致同一 Token 无限重验的问题。
  • web_bound 凭据标记:仅扫码网页登录保存的凭据允许自动续期,手动粘贴 Token 不再误判可续期;Token 轮换时自动撤销网页绑定并清除旧 Cookie。升级兼容:旧版网页登录凭据(token+cookie 并存特征)自动迁移为可续期,现有账号升级后自动续期不失效。
  • 用量明细 / 24h 图表分页:按 total 分页拉取(最多 3 页 600 条),按小时+模型去重并带重复页检测,防止重复返回导致消耗重复累计;分页独立 10 秒预算,明细失败不连带丢弃已成功的套餐与现金结果,后续页失败透出警告且保留已获取记录;完整取回不再误报"达到上限"(按 truncated/total 判断),空记录不报警,结构异常显式提示图表暂不可用。
  • 安全与体验:代理信息展示脱敏(剥离密码等敏感参数,连接不受影响);设置保存失败回滚快捷键与网络客户端副作用;余额通知去重补充币种维度。

结构

  • 新增回归测试:web_bound 迁移与轮换撤销、代理脱敏、用量结构异常/截断告警等;全量门禁 cargo 130/130、vitest 95/95、tsc 0 错误。

Pulse for Windows v0.6.5

Choose a tag to compare

@github-actions github-actions released this 22 Sep 05:59

修复

  • StepFun 用量明细 400:请求参数对齐官网契约——fromTime 修正为 startTime、补 toTime 与 granularHour: 1,int64 时间戳按 protobuf JSON 映射编码为字符串,与官网仪表盘请求 schema 精确一致;24h 积分图表恢复正常出数。
  • 明细查询失败(HTTP 400)时保留套餐与现金余额数据、不误触发 Token 续期,错误提示标注具体状态码。

Pulse for Windows v0.6.4

Choose a tag to compare

@github-actions github-actions released this 21 Sep 18:19

新增:StepFun(阶跃星辰)/ Step Plan 供应商完整接入

  • 供应商接入:api.stepfun.com/v1/accounts 端点(404 自动 fallback step_plan/v1/accounts);CNY 余额(total/cash+voucher 多形态)、Credit 点数、套餐百分比窗口与 plan_name 解析;阶跃阶梯品牌图标与添加账号路由。
  • 网页扫码登录:受控 Webview 弹窗登录,Windows 原生 ICoreWebView2CookieManager 穿透 HttpOnly 捕获 Oasis-Token,自动落盘凭据管理器并触发刷新——无需手动复制 Token。
  • Token 30 分钟无感续期:会话过期时自动用保存的完整会话 Cookie 在隐形窗口刷新捕获新 Token 并重试抓取,全程无感;续期失败静默返回原错误。
  • 加油包识别:bucket_type == 2 独立为"加油包剩余"额度并展示到期时间,与套餐 Credit 并列。
  • 24h 积分图表:详情卡底部紧凑柱状图 + Token Spend 页明细卡片,悬停显示时段调用次数与消耗 Credit。
  • 错误精细化:embezzled(被踢下线)、Token 过期、凭据无效等 Connect-RPC 错误语义化中文提示。
  • 双凭据独立保留:API Key 与 Oasis Token 分开保存,单独更新任一项不影响另一项;任一来源失败单独提示。

修复

  • 设置页外链无响应:WebView2 不处理 target="_blank"——新增 open_external_url(仅允许 https,ShellExecuteW 调系统浏览器),About 页与更新中心链接全部接通。

Pulse for Windows v0.6.3

Choose a tag to compare

@github-actions github-actions released this 21 Sep 12:51

修复

  • 详情卡跨屏 DPI 记忆错乱:按账号记忆的自适应高度此前存物理像素——在 2.0x 高分屏与 1.0x 普通屏之间切换时高度失真,初次悬停卡片被压扁一半、溢出触发滚动条后才异步恢复。改存与 DPI 无关的逻辑像素,按目标屏幕缩放比实时换算,初次弹出即精准契合。
  • 高度测量缓冲补齐:计入卡片 2px 边框与次像素舍入(+20),杜绝 1~2px 临界溢出引发容器内滚动条闪现。
  • 滚动条彻底隐藏:详情卡滚动条恢复全局透明无视觉干扰,极端超长内容保留鼠标滚轮滚动能力。

其他

  • 悬停切换账号时卡片以淡入微位移动效平滑过渡(key 重挂触发)。

Pulse for Windows v0.6.2

Choose a tag to compare

@github-actions github-actions released this 21 Sep 12:32

修复

  • 跨分辨率/DPI 拖动抖动与尺寸抽搐:拖动抓取偏移量改存与 DPI 无关的逻辑像素(DIP)——跨缩放比屏幕拖动时按目标屏缩放比动态换算回物理像素,光标锚点平滑连续,不再在两屏边界跳跃抽搐。
  • 详情卡底边裁切(屏幕下半部/任务栏场景):内容自适应加高后若向下超出屏幕底边,自动将窗口向上平移对齐底边上方 4px,卡片完整呈现在屏幕内。
  • 详情卡极端超长内容:配置 4px 半透明微型滚动条(悬停加深),极端超长时支持垂直滚动兜底。
  • 按账号记忆自适应高度:各账号悬停时初始高度使用该账号上次的学习值,更精准。

Pulse for Windows v0.6.1

Choose a tag to compare

@github-actions github-actions released this 21 Sep 10:54

修复

  • StepFun 套餐查询误报失败:控制台 RPC 的成功状态是 status: 1,此前误判为非 0 即失败——有效 Token 被误报查询失败。已按真实契约修正(数字/字符串 1 均接受,0/2/缺失判失败),API 余额端点无此契约不受影响。
  • device_id 提取优先刷新段:Token 含两段 JWT 时优先取刷新段的有效 device_id,并过滤空值。

结构

  • StepFun 逻辑独立为 providers/stepfun.rs 模块(153 行),新增 2 个专项测试(状态判定矩阵、device_id 优先级)。

新增

  • 外圈时间环周期来源三态:数据源自带周期优先使用(标注"按数据源周期计算");StepFun 套餐缺账期时按 30 天规则估算;支持账号级自定义周期天数(1 小时至 366 天,标注估算依据)。重置倒计时始终采用接口真实时间,估算仅影响外环展示与进度比例,不污染原始额度与预测。

Pulse for Windows v0.5.2

Choose a tag to compare

@github-actions github-actions released this 21 Sep 06:44

优化

  • 网络错误与服务商限流分离处理:超时/DNS/代理/TLS/连接拒绝归类为网络连通性错误,与 429 限流、401 鉴权等业务错误分开对待——断网不再承受最长 30 分钟的指数退避惩罚,改为 15→30→60 秒封顶的低上限阶梯重试,网络恢复后约 1 分钟内自动恢复额度环。
  • 悬浮栏异常环一键重测:网络断开的账号点击圆环立即重新测试连接(不再被退避拦截);悬停异常环时明确提示错误信息与"点击重新测试连接"。429 限流的退避保护保留。

Pulse for Windows v0.5.1

Choose a tag to compare

@github-actions github-actions released this 20 Sep 16:15

修复

  • 收纳条预警阈值跟随通用设置:未启用自定义阈值时,黄/红阈值从通用设置的预警阈值动态派生——此前硬编码 75/90,调整通用阈值后收纳条颜色会与圆环不一致。
  • 活动灯秒级 tick 引用复用:状态语义不变时复用上一次的过渡对象——秒级评估不再每秒产生新引用触发悬浮栏重渲染与设置页同步 IPC。
  • CI 构建环境 Node 20→22(组件测试的依赖链需要 Node 20.18+ 的 undici API,此前 v0.4.8/v0.5.0 的 Release 构建因此失败)。

Pulse for Windows v0.5.0

Choose a tag to compare

@github-actions github-actions released this 20 Sep 15:29

新增:收纳条独立预警系统

  • 逐账号预警规则:每个账号可独立选择额度周期(主环/全部/指定窗口)与预警阈值(黄色/红色百分比);余额型账号支持按币种(如 CNY)设定"余额 ≤ 阈值"预警,非金额计量类型明确提示不适用。
  • 变色原因可解释:悬停收纳条显示精确原因(如"红色:Codex · 5 小时额度已使用 97%,达到红色阈值 90%");多账号聚合提示;数据不完整时降级为灰色并说明。
  • 设置面板实时大盘:发光预览条、结构化触发详情(账号/周期/百分比/阈值/相对时间)、参与评级与异常统计、实际生效颜色与防抖倒计时同步展示。
  • 金钱余额预警交互:自动探测币种,未配置时一键启用默认阈值(黄 20 / 红 5),已配置可调并可关闭;纯余额账号显示"余额账号"标识。
  • 防反复跳色:风险升高立即变色,风险降低进入 10 秒缓冲(期间再次升高立即取消等待);改配置/恢复默认/周期重置立即重算。
  • 旧配置无缝迁移:无预警配置的旧版自动按原 warning_threshold 迁移(黄=阈值-15、红=阈值),固定颜色与彩虹模式保留。

修复

  • 外观类设置保存不再对无读数的账号触发多余请求。