myccusage 1.2.2__tar.gz → 1.4.0__tar.gz

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.
Files changed (35) hide show
  1. {myccusage-1.2.2 → myccusage-1.4.0}/PKG-INFO +29 -14
  2. {myccusage-1.2.2 → myccusage-1.4.0}/README.md +28 -13
  3. {myccusage-1.2.2 → myccusage-1.4.0}/myccusage.egg-info/PKG-INFO +29 -14
  4. myccusage-1.4.0/myccusage.egg-info/SOURCES.txt +31 -0
  5. myccusage-1.4.0/myccusage_lib/__init__.py +6 -0
  6. myccusage-1.4.0/myccusage_lib/__main__.py +8 -0
  7. myccusage-1.4.0/myccusage_lib/adapters/__init__.py +63 -0
  8. myccusage-1.4.0/myccusage_lib/adapters/agy.py +360 -0
  9. myccusage-1.4.0/myccusage_lib/adapters/base.py +154 -0
  10. myccusage-1.4.0/myccusage_lib/adapters/claude.py +236 -0
  11. myccusage-1.4.0/myccusage_lib/adapters/codex.py +279 -0
  12. myccusage-1.4.0/myccusage_lib/adapters/grok.py +217 -0
  13. myccusage-1.4.0/myccusage_lib/adapters/hermes.py +154 -0
  14. myccusage-1.4.0/myccusage_lib/adapters/opencode.py +257 -0
  15. myccusage-1.4.0/myccusage_lib/adapters/pi.py +195 -0
  16. myccusage-1.4.0/myccusage_lib/adapters/workbuddy.py +234 -0
  17. {myccusage-1.2.2 → myccusage-1.4.0}/myccusage_lib/cli.py +184 -8
  18. {myccusage-1.2.2 → myccusage-1.4.0}/myccusage_lib/core.py +573 -129
  19. myccusage-1.4.0/myccusage_lib/macos/AppIcon.icns +0 -0
  20. myccusage-1.4.0/myccusage_lib/macos/build_app.sh +104 -0
  21. myccusage-1.4.0/myccusage_lib/macos/generate_icon.py +83 -0
  22. myccusage-1.4.0/myccusage_lib/macos/main.swift +837 -0
  23. {myccusage-1.2.2 → myccusage-1.4.0}/myccusage_lib/web/__init__.py +1 -0
  24. {myccusage-1.2.2 → myccusage-1.4.0}/myccusage_lib/web/server.py +108 -34
  25. {myccusage-1.2.2 → myccusage-1.4.0}/myccusage_lib/web/static/app.js +107 -1
  26. {myccusage-1.2.2 → myccusage-1.4.0}/myccusage_lib/web/static/index.html +26 -1
  27. {myccusage-1.2.2 → myccusage-1.4.0}/myccusage_lib/web/static/style.css +13 -0
  28. {myccusage-1.2.2 → myccusage-1.4.0}/pyproject.toml +2 -2
  29. myccusage-1.2.2/myccusage.egg-info/SOURCES.txt +0 -16
  30. myccusage-1.2.2/myccusage_lib/__init__.py +0 -5
  31. {myccusage-1.2.2 → myccusage-1.4.0}/LICENSE +0 -0
  32. {myccusage-1.2.2 → myccusage-1.4.0}/myccusage.egg-info/dependency_links.txt +0 -0
  33. {myccusage-1.2.2 → myccusage-1.4.0}/myccusage.egg-info/entry_points.txt +0 -0
  34. {myccusage-1.2.2 → myccusage-1.4.0}/myccusage.egg-info/top_level.txt +0 -0
  35. {myccusage-1.2.2 → myccusage-1.4.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: myccusage
3
- Version: 1.2.2
3
+ Version: 1.4.0
4
4
  Summary: Multi-Agent session usage analytics and DeepSeek-V4.1-Flash cost estimator
5
5
  Author-email: Richard Huang <RichardHuang0001@users.noreply.github.com>
6
6
  License: MIT License
@@ -67,7 +67,7 @@ Dynamic: license-file
67
67
 
68
68
  ## 主要功能
69
69
 
70
- - **支持多种编程 Agent**:统一查看 Google Antigravity、Claude Code、Hermes Agent、OpenAI Codex、Grok、Pi Agent、OpenCode 的使用记录。
70
+ - **支持多种编程 Agent**:统一查看 Google Antigravity、Claude Code、Hermes Agent、OpenAI Codex、Grok、Pi Agent、OpenCode、WorkBuddy 的使用记录。
71
71
  - **Token 消耗与费用参考**:统计 Input、Cache 与 Output 构成,支持按 DeepSeek-V4.1-Flash、Gemini 3.8 Flash 等模型单价换算参考费用。
72
72
  - **缓存命中率统计**:直观查看每次会话与整体的 KV Cache 命中比例,了解缓存节省情况。
73
73
  - **自动读取会话标题**:解析本地 SQLite / JSONL / Protobuf 文件还原会话标题,避免面对难以辨识的 UUID。
@@ -83,18 +83,9 @@ Dynamic: license-file
83
83
 
84
84
  ## 安装说明
85
85
 
86
- ### 1. 安装底层依赖 `ccusage`
86
+ ### 直接使用 pip 安装(无需 Node.js / ccusage)
87
87
 
88
- `myccusage` 依赖开源工具 [ccusage](https://github.com/ryoppippi/ccusage) 收集底层数据,需先全局安装:
89
-
90
- ```bash
91
- npm install -g ccusage
92
- # 或使用 bun / pnpm:
93
- # bun add -g ccusage
94
- # pnpm add -g ccusage
95
- ```
96
-
97
- ### 2. 安装 `myccusage`
88
+ `myccusage` 现已内置各大 Agent 的原生 Python 高性能解析内核,**完全不依赖 Node.js 或外部 ccusage 工具**,直接 pip 即可安装并使用:
98
89
 
99
90
  ```bash
100
91
  pip install myccusage
@@ -131,10 +122,11 @@ myccusage --agy
131
122
  # 查看 Claude Code 每日账本
132
123
  myccusage --claude
133
124
 
134
- # 查看 Codex / Hermes / OpenCode
125
+ # 查看 Codex / Hermes / OpenCode / WorkBuddy
135
126
  myccusage --codex
136
127
  myccusage --hermes
137
128
  myccusage --opencode
129
+ myccusage --workbuddy
138
130
 
139
131
  # 查看某 Agent 各项目生命周期总消耗
140
132
  myccusage --agy -s
@@ -148,6 +140,8 @@ myccusage --agy -s -t
148
140
  | 参数 | 说明 |
149
141
  | :--- | :--- |
150
142
  | `ui` / `--web` | 启动本地 Web 仪表盘并打开浏览器 |
143
+ | `--daemon` | 常驻后台服务模式(关闭页面不退出,供 Dock 宿主消费) |
144
+ | `--no-open`, `-n` | 启动 Web 服务时不自动弹出浏览器 |
151
145
  | `--agy` / `--claude` / `--hermes` / ... | 指定要查看的 Agent |
152
146
  | `-d`, `--daily` | 每日账本模式(默认),按自然日切片并带有周小计 |
153
147
  | `-s`, `--session` | 项目总览模式,按会话累计生命周期总消耗 |
@@ -155,6 +149,27 @@ myccusage --agy -s -t
155
149
 
156
150
  ---
157
151
 
152
+ ### macOS 原生程序坞常驻微型看板 (可选)
153
+
154
+ 本项目支持一键运行原生 macOS 程序坞应用(`myccusage.app`):
155
+ - **Dock 动态微型看板**:每 60 秒极低能耗自动刷新(基于 `mtime` 单 Agent 指纹嗅探与今日热文件剪枝,刷新仅耗时 5ms,CPU 占用趋近 0%),大字清晰展示今日 Token 吞吐、今日 100M 进度条与最新活跃 Session 的 KV Cache 命中率圆环。
156
+ - **原生磨砂悬浮卡片**:点击 Dock 图标即可在上方升起半透明磨砂气泡卡片,智能跟随 Dock 位置并带有指示呼应箭头,展示今日各活跃 Agent 的细分用量,并附带“一键打开完整 Web 看板”入口。
157
+ - **一键运行与构建**:
158
+ ```bash
159
+ # 终端直接运行(首次会自动构建,约需 2 秒)
160
+ myccusage dock
161
+ ```
162
+ 或者通过脚本手动构建:
163
+ ```bash
164
+ bash macos/build_app.sh
165
+ open dist/myccusage.app
166
+ ```
167
+ 构建产物仅数百 KB,常驻内存仅数十 MB,离电续航完全无感。
168
+
169
+ ---
170
+
171
+ ---
172
+
158
173
  ## 二次开发与底层文档
159
174
 
160
175
  如果需要了解数据缓存切片机制、计价规则配置或扩展新的 Agent 适配,请参阅:
@@ -30,7 +30,7 @@
30
30
 
31
31
  ## 主要功能
32
32
 
33
- - **支持多种编程 Agent**:统一查看 Google Antigravity、Claude Code、Hermes Agent、OpenAI Codex、Grok、Pi Agent、OpenCode 的使用记录。
33
+ - **支持多种编程 Agent**:统一查看 Google Antigravity、Claude Code、Hermes Agent、OpenAI Codex、Grok、Pi Agent、OpenCode、WorkBuddy 的使用记录。
34
34
  - **Token 消耗与费用参考**:统计 Input、Cache 与 Output 构成,支持按 DeepSeek-V4.1-Flash、Gemini 3.8 Flash 等模型单价换算参考费用。
35
35
  - **缓存命中率统计**:直观查看每次会话与整体的 KV Cache 命中比例,了解缓存节省情况。
36
36
  - **自动读取会话标题**:解析本地 SQLite / JSONL / Protobuf 文件还原会话标题,避免面对难以辨识的 UUID。
@@ -46,18 +46,9 @@
46
46
 
47
47
  ## 安装说明
48
48
 
49
- ### 1. 安装底层依赖 `ccusage`
49
+ ### 直接使用 pip 安装(无需 Node.js / ccusage)
50
50
 
51
- `myccusage` 依赖开源工具 [ccusage](https://github.com/ryoppippi/ccusage) 收集底层数据,需先全局安装:
52
-
53
- ```bash
54
- npm install -g ccusage
55
- # 或使用 bun / pnpm:
56
- # bun add -g ccusage
57
- # pnpm add -g ccusage
58
- ```
59
-
60
- ### 2. 安装 `myccusage`
51
+ `myccusage` 现已内置各大 Agent 的原生 Python 高性能解析内核,**完全不依赖 Node.js 或外部 ccusage 工具**,直接 pip 即可安装并使用:
61
52
 
62
53
  ```bash
63
54
  pip install myccusage
@@ -94,10 +85,11 @@ myccusage --agy
94
85
  # 查看 Claude Code 每日账本
95
86
  myccusage --claude
96
87
 
97
- # 查看 Codex / Hermes / OpenCode
88
+ # 查看 Codex / Hermes / OpenCode / WorkBuddy
98
89
  myccusage --codex
99
90
  myccusage --hermes
100
91
  myccusage --opencode
92
+ myccusage --workbuddy
101
93
 
102
94
  # 查看某 Agent 各项目生命周期总消耗
103
95
  myccusage --agy -s
@@ -111,6 +103,8 @@ myccusage --agy -s -t
111
103
  | 参数 | 说明 |
112
104
  | :--- | :--- |
113
105
  | `ui` / `--web` | 启动本地 Web 仪表盘并打开浏览器 |
106
+ | `--daemon` | 常驻后台服务模式(关闭页面不退出,供 Dock 宿主消费) |
107
+ | `--no-open`, `-n` | 启动 Web 服务时不自动弹出浏览器 |
114
108
  | `--agy` / `--claude` / `--hermes` / ... | 指定要查看的 Agent |
115
109
  | `-d`, `--daily` | 每日账本模式(默认),按自然日切片并带有周小计 |
116
110
  | `-s`, `--session` | 项目总览模式,按会话累计生命周期总消耗 |
@@ -118,6 +112,27 @@ myccusage --agy -s -t
118
112
 
119
113
  ---
120
114
 
115
+ ### macOS 原生程序坞常驻微型看板 (可选)
116
+
117
+ 本项目支持一键运行原生 macOS 程序坞应用(`myccusage.app`):
118
+ - **Dock 动态微型看板**:每 60 秒极低能耗自动刷新(基于 `mtime` 单 Agent 指纹嗅探与今日热文件剪枝,刷新仅耗时 5ms,CPU 占用趋近 0%),大字清晰展示今日 Token 吞吐、今日 100M 进度条与最新活跃 Session 的 KV Cache 命中率圆环。
119
+ - **原生磨砂悬浮卡片**:点击 Dock 图标即可在上方升起半透明磨砂气泡卡片,智能跟随 Dock 位置并带有指示呼应箭头,展示今日各活跃 Agent 的细分用量,并附带“一键打开完整 Web 看板”入口。
120
+ - **一键运行与构建**:
121
+ ```bash
122
+ # 终端直接运行(首次会自动构建,约需 2 秒)
123
+ myccusage dock
124
+ ```
125
+ 或者通过脚本手动构建:
126
+ ```bash
127
+ bash macos/build_app.sh
128
+ open dist/myccusage.app
129
+ ```
130
+ 构建产物仅数百 KB,常驻内存仅数十 MB,离电续航完全无感。
131
+
132
+ ---
133
+
134
+ ---
135
+
121
136
  ## 二次开发与底层文档
122
137
 
123
138
  如果需要了解数据缓存切片机制、计价规则配置或扩展新的 Agent 适配,请参阅:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: myccusage
3
- Version: 1.2.2
3
+ Version: 1.4.0
4
4
  Summary: Multi-Agent session usage analytics and DeepSeek-V4.1-Flash cost estimator
5
5
  Author-email: Richard Huang <RichardHuang0001@users.noreply.github.com>
6
6
  License: MIT License
@@ -67,7 +67,7 @@ Dynamic: license-file
67
67
 
68
68
  ## 主要功能
69
69
 
70
- - **支持多种编程 Agent**:统一查看 Google Antigravity、Claude Code、Hermes Agent、OpenAI Codex、Grok、Pi Agent、OpenCode 的使用记录。
70
+ - **支持多种编程 Agent**:统一查看 Google Antigravity、Claude Code、Hermes Agent、OpenAI Codex、Grok、Pi Agent、OpenCode、WorkBuddy 的使用记录。
71
71
  - **Token 消耗与费用参考**:统计 Input、Cache 与 Output 构成,支持按 DeepSeek-V4.1-Flash、Gemini 3.8 Flash 等模型单价换算参考费用。
72
72
  - **缓存命中率统计**:直观查看每次会话与整体的 KV Cache 命中比例,了解缓存节省情况。
73
73
  - **自动读取会话标题**:解析本地 SQLite / JSONL / Protobuf 文件还原会话标题,避免面对难以辨识的 UUID。
@@ -83,18 +83,9 @@ Dynamic: license-file
83
83
 
84
84
  ## 安装说明
85
85
 
86
- ### 1. 安装底层依赖 `ccusage`
86
+ ### 直接使用 pip 安装(无需 Node.js / ccusage)
87
87
 
88
- `myccusage` 依赖开源工具 [ccusage](https://github.com/ryoppippi/ccusage) 收集底层数据,需先全局安装:
89
-
90
- ```bash
91
- npm install -g ccusage
92
- # 或使用 bun / pnpm:
93
- # bun add -g ccusage
94
- # pnpm add -g ccusage
95
- ```
96
-
97
- ### 2. 安装 `myccusage`
88
+ `myccusage` 现已内置各大 Agent 的原生 Python 高性能解析内核,**完全不依赖 Node.js 或外部 ccusage 工具**,直接 pip 即可安装并使用:
98
89
 
99
90
  ```bash
100
91
  pip install myccusage
@@ -131,10 +122,11 @@ myccusage --agy
131
122
  # 查看 Claude Code 每日账本
132
123
  myccusage --claude
133
124
 
134
- # 查看 Codex / Hermes / OpenCode
125
+ # 查看 Codex / Hermes / OpenCode / WorkBuddy
135
126
  myccusage --codex
136
127
  myccusage --hermes
137
128
  myccusage --opencode
129
+ myccusage --workbuddy
138
130
 
139
131
  # 查看某 Agent 各项目生命周期总消耗
140
132
  myccusage --agy -s
@@ -148,6 +140,8 @@ myccusage --agy -s -t
148
140
  | 参数 | 说明 |
149
141
  | :--- | :--- |
150
142
  | `ui` / `--web` | 启动本地 Web 仪表盘并打开浏览器 |
143
+ | `--daemon` | 常驻后台服务模式(关闭页面不退出,供 Dock 宿主消费) |
144
+ | `--no-open`, `-n` | 启动 Web 服务时不自动弹出浏览器 |
151
145
  | `--agy` / `--claude` / `--hermes` / ... | 指定要查看的 Agent |
152
146
  | `-d`, `--daily` | 每日账本模式(默认),按自然日切片并带有周小计 |
153
147
  | `-s`, `--session` | 项目总览模式,按会话累计生命周期总消耗 |
@@ -155,6 +149,27 @@ myccusage --agy -s -t
155
149
 
156
150
  ---
157
151
 
152
+ ### macOS 原生程序坞常驻微型看板 (可选)
153
+
154
+ 本项目支持一键运行原生 macOS 程序坞应用(`myccusage.app`):
155
+ - **Dock 动态微型看板**:每 60 秒极低能耗自动刷新(基于 `mtime` 单 Agent 指纹嗅探与今日热文件剪枝,刷新仅耗时 5ms,CPU 占用趋近 0%),大字清晰展示今日 Token 吞吐、今日 100M 进度条与最新活跃 Session 的 KV Cache 命中率圆环。
156
+ - **原生磨砂悬浮卡片**:点击 Dock 图标即可在上方升起半透明磨砂气泡卡片,智能跟随 Dock 位置并带有指示呼应箭头,展示今日各活跃 Agent 的细分用量,并附带“一键打开完整 Web 看板”入口。
157
+ - **一键运行与构建**:
158
+ ```bash
159
+ # 终端直接运行(首次会自动构建,约需 2 秒)
160
+ myccusage dock
161
+ ```
162
+ 或者通过脚本手动构建:
163
+ ```bash
164
+ bash macos/build_app.sh
165
+ open dist/myccusage.app
166
+ ```
167
+ 构建产物仅数百 KB,常驻内存仅数十 MB,离电续航完全无感。
168
+
169
+ ---
170
+
171
+ ---
172
+
158
173
  ## 二次开发与底层文档
159
174
 
160
175
  如果需要了解数据缓存切片机制、计价规则配置或扩展新的 Agent 适配,请参阅:
@@ -0,0 +1,31 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ myccusage.egg-info/PKG-INFO
5
+ myccusage.egg-info/SOURCES.txt
6
+ myccusage.egg-info/dependency_links.txt
7
+ myccusage.egg-info/entry_points.txt
8
+ myccusage.egg-info/top_level.txt
9
+ myccusage_lib/__init__.py
10
+ myccusage_lib/__main__.py
11
+ myccusage_lib/cli.py
12
+ myccusage_lib/core.py
13
+ myccusage_lib/adapters/__init__.py
14
+ myccusage_lib/adapters/agy.py
15
+ myccusage_lib/adapters/base.py
16
+ myccusage_lib/adapters/claude.py
17
+ myccusage_lib/adapters/codex.py
18
+ myccusage_lib/adapters/grok.py
19
+ myccusage_lib/adapters/hermes.py
20
+ myccusage_lib/adapters/opencode.py
21
+ myccusage_lib/adapters/pi.py
22
+ myccusage_lib/adapters/workbuddy.py
23
+ myccusage_lib/macos/AppIcon.icns
24
+ myccusage_lib/macos/build_app.sh
25
+ myccusage_lib/macos/generate_icon.py
26
+ myccusage_lib/macos/main.swift
27
+ myccusage_lib/web/__init__.py
28
+ myccusage_lib/web/server.py
29
+ myccusage_lib/web/static/app.js
30
+ myccusage_lib/web/static/index.html
31
+ myccusage_lib/web/static/style.css
@@ -0,0 +1,6 @@
1
+ """
2
+ myccusage: 多 AI 编程 Agent 本地会话用量分析与 DeepSeek-V4.1-Flash 等效计费工具。
3
+ 本包提供了从命令行接口到本地数据解析、Web 服务展示的完整实现。
4
+ """
5
+
6
+ __version__ = "1.4.0" # 定义项目的当前版本号,方便其他模块或发布脚本引用
@@ -0,0 +1,8 @@
1
+ """
2
+ myccusage package entrypoint:
3
+ python3 -m myccusage_lib [...]
4
+ """
5
+ from myccusage_lib.cli import main
6
+
7
+ if __name__ == "__main__":
8
+ main()
@@ -0,0 +1,63 @@
1
+ """
2
+ myccusage_lib.adapters:
3
+ Agent 原生适配器统一导出注册表:
4
+ 包含 8 大 Agent 的高性能适配器实现
5
+ 该模块用于集中管理所有 Agent 的数据源适配器,提供统一的注册和获取机制。
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ from .base import BaseAgentAdapter
11
+ from .workbuddy import WorkBuddyAdapter
12
+ from .claude import ClaudeAdapter
13
+ from .hermes import HermesAdapter
14
+ from .opencode import OpenCodeAdapter
15
+ from .codex import CodexAdapter
16
+ from .pi import PiAdapter
17
+ from .grok import GrokAdapter
18
+ from .agy import AntigravityAdapter
19
+
20
+ # 适配器注册表字典,键为 Agent 类型标识,值为具体的适配器实例
21
+ ADAPTERS = {
22
+ "workbuddy": WorkBuddyAdapter(),
23
+ "claude": ClaudeAdapter(),
24
+ "hermes": HermesAdapter(),
25
+ "opencode": OpenCodeAdapter(),
26
+ "codex": CodexAdapter(),
27
+ "pi": PiAdapter(),
28
+ "grok": GrokAdapter(),
29
+ "agy": AntigravityAdapter(),
30
+ }
31
+
32
+ def get_adapter(agent_type: str) -> BaseAgentAdapter:
33
+ """
34
+ 获取指定 Agent 适配器实例
35
+
36
+ 参数:
37
+ agent_type (str): Agent 类型的短标识,例如 'claude', 'codex'
38
+
39
+ 返回:
40
+ BaseAgentAdapter: 对应的适配器实例
41
+
42
+ 异常:
43
+ ValueError: 当请求了不支持的 Agent 类型时抛出
44
+ """
45
+ # 检查请求的类型是否在注册表中注册
46
+ if agent_type not in ADAPTERS:
47
+ raise ValueError(f"未知 Agent 类型: {agent_type},支持列表: {list(ADAPTERS.keys())}")
48
+ # 返回注册的适配器实例
49
+ return ADAPTERS[agent_type]
50
+
51
+ __all__ = [
52
+ "BaseAgentAdapter",
53
+ "ADAPTERS",
54
+ "get_adapter",
55
+ "WorkBuddyAdapter",
56
+ "ClaudeAdapter",
57
+ "HermesAdapter",
58
+ "OpenCodeAdapter",
59
+ "CodexAdapter",
60
+ "PiAdapter",
61
+ "GrokAdapter",
62
+ "AntigravityAdapter",
63
+ ]