toonify-mcp 0.2.3 → 0.3.1
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/README.de.md +270 -0
- package/README.es.md +270 -0
- package/README.fr.md +270 -0
- package/README.id.md +270 -0
- package/README.ja.md +270 -0
- package/README.ko.md +270 -0
- package/README.md +21 -10
- package/README.pt.md +270 -0
- package/README.ru.md +270 -0
- package/README.vi.md +270 -0
- package/README.zh-CN.md +270 -0
- package/README.zh-TW.md +27 -16
- package/dist/metrics/metrics-collector.d.ts +2 -0
- package/dist/metrics/metrics-collector.d.ts.map +1 -1
- package/dist/metrics/metrics-collector.js +43 -8
- package/dist/metrics/metrics-collector.js.map +1 -1
- package/dist/optimizer/caching/cache-optimizer.d.ts +53 -0
- package/dist/optimizer/caching/cache-optimizer.d.ts.map +1 -0
- package/dist/optimizer/caching/cache-optimizer.js +176 -0
- package/dist/optimizer/caching/cache-optimizer.js.map +1 -0
- package/dist/optimizer/caching/cache-strategies.d.ts +19 -0
- package/dist/optimizer/caching/cache-strategies.d.ts.map +1 -0
- package/dist/optimizer/caching/cache-strategies.js +62 -0
- package/dist/optimizer/caching/cache-strategies.js.map +1 -0
- package/dist/optimizer/caching/cache-types.d.ts +36 -0
- package/dist/optimizer/caching/cache-types.d.ts.map +1 -0
- package/dist/optimizer/caching/cache-types.js +5 -0
- package/dist/optimizer/caching/cache-types.js.map +1 -0
- package/dist/optimizer/caching/index.d.ts +7 -0
- package/dist/optimizer/caching/index.d.ts.map +1 -0
- package/dist/optimizer/caching/index.js +7 -0
- package/dist/optimizer/caching/index.js.map +1 -0
- package/dist/optimizer/multilingual/index.d.ts +7 -0
- package/dist/optimizer/multilingual/index.d.ts.map +1 -0
- package/dist/optimizer/multilingual/index.js +7 -0
- package/dist/optimizer/multilingual/index.js.map +1 -0
- package/dist/optimizer/multilingual/language-detector.d.ts +43 -0
- package/dist/optimizer/multilingual/language-detector.d.ts.map +1 -0
- package/dist/optimizer/multilingual/language-detector.js +161 -0
- package/dist/optimizer/multilingual/language-detector.js.map +1 -0
- package/dist/optimizer/multilingual/language-profiles.d.ts +34 -0
- package/dist/optimizer/multilingual/language-profiles.d.ts.map +1 -0
- package/dist/optimizer/multilingual/language-profiles.js +196 -0
- package/dist/optimizer/multilingual/language-profiles.js.map +1 -0
- package/dist/optimizer/multilingual/tokenizer-adapter.d.ts +47 -0
- package/dist/optimizer/multilingual/tokenizer-adapter.d.ts.map +1 -0
- package/dist/optimizer/multilingual/tokenizer-adapter.js +96 -0
- package/dist/optimizer/multilingual/tokenizer-adapter.js.map +1 -0
- package/dist/optimizer/token-optimizer.d.ts +11 -1
- package/dist/optimizer/token-optimizer.d.ts.map +1 -1
- package/dist/optimizer/token-optimizer.js +49 -8
- package/dist/optimizer/token-optimizer.js.map +1 -1
- package/dist/optimizer/types.d.ts +15 -0
- package/dist/optimizer/types.d.ts.map +1 -1
- package/package.json +2 -2
package/README.vi.md
ADDED
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
# 🎯 Toonify MCP
|
|
2
|
+
|
|
3
|
+
**[English](README.md) | [繁體中文](README.zh-TW.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [Español](README.es.md) | [Français](README.fr.md) | [Deutsch](README.de.md) | [한국어](README.ko.md) | [Русский](README.ru.md) | [Português](README.pt.md) | [Tiếng Việt](README.vi.md) | [Bahasa Indonesia](README.id.md)**
|
|
4
|
+
|
|
5
|
+
Máy chủ MCP + Plugin Claude Code cung cấp tối ưu hóa token tự động cho dữ liệu có cấu trúc.
|
|
6
|
+
Giảm 30-65% việc sử dụng token của Claude API **tùy thuộc vào cấu trúc dữ liệu** thông qua chuyển đổi định dạng TOON minh bạch, với mức tiết kiệm điển hình **50-55%** cho dữ liệu có cấu trúc.
|
|
7
|
+
|
|
8
|
+
## Tính năng mới trong v0.3.0
|
|
9
|
+
|
|
10
|
+
✨ **Tối ưu hóa token đa ngôn ngữ!**
|
|
11
|
+
- ✅ Đếm token chính xác cho hơn 15 ngôn ngữ (Trung, Nhật, Hàn, Tây Ban Nha, Ả Rập, v.v.)
|
|
12
|
+
- ✅ Hệ số nhân token nhận biết ngôn ngữ (2x cho tiếng Trung, 2.5x cho tiếng Nhật, 3x cho tiếng Ả Rập)
|
|
13
|
+
- ✅ Hỗ trợ phát hiện tự động văn bản hỗn hợp nhiều ngôn ngữ
|
|
14
|
+
- ✅ Cải thiện độ chính xác tối ưu hóa dựa trên kiểm tra chuẩn thực tế
|
|
15
|
+
- ✅ Tuyên bố tiết kiệm token được hỗ trợ bởi dữ liệu (phạm vi 30-65%, thường 50-55%)
|
|
16
|
+
|
|
17
|
+
## Tính năng
|
|
18
|
+
|
|
19
|
+
- **Giảm 30-65% token** (thường 50-55%) cho dữ liệu JSON, CSV, YAML
|
|
20
|
+
- **Hỗ trợ đa ngôn ngữ** - Đếm token chính xác cho hơn 15 ngôn ngữ
|
|
21
|
+
- **Hoàn toàn tự động** - Hook PostToolUse chặn kết quả công cụ
|
|
22
|
+
- **Không cần cấu hình** - Hoạt động ngay lập tức với các giá trị mặc định hợp lý
|
|
23
|
+
- **Chế độ kép** - Hoạt động như plugin (tự động) hoặc máy chủ MCP (thủ công)
|
|
24
|
+
- **Chỉ số tích hợp** - Theo dõi tiết kiệm token cục bộ
|
|
25
|
+
- **Dự phòng im lặng** - Không bao giờ làm gián đoạn quy trình làm việc của bạn
|
|
26
|
+
|
|
27
|
+
## Cài đặt
|
|
28
|
+
|
|
29
|
+
### Tùy chọn A: Plugin Claude Code (Khuyến nghị) ⭐
|
|
30
|
+
|
|
31
|
+
**Tối ưu hóa token tự động không cần gọi thủ công:**
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 1. Cài đặt toàn cục
|
|
35
|
+
npm install -g toonify-mcp
|
|
36
|
+
|
|
37
|
+
# 2. Thêm làm plugin (chế độ tự động)
|
|
38
|
+
claude plugin add toonify-mcp
|
|
39
|
+
|
|
40
|
+
# 3. Xác minh cài đặt
|
|
41
|
+
claude plugin list
|
|
42
|
+
# Nên hiển thị: toonify-mcp ✓
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Xong! ** Hook PostToolUse bây giờ sẽ tự động chặn và tối ưu hóa dữ liệu có cấu trúc từ Read, Grep và các công cụ tệp khác.
|
|
46
|
+
|
|
47
|
+
### Tùy chọn B: Máy chủ MCP (chế độ thủ công)
|
|
48
|
+
|
|
49
|
+
**Cho kiểm soát rõ ràng hoặc các máy khách MCP không phải Claude Code:**
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# 1. Cài đặt toàn cục
|
|
53
|
+
npm install -g toonify-mcp
|
|
54
|
+
|
|
55
|
+
# 2. Đăng ký làm máy chủ MCP
|
|
56
|
+
claude mcp add toonify -- toonify-mcp
|
|
57
|
+
|
|
58
|
+
# 3. Xác minh
|
|
59
|
+
claude mcp list
|
|
60
|
+
# Nên hiển thị: toonify: toonify-mcp - ✓ Connected
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Sau đó gọi các công cụ rõ ràng:
|
|
64
|
+
```bash
|
|
65
|
+
claude mcp call toonify optimize_content '{"content": "..."}'
|
|
66
|
+
claude mcp call toonify get_stats '{}'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Cách hoạt động
|
|
70
|
+
|
|
71
|
+
### Chế độ plugin (tự động)
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
Người dùng: Đọc tệp JSON lớn
|
|
75
|
+
↓
|
|
76
|
+
Claude Code gọi công cụ Read
|
|
77
|
+
↓
|
|
78
|
+
Hook PostToolUse chặn kết quả
|
|
79
|
+
↓
|
|
80
|
+
Hook phát hiện JSON, chuyển đổi sang TOON
|
|
81
|
+
↓
|
|
82
|
+
Nội dung đã tối ưu hóa được gửi đến Claude API
|
|
83
|
+
↓
|
|
84
|
+
Đạt được mức giảm token điển hình 50-55% ✨
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Chế độ máy chủ MCP (thủ công)
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
Người dùng: Gọi rõ ràng mcp__toonify__optimize_content
|
|
91
|
+
↓
|
|
92
|
+
Nội dung được chuyển đổi sang định dạng TOON
|
|
93
|
+
↓
|
|
94
|
+
Trả về kết quả đã tối ưu hóa
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Cấu hình
|
|
98
|
+
|
|
99
|
+
Tạo `~/.claude/toonify-config.json` (tùy chọn):
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"enabled": true,
|
|
104
|
+
"minTokensThreshold": 50,
|
|
105
|
+
"minSavingsThreshold": 30,
|
|
106
|
+
"skipToolPatterns": ["Bash", "Write", "Edit"]
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Tùy chọn
|
|
111
|
+
|
|
112
|
+
- **enabled**: Bật/tắt tối ưu hóa tự động (mặc định: `true`)
|
|
113
|
+
- **minTokensThreshold**: Token tối thiểu trước khi tối ưu hóa (mặc định: `50`)
|
|
114
|
+
- **minSavingsThreshold**: Phần trăm tiết kiệm tối thiểu yêu cầu (mặc định: `30%`)
|
|
115
|
+
- **skipToolPatterns**: Công cụ không bao giờ tối ưu hóa (mặc định: `["Bash", "Write", "Edit"]`)
|
|
116
|
+
|
|
117
|
+
### Biến môi trường
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
export TOONIFY_ENABLED=true
|
|
121
|
+
export TOONIFY_MIN_TOKENS=50
|
|
122
|
+
export TOONIFY_MIN_SAVINGS=30
|
|
123
|
+
export TOONIFY_SKIP_TOOLS="Bash,Write"
|
|
124
|
+
export TOONIFY_SHOW_STATS=true # Hiển thị thống kê tối ưu hóa trong đầu ra
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Ví dụ
|
|
128
|
+
|
|
129
|
+
### Trước khi tối ưu hóa (142 token)
|
|
130
|
+
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"products": [
|
|
134
|
+
{"id": 101, "name": "Laptop Pro", "price": 1299},
|
|
135
|
+
{"id": 102, "name": "Magic Mouse", "price": 79}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Sau khi tối ưu hóa (57 token, -60%)
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
[TOON-JSON]
|
|
144
|
+
products[2]{id,name,price}:
|
|
145
|
+
101,Laptop Pro,1299
|
|
146
|
+
102,Magic Mouse,79
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Tự động áp dụng ở chế độ plugin - không cần gọi thủ công!**
|
|
150
|
+
|
|
151
|
+
## Mẹo sử dụng
|
|
152
|
+
|
|
153
|
+
### Khi nào tối ưu hóa tự động được kích hoạt?
|
|
154
|
+
|
|
155
|
+
Hook PostToolUse tự động tối ưu hóa khi:
|
|
156
|
+
- ✅ Nội dung là JSON, CSV hoặc YAML hợp lệ
|
|
157
|
+
- ✅ Kích thước nội dung ≥ `minTokensThreshold` (mặc định: 50 token)
|
|
158
|
+
- ✅ Tiết kiệm ước tính ≥ `minSavingsThreshold` (mặc định: 30%)
|
|
159
|
+
- ✅ Công cụ KHÔNG có trong `skipToolPatterns` (ví dụ: không phải Bash/Write/Edit)
|
|
160
|
+
|
|
161
|
+
### Xem thống kê tối ưu hóa
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# Ở chế độ plugin
|
|
165
|
+
claude mcp call toonify get_stats '{}'
|
|
166
|
+
|
|
167
|
+
# Hoặc kiểm tra đầu ra Claude Code để xem thống kê (nếu TOONIFY_SHOW_STATS=true)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Khắc phục sự cố
|
|
171
|
+
|
|
172
|
+
### Hook không kích hoạt
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# 1. Kiểm tra plugin đã được cài đặt
|
|
176
|
+
claude plugin list | grep toonify
|
|
177
|
+
|
|
178
|
+
# 2. Kiểm tra cấu hình
|
|
179
|
+
cat ~/.claude/toonify-config.json
|
|
180
|
+
|
|
181
|
+
# 3. Bật thống kê để xem các lần thử tối ưu hóa
|
|
182
|
+
export TOONIFY_SHOW_STATS=true
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Tối ưu hóa không được áp dụng
|
|
186
|
+
|
|
187
|
+
- Kiểm tra `minTokensThreshold` - nội dung có thể quá nhỏ
|
|
188
|
+
- Kiểm tra `minSavingsThreshold` - tiết kiệm có thể < 30%
|
|
189
|
+
- Kiểm tra `skipToolPatterns` - công cụ có thể nằm trong danh sách bỏ qua
|
|
190
|
+
- Xác minh nội dung là JSON/CSV/YAML hợp lệ
|
|
191
|
+
|
|
192
|
+
### Vấn đề hiệu suất
|
|
193
|
+
|
|
194
|
+
- Giảm `minTokensThreshold` để tối ưu hóa tích cực hơn
|
|
195
|
+
- Tăng `minSavingsThreshold` để bỏ qua các tối ưu hóa biên
|
|
196
|
+
- Thêm nhiều công cụ hơn vào `skipToolPatterns` nếu cần
|
|
197
|
+
|
|
198
|
+
## So sánh: Plugin vs Máy chủ MCP
|
|
199
|
+
|
|
200
|
+
| Tính năng | Chế độ Plugin | Chế độ Máy chủ MCP |
|
|
201
|
+
|-----------|--------------|-------------------|
|
|
202
|
+
| **Kích hoạt** | Tự động (PostToolUse) | Thủ công (gọi công cụ) |
|
|
203
|
+
| **Tương thích** | Chỉ Claude Code | Bất kỳ máy khách MCP nào |
|
|
204
|
+
| **Cấu hình** | Tệp cấu hình plugin | Công cụ MCP |
|
|
205
|
+
| **Hiệu suất** | Không có chi phí | Chi phí gọi |
|
|
206
|
+
| **Trường hợp sử dụng** | Quy trình làm việc hàng ngày | Kiểm soát rõ ràng |
|
|
207
|
+
|
|
208
|
+
**Khuyến nghị**: Sử dụng chế độ plugin cho tối ưu hóa tự động. Sử dụng chế độ máy chủ MCP cho kiểm soát rõ ràng hoặc các máy khách MCP khác.
|
|
209
|
+
|
|
210
|
+
## Gỡ cài đặt
|
|
211
|
+
|
|
212
|
+
### Chế độ plugin
|
|
213
|
+
```bash
|
|
214
|
+
claude plugin remove toonify-mcp
|
|
215
|
+
rm ~/.claude/toonify-config.json
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Chế độ máy chủ MCP
|
|
219
|
+
```bash
|
|
220
|
+
claude mcp remove toonify
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Gói
|
|
224
|
+
```bash
|
|
225
|
+
npm uninstall -g toonify-mcp
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Liên kết
|
|
229
|
+
|
|
230
|
+
- **GitHub**: https://github.com/kevintseng/toonify-mcp
|
|
231
|
+
- **Issues**: https://github.com/kevintseng/toonify-mcp/issues
|
|
232
|
+
- **NPM**: https://www.npmjs.com/package/toonify-mcp
|
|
233
|
+
- **Tài liệu MCP**: https://code.claude.com/docs/mcp
|
|
234
|
+
- **Định dạng TOON**: https://github.com/toon-format/toon
|
|
235
|
+
|
|
236
|
+
## Đóng góp
|
|
237
|
+
|
|
238
|
+
Đóng góp được chào đón! Vui lòng xem [CONTRIBUTING.md](CONTRIBUTING.md) để biết hướng dẫn.
|
|
239
|
+
|
|
240
|
+
## Giấy phép
|
|
241
|
+
|
|
242
|
+
Giấy phép MIT - xem [LICENSE](LICENSE)
|
|
243
|
+
|
|
244
|
+
## Nhật ký thay đổi
|
|
245
|
+
|
|
246
|
+
### v0.3.0 (2025-12-26)
|
|
247
|
+
- ✨ **Tối ưu hóa token đa ngôn ngữ** - đếm chính xác cho hơn 15 ngôn ngữ
|
|
248
|
+
- ✨ Hệ số nhân token nhận biết ngôn ngữ (2x Trung, 2.5x Nhật, 3x Ả Rập, v.v.)
|
|
249
|
+
- ✨ Phát hiện và tối ưu hóa văn bản hỗn hợp nhiều ngôn ngữ
|
|
250
|
+
- ✨ Kiểm tra chuẩn toàn diện với thống kê thực tế
|
|
251
|
+
- 📊 Tuyên bố tiết kiệm token được hỗ trợ bởi dữ liệu (phạm vi 30-65%, thường 50-55%)
|
|
252
|
+
- ✅ Hơn 75 kiểm tra đã vượt qua, bao gồm các trường hợp biên đa ngôn ngữ
|
|
253
|
+
- 📝 Các phiên bản README đa ngôn ngữ
|
|
254
|
+
|
|
255
|
+
### v0.2.0 (2025-12-25)
|
|
256
|
+
- ✨ Đã thêm hỗ trợ plugin Claude Code với hook PostToolUse
|
|
257
|
+
- ✨ Tối ưu hóa token tự động (không cần gọi thủ công)
|
|
258
|
+
- ✨ Hệ thống cấu hình plugin
|
|
259
|
+
- ✨ Chế độ kép: Plugin (tự động) + Máy chủ MCP (thủ công)
|
|
260
|
+
- 📝 Cập nhật tài liệu toàn diện
|
|
261
|
+
|
|
262
|
+
### v0.1.1 (2024-12-24)
|
|
263
|
+
- 🐛 Sửa lỗi và cải tiến
|
|
264
|
+
- 📝 Cập nhật tài liệu
|
|
265
|
+
|
|
266
|
+
### v0.1.0 (2024-12-24)
|
|
267
|
+
- 🎉 Phát hành ban đầu
|
|
268
|
+
- ✨ Triển khai máy chủ MCP
|
|
269
|
+
- ✨ Tối ưu hóa định dạng TOON
|
|
270
|
+
- ✨ Theo dõi chỉ số tích hợp
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
# 🎯 Toonify MCP
|
|
2
|
+
|
|
3
|
+
**[English](README.md) | [繁體中文](README.zh-TW.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [Español](README.es.md) | [Français](README.fr.md) | [Deutsch](README.de.md) | [한국어](README.ko.md) | [Русский](README.ru.md) | [Português](README.pt.md) | [Tiếng Việt](README.vi.md) | [Bahasa Indonesia](README.id.md)**
|
|
4
|
+
|
|
5
|
+
MCP 服务器 + Claude Code 插件,提供结构化数据的自动 token 优化。
|
|
6
|
+
通过透明的 TOON 格式转换,**根据数据结构减少 30-65% 的 Claude API token 使用量**,结构化数据的典型节省率为 **50-55%**。
|
|
7
|
+
|
|
8
|
+
## v0.3.0 新功能
|
|
9
|
+
|
|
10
|
+
✨ **多语言 Token 优化!**
|
|
11
|
+
- ✅ 精确计算 15+ 种语言的 token(中文、日文、韩文、西班牙文、阿拉伯文等)
|
|
12
|
+
- ✅ 语言感知的 token 倍数(中文 2 倍、日文 2.5 倍、阿拉伯文 3 倍)
|
|
13
|
+
- ✅ 支持混合语言文本的自动检测
|
|
14
|
+
- ✅ 基于真实基准测试改进优化准确性
|
|
15
|
+
- ✅ 数据支持的 token 节省声明(30-65% 范围,通常 50-55%)
|
|
16
|
+
|
|
17
|
+
## 功能特色
|
|
18
|
+
|
|
19
|
+
- **30-65% Token 减少**(通常 50-55%)适用于 JSON、CSV、YAML 数据
|
|
20
|
+
- **多语言支持** - 精确计算 15+ 种语言的 token
|
|
21
|
+
- **完全自动** - PostToolUse hook 拦截工具结果
|
|
22
|
+
- **零配置** - 开箱即用,采用合理预设值
|
|
23
|
+
- **双模式** - 作为插件(自动)或 MCP 服务器(手动)
|
|
24
|
+
- **内建指标** - 在本地追踪 token 节省
|
|
25
|
+
- **静默回退** - 永不中断您的工作流程
|
|
26
|
+
|
|
27
|
+
## 安装
|
|
28
|
+
|
|
29
|
+
### 选项 A:Claude Code 插件(推荐)⭐
|
|
30
|
+
|
|
31
|
+
**零手动调用的自动 token 优化:**
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 1. 全局安装
|
|
35
|
+
npm install -g toonify-mcp
|
|
36
|
+
|
|
37
|
+
# 2. 添加为插件(自动模式)
|
|
38
|
+
claude plugin add toonify-mcp
|
|
39
|
+
|
|
40
|
+
# 3. 验证安装
|
|
41
|
+
claude plugin list
|
|
42
|
+
# 应显示:toonify-mcp ✓
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**完成!** PostToolUse hook 现在会自动拦截并优化来自 Read、Grep 和其他文件工具的结构化数据。
|
|
46
|
+
|
|
47
|
+
### 选项 B:MCP 服务器(手动模式)
|
|
48
|
+
|
|
49
|
+
**用于明确控制或非 Claude Code MCP 客户端:**
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# 1. 全局安装
|
|
53
|
+
npm install -g toonify-mcp
|
|
54
|
+
|
|
55
|
+
# 2. 注册为 MCP 服务器
|
|
56
|
+
claude mcp add toonify -- toonify-mcp
|
|
57
|
+
|
|
58
|
+
# 3. 验证
|
|
59
|
+
claude mcp list
|
|
60
|
+
# 应显示:toonify: toonify-mcp - ✓ Connected
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
然后明确调用工具:
|
|
64
|
+
```bash
|
|
65
|
+
claude mcp call toonify optimize_content '{"content": "..."}'
|
|
66
|
+
claude mcp call toonify get_stats '{}'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## 运作原理
|
|
70
|
+
|
|
71
|
+
### 插件模式(自动)
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
用户:读取大型 JSON 文件
|
|
75
|
+
↓
|
|
76
|
+
Claude Code 调用 Read 工具
|
|
77
|
+
↓
|
|
78
|
+
PostToolUse hook 拦截结果
|
|
79
|
+
↓
|
|
80
|
+
Hook 检测 JSON,转换为 TOON
|
|
81
|
+
↓
|
|
82
|
+
优化后的内容发送到 Claude API
|
|
83
|
+
↓
|
|
84
|
+
达成 50-55% 典型 token 减少 ✨
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### MCP 服务器模式(手动)
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
用户:明确调用 mcp__toonify__optimize_content
|
|
91
|
+
↓
|
|
92
|
+
内容转换为 TOON 格式
|
|
93
|
+
↓
|
|
94
|
+
返回优化结果
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## 配置
|
|
98
|
+
|
|
99
|
+
创建 `~/.claude/toonify-config.json`(可选):
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"enabled": true,
|
|
104
|
+
"minTokensThreshold": 50,
|
|
105
|
+
"minSavingsThreshold": 30,
|
|
106
|
+
"skipToolPatterns": ["Bash", "Write", "Edit"]
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 选项
|
|
111
|
+
|
|
112
|
+
- **enabled**:启用/停用自动优化(预设:`true`)
|
|
113
|
+
- **minTokensThreshold**:优化前的最小 token 数(预设:`50`)
|
|
114
|
+
- **minSavingsThreshold**:所需的最小节省百分比(预设:`30%`)
|
|
115
|
+
- **skipToolPatterns**:永不优化的工具(预设:`["Bash", "Write", "Edit"]`)
|
|
116
|
+
|
|
117
|
+
### 环境变量
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
export TOONIFY_ENABLED=true
|
|
121
|
+
export TOONIFY_MIN_TOKENS=50
|
|
122
|
+
export TOONIFY_MIN_SAVINGS=30
|
|
123
|
+
export TOONIFY_SKIP_TOOLS="Bash,Write"
|
|
124
|
+
export TOONIFY_SHOW_STATS=true # 在输出中显示优化统计
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## 示例
|
|
128
|
+
|
|
129
|
+
### 优化前(142 tokens)
|
|
130
|
+
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"products": [
|
|
134
|
+
{"id": 101, "name": "Laptop Pro", "price": 1299},
|
|
135
|
+
{"id": 102, "name": "Magic Mouse", "price": 79}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### 优化后(57 tokens,-60%)
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
[TOON-JSON]
|
|
144
|
+
products[2]{id,name,price}:
|
|
145
|
+
101,Laptop Pro,1299
|
|
146
|
+
102,Magic Mouse,79
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**在插件模式下自动应用 - 无需手动调用!**
|
|
150
|
+
|
|
151
|
+
## 使用技巧
|
|
152
|
+
|
|
153
|
+
### 何时触发自动优化?
|
|
154
|
+
|
|
155
|
+
PostToolUse hook 在以下情况下自动优化:
|
|
156
|
+
- ✅ 内容是有效的 JSON、CSV 或 YAML
|
|
157
|
+
- ✅ 内容大小 ≥ `minTokensThreshold`(预设:50 tokens)
|
|
158
|
+
- ✅ 预估节省 ≥ `minSavingsThreshold`(预设:30%)
|
|
159
|
+
- ✅ 工具不在 `skipToolPatterns` 中(例如,不是 Bash/Write/Edit)
|
|
160
|
+
|
|
161
|
+
### 查看优化统计
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# 在插件模式下
|
|
165
|
+
claude mcp call toonify get_stats '{}'
|
|
166
|
+
|
|
167
|
+
# 或检查 Claude Code 输出的统计(如果 TOONIFY_SHOW_STATS=true)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## 故障排除
|
|
171
|
+
|
|
172
|
+
### Hook 未触发
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# 1. 检查插件是否已安装
|
|
176
|
+
claude plugin list | grep toonify
|
|
177
|
+
|
|
178
|
+
# 2. 检查配置
|
|
179
|
+
cat ~/.claude/toonify-config.json
|
|
180
|
+
|
|
181
|
+
# 3. 启用统计以查看优化尝试
|
|
182
|
+
export TOONIFY_SHOW_STATS=true
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### 未应用优化
|
|
186
|
+
|
|
187
|
+
- 检查 `minTokensThreshold` - 内容可能太小
|
|
188
|
+
- 检查 `minSavingsThreshold` - 节省可能 < 30%
|
|
189
|
+
- 检查 `skipToolPatterns` - 工具可能在跳过列表中
|
|
190
|
+
- 验证内容是有效的 JSON/CSV/YAML
|
|
191
|
+
|
|
192
|
+
### 性能问题
|
|
193
|
+
|
|
194
|
+
- 降低 `minTokensThreshold` 以更积极地优化
|
|
195
|
+
- 提高 `minSavingsThreshold` 以跳过边际优化
|
|
196
|
+
- 如需要,将更多工具添加到 `skipToolPatterns`
|
|
197
|
+
|
|
198
|
+
## 比较:插件 vs MCP 服务器
|
|
199
|
+
|
|
200
|
+
| 功能 | 插件模式 | MCP 服务器模式 |
|
|
201
|
+
|------|---------|--------------|
|
|
202
|
+
| **激活** | 自动(PostToolUse) | 手动(调用工具) |
|
|
203
|
+
| **兼容性** | 仅 Claude Code | 任何 MCP 客户端 |
|
|
204
|
+
| **配置** | 插件配置文件 | MCP 工具 |
|
|
205
|
+
| **性能** | 零开销 | 调用开销 |
|
|
206
|
+
| **使用情境** | 日常工作流程 | 明确控制 |
|
|
207
|
+
|
|
208
|
+
**建议**:使用插件模式进行自动优化。使用 MCP 服务器模式进行明确控制或其他 MCP 客户端。
|
|
209
|
+
|
|
210
|
+
## 卸载
|
|
211
|
+
|
|
212
|
+
### 插件模式
|
|
213
|
+
```bash
|
|
214
|
+
claude plugin remove toonify-mcp
|
|
215
|
+
rm ~/.claude/toonify-config.json
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### MCP 服务器模式
|
|
219
|
+
```bash
|
|
220
|
+
claude mcp remove toonify
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### 包
|
|
224
|
+
```bash
|
|
225
|
+
npm uninstall -g toonify-mcp
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## 链接
|
|
229
|
+
|
|
230
|
+
- **GitHub**:https://github.com/kevintseng/toonify-mcp
|
|
231
|
+
- **Issues**:https://github.com/kevintseng/toonify-mcp/issues
|
|
232
|
+
- **NPM**:https://www.npmjs.com/package/toonify-mcp
|
|
233
|
+
- **MCP 文档**:https://code.claude.com/docs/mcp
|
|
234
|
+
- **TOON 格式**:https://github.com/toon-format/toon
|
|
235
|
+
|
|
236
|
+
## 贡献
|
|
237
|
+
|
|
238
|
+
欢迎贡献!请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解指南。
|
|
239
|
+
|
|
240
|
+
## 授权
|
|
241
|
+
|
|
242
|
+
MIT 授权 - 请参阅 [LICENSE](LICENSE)
|
|
243
|
+
|
|
244
|
+
## 更新日志
|
|
245
|
+
|
|
246
|
+
### v0.3.0(2025-12-26)
|
|
247
|
+
- ✨ **多语言 token 优化** - 精确计算 15+ 种语言
|
|
248
|
+
- ✨ 语言感知的 token 倍数(中文 2 倍、日文 2.5 倍、阿拉伯文 3 倍等)
|
|
249
|
+
- ✨ 混合语言文本检测和优化
|
|
250
|
+
- ✨ 使用真实统计数据进行全面基准测试
|
|
251
|
+
- 📊 数据支持的 token 节省声明(30-65% 范围,通常 50-55%)
|
|
252
|
+
- ✅ 75+ 测试通过,包括多语言边缘情况
|
|
253
|
+
- 📝 多语言 README 版本
|
|
254
|
+
|
|
255
|
+
### v0.2.0 (2025-12-25)
|
|
256
|
+
- ✨ 添加 Claude Code 插件支持和 PostToolUse hook
|
|
257
|
+
- ✨ 自动 token 优化(无需手动调用)
|
|
258
|
+
- ✨ 插件配置系统
|
|
259
|
+
- ✨ 双模式:插件(自动)+ MCP 服务器(手动)
|
|
260
|
+
- 📝 全面文档更新
|
|
261
|
+
|
|
262
|
+
### v0.1.1 (2024-12-24)
|
|
263
|
+
- 🐛 错误修复和改进
|
|
264
|
+
- 📝 文档更新
|
|
265
|
+
|
|
266
|
+
### v0.1.0 (2024-12-24)
|
|
267
|
+
- 🎉 初始发布
|
|
268
|
+
- ✨ MCP 服务器实现
|
|
269
|
+
- ✨ TOON 格式优化
|
|
270
|
+
- ✨ 内建指标追踪
|
package/README.zh-TW.md
CHANGED
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
# 🎯 Toonify MCP
|
|
2
2
|
|
|
3
|
-
**[English](README.md) | [繁體中文](README.zh-TW.md)**
|
|
3
|
+
**[English](README.md) | [繁體中文](README.zh-TW.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [Español](README.es.md) | [Français](README.fr.md) | [Deutsch](README.de.md) | [한국어](README.ko.md) | [Русский](README.ru.md) | [Português](README.pt.md) | [Tiếng Việt](README.vi.md) | [Bahasa Indonesia](README.id.md)**
|
|
4
4
|
|
|
5
|
-
MCP 伺服器 + Claude Code
|
|
6
|
-
透過透明的 TOON
|
|
5
|
+
MCP 伺服器 + Claude Code 外掛程式,提供結構化數據的自動 token 優化。
|
|
6
|
+
透過透明的 TOON 格式轉換,**根據數據結構減少 30-65% 的 Claude API token 使用量**,結構化數據的典型節省率為 **50-55%**。
|
|
7
7
|
|
|
8
|
-
## v0.
|
|
8
|
+
## v0.3.0 新功能
|
|
9
9
|
|
|
10
|
-
✨
|
|
11
|
-
- ✅
|
|
12
|
-
- ✅
|
|
13
|
-
- ✅
|
|
14
|
-
- ✅
|
|
10
|
+
✨ **多語言 Token 優化!**
|
|
11
|
+
- ✅ 精確計算 15+ 種語言的 token(中文、日文、韓文、西班牙文、阿拉伯文等)
|
|
12
|
+
- ✅ 語言感知的 token 倍數(中文 2 倍、日文 2.5 倍、阿拉伯文 3 倍)
|
|
13
|
+
- ✅ 支援混合語言文本的自動偵測
|
|
14
|
+
- ✅ 基於真實基準測試改進優化準確性
|
|
15
|
+
- ✅ 數據支持的 token 節省聲明(30-65% 範圍,通常 50-55%)
|
|
15
16
|
|
|
16
17
|
## 功能特色
|
|
17
18
|
|
|
18
|
-
- **
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
19
|
+
- **30-65% Token 減少**(通常 50-55%)適用於 JSON、CSV、YAML 數據
|
|
20
|
+
- **多語言支援** - 精確計算 15+ 種語言的 token
|
|
21
|
+
- **完全自動** - PostToolUse hook 攔截工具結果
|
|
22
|
+
- **零配置** - 開箱即用,採用合理預設值
|
|
23
|
+
- **雙模式** - 作為外掛程式(自動)或 MCP 伺服器(手動)
|
|
24
|
+
- **內建指標** - 在本地追蹤 token 節省
|
|
25
|
+
- **靜默回退** - 永不中斷您的工作流程
|
|
24
26
|
|
|
25
27
|
## 安裝方式
|
|
26
28
|
|
|
@@ -79,7 +81,7 @@ Hook 偵測 JSON,轉換為 TOON
|
|
|
79
81
|
↓
|
|
80
82
|
優化後的內容發送到 Claude API
|
|
81
83
|
↓
|
|
82
|
-
|
|
84
|
+
達成 50-55% 典型 token 減少 ✨
|
|
83
85
|
```
|
|
84
86
|
|
|
85
87
|
### MCP 伺服器模式(手動)
|
|
@@ -241,6 +243,15 @@ MIT License - 請參閱 [LICENSE](LICENSE)
|
|
|
241
243
|
|
|
242
244
|
## 更新日誌
|
|
243
245
|
|
|
246
|
+
### v0.3.0(2025-12-26)
|
|
247
|
+
- ✨ **多語言 token 優化** - 精確計算 15+ 種語言
|
|
248
|
+
- ✨ 語言感知的 token 倍數(中文 2 倍、日文 2.5 倍、阿拉伯文 3 倍等)
|
|
249
|
+
- ✨ 混合語言文本偵測和優化
|
|
250
|
+
- ✨ 使用真實統計數據進行全面基準測試
|
|
251
|
+
- 📊 數據支持的 token 節省聲明(30-65% 範圍,通常 50-55%)
|
|
252
|
+
- ✅ 75+ 測試通過,包括多語言邊緣情況
|
|
253
|
+
- 📝 多語言 README 版本
|
|
254
|
+
|
|
244
255
|
### v0.2.0 (2025-12-25)
|
|
245
256
|
- ✨ 新增 Claude Code 插件支援與 PostToolUse hook
|
|
246
257
|
- ✨ 自動 token 優化(無需手動調用)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics-collector.d.ts","sourceRoot":"","sources":["../../src/metrics/metrics-collector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"metrics-collector.d.ts","sourceRoot":"","sources":["../../src/metrics/metrics-collector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;;IAW1B;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCvD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;IAIrC;;OAEG;YACW,SAAS;IAyBvB;;OAEG;YACW,SAAS;IAQvB;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;CAyCzC"}
|