@adversity/coding-tool-x 3.1.2 → 3.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/dist/web/assets/Analytics-Blo8_rhE.css +1 -0
- package/dist/web/assets/Analytics-DEIGaSFz.js +39 -0
- package/dist/web/assets/{ConfigTemplates-DvcbKKdS.js → ConfigTemplates-BZaehll1.js} +1 -1
- package/dist/web/assets/{Home-BJKPCBuk.css → Home-CyCIx4BA.css} +1 -1
- package/dist/web/assets/{Home-Cw-F_Wnu.js → Home-DIIH5bAk.js} +1 -1
- package/dist/web/assets/{PluginManager-jy_4GVxI.js → PluginManager-b4IlavFA.js} +1 -1
- package/dist/web/assets/{ProjectList-Df1-NcNr.js → ProjectList-QaqzjEea.js} +1 -1
- package/dist/web/assets/SessionList-CXUr6S7w.css +1 -0
- package/dist/web/assets/SessionList-Cz_hrGmL.js +1 -0
- package/dist/web/assets/{SkillManager-IRdseMKB.js → SkillManager-B-Rcb9xY.js} +1 -1
- package/dist/web/assets/{Terminal-BasTyDut.js → Terminal-C8CFJEkx.js} +1 -1
- package/dist/web/assets/{WorkspaceManager-D-D2kK1V.js → WorkspaceManager-XaQj8BRE.js} +1 -1
- package/dist/web/assets/icons-BxcwoY5F.js +1 -0
- package/dist/web/assets/index-B_kPXCbH.js +2 -0
- package/dist/web/assets/index-DUNAVDGb.css +1 -0
- package/dist/web/assets/naive-ui-BIXcURHZ.js +1 -0
- package/dist/web/assets/{vendors-CO3Upi1d.js → vendors-i5CBGnlm.js} +1 -1
- package/dist/web/assets/{vue-vendor-DqyWIXEb.js → vue-vendor-PKd8utv_.js} +1 -1
- package/dist/web/index.html +6 -6
- package/package.json +1 -1
- package/src/config/default.js +7 -29
- package/src/config/loader.js +6 -3
- package/src/config/model-metadata.js +102 -350
- package/src/config/model-metadata.json +125 -0
- package/src/server/api/channels.js +16 -39
- package/src/server/api/codex-channels.js +15 -43
- package/src/server/api/commands.js +0 -77
- package/src/server/api/config.js +4 -1
- package/src/server/api/gemini-channels.js +16 -40
- package/src/server/api/opencode-channels.js +25 -51
- package/src/server/api/opencode-proxy.js +1 -1
- package/src/server/api/opencode-sessions.js +0 -7
- package/src/server/api/sessions.js +11 -68
- package/src/server/api/settings.js +66 -39
- package/src/server/api/skills.js +0 -44
- package/src/server/api/statistics.js +115 -1
- package/src/server/codex-proxy-server.js +26 -55
- package/src/server/gemini-proxy-server.js +15 -14
- package/src/server/index.js +0 -3
- package/src/server/opencode-proxy-server.js +45 -121
- package/src/server/proxy-server.js +2 -4
- package/src/server/services/commands-service.js +0 -29
- package/src/server/services/config-templates-service.js +38 -28
- package/src/server/services/env-checker.js +73 -8
- package/src/server/services/plugins-service.js +37 -28
- package/src/server/services/pty-manager.js +22 -18
- package/src/server/services/skill-service.js +1 -49
- package/src/server/services/speed-test.js +40 -3
- package/src/server/services/statistics-service.js +238 -1
- package/src/server/utils/pricing.js +51 -60
- package/dist/web/assets/SessionList-BGJWyneI.css +0 -1
- package/dist/web/assets/SessionList-UWcZtC2r.js +0 -1
- package/dist/web/assets/icons-kcfLIMBB.js +0 -1
- package/dist/web/assets/index-CoB3zF0K.css +0 -1
- package/dist/web/assets/index-CryrSLv8.js +0 -2
- package/dist/web/assets/naive-ui-CSrLusZZ.js +0 -1
- package/src/server/api/convert.js +0 -260
- package/src/server/services/session-converter.js +0 -577
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,29 @@
|
|
|
4
4
|
|
|
5
5
|
该项目遵循 [Semantic Versioning](https://semver.org/)。
|
|
6
6
|
|
|
7
|
+
## [3.1.4] - 2026-02-28
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
- 🐛 **统计卡数值恒显示** - 修复切换 metric 时其他维度统计卡显示为 0 的问题,现在并发请求三个维度数据
|
|
11
|
+
- 🐛 **移除 dataZoom 滑块** - 修复 90d 视图图例下方出现多余波形滑块的问题
|
|
12
|
+
|
|
13
|
+
## [3.1.3] - 2026-02-28
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- ✨ **用量分析页面** - 新增独立 `/analytics` 页面,支持按模型/渠道/工具类型的 Token 用量、费用、请求数趋势图表
|
|
17
|
+
- ✨ **多工具数据聚合** - 分析图表合并 Claude / Codex / Gemini / OpenCode 四个工具的统计数据
|
|
18
|
+
- ✨ **堆叠柱状图 & 累计趋势图** - 基于 ECharts,支持柱状图/折线图切换、全屏展示
|
|
19
|
+
- ✨ **灵活时间范围** - 支持 1d/3d/7d/30d/90d 及自定义日期区间,自动选择小时/天粒度
|
|
20
|
+
- ✨ **数据导出** - 支持 CSV 和 JSON 格式导出趋势数据
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
- 🔄 **1天视图步长调整** - 从每2小时改为每4小时,减少数据点密度
|
|
24
|
+
- 🔄 **3天视图步长调整** - 从每6小时改为每12小时,图表更清晰
|
|
25
|
+
- 🔄 **X 轴日期格式精简** - 从 `2026-02-06` 改为 `02/06`,小时标签改为 `02/06 14:00`
|
|
26
|
+
|
|
27
|
+
### Fixed
|
|
28
|
+
- 🐛 **步长参数未传递** - 修复后端路由未解构 `step` 参数导致步长设置无效的问题
|
|
29
|
+
|
|
7
30
|
## [3.1.2] - 2026-02-27
|
|
8
31
|
|
|
9
32
|
### Added
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.analytics-page[data-v-f66ba4e5]{height:100%;background:var(--bg-primary);overflow-y:auto;padding:16px 20px;box-sizing:border-box;display:flex;flex-direction:column;gap:14px}.analytics-header[data-v-f66ba4e5]{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;flex-wrap:wrap;gap:10px}.page-title[data-v-f66ba4e5]{margin:0;font-size:18px;font-weight:700;color:var(--text-primary)}.toolbar[data-v-f66ba4e5]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.range-buttons[data-v-f66ba4e5]{display:flex;align-items:center;gap:4px}.range-btn[data-v-f66ba4e5]{padding:4px 10px;font-size:12px;border:1px solid var(--border-color, #e0e0e6);background:transparent;color:var(--text-secondary);border-radius:4px;cursor:pointer;transition:all .15s}.range-btn[data-v-f66ba4e5]:hover{border-color:var(--primary-color, #18a058);color:var(--primary-color, #18a058)}.range-btn.active[data-v-f66ba4e5]{background:var(--primary-color, #18a058);border-color:var(--primary-color, #18a058);color:#fff}.custom-range-wrapper[data-v-f66ba4e5]{margin-left:4px}.loading-overlay[data-v-f66ba4e5]{display:flex;justify-content:center;padding:20px 0}.summary-cards[data-v-f66ba4e5]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;flex-shrink:0}.summary-card[data-v-f66ba4e5]{background:var(--bg-secondary);border:1px solid var(--border-color, #e0e0e6);border-radius:8px;padding:14px 16px}.summary-label[data-v-f66ba4e5]{font-size:11px;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.summary-value[data-v-f66ba4e5]{font-size:22px;font-weight:700;color:var(--text-primary);line-height:1.2}.chart-section[data-v-f66ba4e5]{background:var(--bg-secondary);border:1px solid var(--border-color, #e0e0e6);border-radius:8px;padding:14px 16px;flex-shrink:0}.chart-section.fullscreen[data-v-f66ba4e5]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;border-radius:0;padding:20px;background:var(--bg-secondary);overflow:auto}.cumulative-section[data-v-f66ba4e5]{margin-bottom:8px}.chart-section-header[data-v-f66ba4e5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.chart-title[data-v-f66ba4e5]{font-size:13px;font-weight:600;color:var(--text-primary)}.chart-controls[data-v-f66ba4e5]{display:flex;align-items:center;gap:8px}.chart-type-toggle[data-v-f66ba4e5]{display:flex;border:1px solid var(--border-color, #e0e0e6);border-radius:4px;overflow:hidden}.toggle-btn[data-v-f66ba4e5]{padding:3px 10px;font-size:12px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.toggle-btn.active[data-v-f66ba4e5]{background:var(--primary-color, #18a058);color:#fff}.icon-btn[data-v-f66ba4e5]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-color, #e0e0e6);border-radius:4px;background:transparent;cursor:pointer;color:var(--text-secondary);transition:all .15s}.icon-btn[data-v-f66ba4e5]:hover{border-color:var(--primary-color, #18a058);color:var(--primary-color, #18a058)}.main-chart[data-v-f66ba4e5]{height:560px;width:100%}.chart-section.fullscreen .main-chart[data-v-f66ba4e5]{height:calc(100vh - 100px)}.cumulative-chart[data-v-f66ba4e5]{height:200px;width:100%}.empty-state[data-v-f66ba4e5]{height:120px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:13px}@media (max-width: 768px){.analytics-page[data-v-f66ba4e5]{padding:10px 12px}.summary-cards[data-v-f66ba4e5]{grid-template-columns:repeat(2,1fr)}.analytics-header[data-v-f66ba4e5]{flex-direction:column;align-items:flex-start}.toolbar[data-v-f66ba4e5]{width:100%}}@media (max-width: 480px){.summary-cards[data-v-f66ba4e5]{grid-template-columns:1fr 1fr}.summary-value[data-v-f66ba4e5]{font-size:18px}}
|