Skip to content

feat(widget): 侧栏紧凑 ¥ 按钮 + 可拖动费用窗口 + 今日花费仅统计官方 API - #1

Open
dragan2023 wants to merge 2 commits into
1HelloMan1:mainfrom
dragan2023:main
Open

feat(widget): 侧栏紧凑 ¥ 按钮 + 可拖动费用窗口 + 今日花费仅统计官方 API#1
dragan2023 wants to merge 2 commits into
1HelloMan1:mainfrom
dragan2023:main

Conversation

@dragan2023

@dragan2023 dragan2023 commented Aug 19, 2026

Copy link
Copy Markdown

优化内容

1. 侧栏不再直接显示费用文字(解决与其他插件按钮重叠)

  • 原问题:组件通过 sidebar.footer.action 插槽直接渲染「余额 ¥x · 今日花费 ¥y」内联文字,与同一插槽的其他插件按钮(如刷视频)挤在一起导致重叠。
  • 改后UsageWidget 忽略宽/窄模式,统一渲染一个 28×28 的紧凑「¥」按钮,侧栏不再出现费用文字;余额/今日花费信息仅在悬停 tooltip 或点击弹出的窗口内展示。

2. 费用详情改为可拖动的浮动窗口(解决面板越出浏览器底部)

  • 原问题:详情卡使用 position: fixed,以按钮底部 rect.bottom + 6 作为 top 定位;侧栏本身贴近视口底部,算出的位置直接越过浏览器底部,导致详细数据面板无法查看。
  • 改后:点击「¥」按钮弹出独立浮动窗口:
    • 默认居中显示left:50%; top:50%; translate(-50%,-50%)),不再依赖按钮锚点定位;
    • 窗口头部为拖拽手柄,可自由拖动,拖动位置自动夹在视口范围内(标题栏始终可见);
    • 宽 340px,最大高度 calc(100vh - 24px),内容区可滚动;
    • 头部保留刷新按钮,新增 × 关闭按钮;Esc 也可关闭;点击窗口外不自动关闭,方便边看数据边拖动;
    • 原详情卡全部信息(余额、充值/赠送、今日花费、调用次数、Token 用量、按模型费用、计价说明)完整保留;
    • 中英文词典各新增 close 文案。

3. 今日花费估算按 provider 过滤,不再纳入非官方服务商

  • 原问题:侧栏「今日花费」原本是估算值(会话日志 token 用量 × 价目表),且对所有 provider 一视同仁——会连同 opencode-go 等非官方渠道的用量一起估算。例如官方 API 今日实际 11.35 元(pro 2 + flash 9.35),插件却估成 19.78 元。
  • 改后:仅前端改不了的,改动在服务端 lib/index.js 的估算逻辑:重放会话日志时读取每个请求的 config.provider,默认排除 opencode-go 等非官方渠道(新增可配置项 excludeProviders,默认 ["opencode-go"]),使「今日花费」只反映官方 DeepSeek API 的消耗;外部视觉调用(vision-fallback,opencode-go 渠道)同样排除。余额走官方接口、本身是正确的,不受影响。
  • 同步在「按模型」子项里也只保留官方模型的用量。

修改范围

文件 改动
lib/client.js 仅前端客户端:UsageWidget 组件重写(约 -106/+120 行)、新增 .ud-window 系列浮动窗口样式、zh/en 字典各新增 1 个 key
lib/index.js 服务端估算:新增 excludeProviders 配置项(默认 ["opencode-go"]),computeUsageconfig.provider 过滤非官方 provider;会话日志循环与外部视觉用量处理各加一行排除判断(约 +20/-5 行)
CHANGELOG.md 新增 ## Unreleased 条目(两项改动)
  • 未改动:余额获取(/user/balance 走官方接口)、计价表与峰谷价逻辑、统计看板 UsageDashboardTab、会话投影、测试用例。
  • 版本号保持 0.2.4,未发布新 npm 包。

验证

  • node --check lib/client.jsnode --check lib/index.js 语法检查通过;
  • 仓库自带测试 node --test test/*.test.mjs 通过(1/1);
  • 已在 dsh web 环境实测:侧栏显示紧凑 ¥ 按钮,点击弹出居中浮动窗口,可拖动、可滚动、× / Esc 可关闭,与其他侧栏按钮不再重叠;「今日花费」估算已剔除 opencode-go 用量。

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@dragan2023 dragan2023 changed the title feat(widget): 侧栏改为紧凑 ¥ 按钮 + 费用详情可拖动浮动窗口 feat(widget): 侧栏紧凑 ¥ 按钮 + 可拖动费用窗口 + 今日花费仅统计官方 API Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant