Releases: Visol-456/dsh-cost-tracker
Release list
v0.1.6 — Request log Cost 列裁切修复
修复项
问题:780px 窗口(表格容器约 700px)下 Request log 最右列 Cost 被裁切(表头只显示 "Co"、数值显示 "¥0.0…")。
根因:.table td { overflow: hidden; text-overflow: ellipsis } 作用于每个单元格,使自动表格布局可以把列压缩到文字宽度以下(内容可被裁切)——700px 容器 + width:100% 时浏览器挤压最右侧的 Cost 列。
修复(组合 a + b):
- 通用单元格移除
overflow/ellipsis(仅保留 nowrap):列保持内容自然宽度,8 列超出容器时由外层横向滚动(overflow-x: auto),绝不裁切; - 日志表单元格 padding 压缩至 6px(原 8px),配合紧凑时间格式
MM/DD HH:mm,8 列自然宽度 ≈656px,700px 容器下全部完整显示(含约 44px 余量); overflow/ellipsis/max-width:220px仅保留给 Model 列(hover title 显示全名,CC Switch 同款)。
验收标准:780px 窗口下 Cost 列表头与数值完整可见 ✅(宽度计算验证:自然宽度 656px ≤ 700px 容器;即使字体略宽溢出也会走横向滚动而非裁切)。
未改动
其他已验收功能(布局 1000px、数值列右对齐、tooltip 跟随鼠标、渐变、价格区等)均未触碰。
测试
- 全部 59 个测试通过(7 个文件);构建通过,bundle 内断言 padding 6px / Model 列 ellipsis / 通用 td 无 overflow 规则存在
v0.1.5 — UI 细节第三轮:全面对齐 CC Switch
修复项(对照验收反馈)
1. 表格数值列与表头严格对齐(真正的根因)
- 此前数值列"对不齐"是 CSS 特异性问题:
.table th(0,1,1)压过.num的右对齐(0,1,0),表头始终左对齐而数据单元格右对齐。新增.table th.num { text-align: right }后表头与数据严格对齐(三个表格同时修复)。
2. 表格列布局(参考 CC Switch RequestLogTable)
- 去掉 fixed 布局,改为 CC Switch 式内容自适应列宽(表头天然不可能重叠)+ min-width 700px + 横向滚动;
- 时间列改为 CC Switch 式紧凑格式
MM/DD HH:mm(完整时间悬浮可见),为其他列腾出空间; - Model 列上限 220px、超长省略 + hover title 显示全名(CC Switch 同款做法),不再无意义截断。
3. tooltip 跟随鼠标(丝滑)
- tooltip 位置随 mousemove 实时更新(数值仍吸附最近数据点,与 recharts 一致),靠近右/上边界时自动翻转到另一侧,不再固定吸附。
4. 布局取中间
- 页面最大宽度 860px → 1000px:不拉满窗口、也不缩成窄条,留白适中。
5. 其他细节对齐
- 图表网格改为虚线(recharts
strokeDasharray 3 3同款); - 右轴增加费用刻度(CC Switch 双轴都渲染刻度)。
致谢:使用统计页面 UI 全面参考 CC Switch(farion1231,MIT 协议)的 Usage Statistics 页面——布局、配色、图表样式与交互密度均以其为蓝本,README(中/英)已新增致谢段落,GitHub 仓库 description 已同步更新(中英双语)。
测试
- 全部 59 个测试通过(7 个文件);构建通过,bundle 内断言全部新规则存在
v0.1.4 — Request log 表格布局修复
修复项(对照验收反馈)
问题 1:窄窗口下表头重叠(Fresh input 与 Output 互相挤压)
- 根因:
table-layout: fixed下数字列仅 8%(≈54px),表头 "Fresh input" 需要 ≈88px,溢出到相邻列造成 "Fresh inp⊕utput" 重叠。 - 修复:
- 列宽重分配:时间 19%、Provider 16%、Model 16%、新增输入 11.5%、输出 8%、缓存命中 10.5%、首 token 11%、费用 8%(窄窗口下每列都够放表头与数据);
- 表格设置
min-width: 800px:容器更窄时表格保持舒适宽度,由外层横向滚动,而不是压缩文字; - 表头允许换行(
white-space: normal)作为兜底,极端字体/语言下宁可换行也不重叠; - 数字列保持右对齐 + 等宽数字。
问题 2:表格底部被 composer(消息输入框)遮挡
- 根因:页面底部内边距仅 24px,滚动到底时最后一行被输入框覆盖。
- 修复:页面底部内边距提升到 96px,滚动到最底部时最后一行完全可见。
未改动
图表(扁平/渐变/tooltip)、图例、价格区、日志条数(15 条)、整体布局等已验收功能均未触碰。
测试
- 全部 59 个测试通过(7 个文件)
- 构建通过,bundle 内断言新列宽/min-width/96px 内边距规则存在
v0.1.3 — 使用统计页 UI 对齐 CC Switch 风格
修复项(对照验收反馈)
- 图表过大过方:整体压扁为 760×208 的宽扁比例,不再占大块屏幕。
- 图表字号过大:根因是 CSS Modules 驼峰键丢失导致图表所有样式失效(SVG 文字退回浏览器默认 16px);修复后刻度/图例/tooltip 均为 10–11px,与页面其他 UI 一致。
- 图例挤成一团:同一根因(legend 无 flex 布局),修复后每个系列独立一行排列、色点与标签对齐。
- tooltip 黑屏黑字:改为浅色卡片 + 边框 + 阴影;每行文字颜色与对应系列颜色相同(如费用行用费用线的颜色)。
- 页面太挤:整体布局限制最大宽度 860px 并居中,视觉舒展。
- 请求日志:每页只显示 15 条(原 50 条),翻页步长同步 15。
- 表格列对齐:请求日志表改用 fixed 布局 + 显式列宽,每列数据与表头严格对齐(含等宽数字字体)。
- 曲线下方渐变填充:每条曲线下方增加与系列同色的竖向渐变填充(CC Switch 风格)。
- 价格配置"不可用"报错:根因是默认价格表被深冻结,settings 注册时 schema 强制转换写入冻结对象而抛错,导致 namespace 从未注册;现以 detached clone 作为 base 层,价格编辑真正可用;无 settings 部署时改为中性只读提示(说明如何在 cordis.yml 修改),不再显示突兀错误。
- 整体风格:对齐 CC Switch 的布局、配色、图表样式与密度。
测试
- 新增 settings-registration 回归测试(2 例)
- 全部 59 个测试通过(7 个文件)
v0.1.2
修复
-
「使用统计」移到会话页顶部 tab(最重要)
- 从设置页 section 改为
conversation.view顶层 tab,与「对话」「轨迹」平级。 - 保留价格表数据刷新逻辑:设置文档更新与连接重置时仍会自动刷新。
- 页面适配全宽会话页布局,窄屏下不再横向溢出(表格增加横向滚动容器)。
- 从设置页 section 改为
-
折线图 hover tooltip 可读性
- 修复黑底黑字完全不可读的问题:tooltip 使用明确的高对比深色背景 + 浅色前景,亮/暗主题下均可读。
-
折线图平滑拟合
- 用 Catmull-Rom 转 cubic Bézier 的平滑插值生成趋势线,数据点仍保留 hover 圆点,曲线贴合走势且不过度失真。
发布
- npm:
@visol-456/dsh-cost-tracker@0.1.2