toonify-mcp 0.2.3 → 0.3.0
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.es.md +270 -0
- package/README.id.md +270 -0
- package/README.ja.md +270 -0
- package/README.md +21 -10
- 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.ja.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) | [Tiếng Việt](README.vi.md) | [Bahasa Indonesia](README.id.md)**
|
|
4
|
+
|
|
5
|
+
MCP サーバー + Claude Code プラグインによる構造化データの自動トークン最適化。
|
|
6
|
+
透過的な TOON フォーマット変換により、**データ構造に応じて Claude API トークン使用量を 30-65% 削減**し、構造化データでは一般的に **50-55%** の節約を実現します。
|
|
7
|
+
|
|
8
|
+
## v0.3.0 の新機能
|
|
9
|
+
|
|
10
|
+
✨ **多言語トークン最適化!**
|
|
11
|
+
- ✅ 15 以上の言語(中国語、日本語、韓国語、スペイン語、アラビア語など)の正確なトークンカウント
|
|
12
|
+
- ✅ 言語を考慮したトークン倍率(中国語 2 倍、日本語 2.5 倍、アラビア語 3 倍)
|
|
13
|
+
- ✅ 混合言語テキストの自動検出をサポート
|
|
14
|
+
- ✅ 実際のベンチマークに基づく最適化精度の向上
|
|
15
|
+
- ✅ データに裏付けられたトークン節約の主張(30-65% の範囲、通常 50-55%)
|
|
16
|
+
|
|
17
|
+
## 機能
|
|
18
|
+
|
|
19
|
+
- **30-65% のトークン削減**(通常 50-55%)- JSON、CSV、YAML データに対応
|
|
20
|
+
- **多言語サポート** - 15 以上の言語の正確なトークンカウント
|
|
21
|
+
- **完全自動** - PostToolUse フックがツール結果を傍受
|
|
22
|
+
- **設定不要** - 賢明なデフォルト設定で開箱即用
|
|
23
|
+
- **デュアルモード** - プラグイン(自動)または MCP サーバー(手動)として動作
|
|
24
|
+
- **組み込みメトリクス** - トークン節約をローカルで追跡
|
|
25
|
+
- **サイレントフォールバック** - ワークフローを中断しません
|
|
26
|
+
|
|
27
|
+
## インストール
|
|
28
|
+
|
|
29
|
+
### オプション A:Claude Code プラグイン(推奨)⭐
|
|
30
|
+
|
|
31
|
+
**手動呼び出し不要の自動トークン最適化:**
|
|
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 フックが 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 フックが結果を傍受
|
|
79
|
+
↓
|
|
80
|
+
フックが JSON を検出し、TOON に変換
|
|
81
|
+
↓
|
|
82
|
+
最適化されたコンテンツを Claude API に送信
|
|
83
|
+
↓
|
|
84
|
+
50-55% の典型的なトークン削減を達成 ✨
|
|
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**:最適化前の最小トークン数(デフォルト:`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 トークン)
|
|
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 トークン、-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 フックは次の場合に自動的に最適化します:
|
|
156
|
+
- ✅ コンテンツが有効な JSON、CSV、または YAML
|
|
157
|
+
- ✅ コンテンツサイズ ≥ `minTokensThreshold`(デフォルト:50 トークン)
|
|
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
|
+
### フックがトリガーされない
|
|
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
|
+
- ✨ **多言語トークン最適化** - 15 以上の言語の正確なカウント
|
|
248
|
+
- ✨ 言語を考慮したトークン倍率(中国語 2 倍、日本語 2.5 倍、アラビア語 3 倍など)
|
|
249
|
+
- ✨ 混合言語テキストの検出と最適化
|
|
250
|
+
- ✨ 実際の統計を使用した包括的なベンチマークテスト
|
|
251
|
+
- 📊 データに裏付けられたトークン節約の主張(30-65% の範囲、通常 50-55%)
|
|
252
|
+
- ✅ 多言語エッジケースを含む 75 以上のテスト合格
|
|
253
|
+
- 📝 多言語 README バージョン
|
|
254
|
+
|
|
255
|
+
### v0.2.0(2025-12-25)
|
|
256
|
+
- ✨ PostToolUse フックによる Claude Code プラグインサポートの追加
|
|
257
|
+
- ✨ 自動トークン最適化(手動呼び出し不要)
|
|
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.md
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
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) | [Tiếng Việt](README.vi.md) | [Bahasa Indonesia](README.id.md)**
|
|
4
4
|
|
|
5
5
|
MCP server + Claude Code Plugin providing automatic token optimization for structured data.
|
|
6
|
-
Reduces Claude API token usage by **
|
|
6
|
+
Reduces Claude API token usage by **30-65% depending on data structure** through transparent TOON format conversion, with typical savings of **50-55%** for structured data.
|
|
7
7
|
|
|
8
|
-
## What's New in v0.
|
|
8
|
+
## What's New in v0.3.0
|
|
9
9
|
|
|
10
|
-
✨ **
|
|
11
|
-
- ✅
|
|
12
|
-
- ✅
|
|
13
|
-
- ✅
|
|
14
|
-
- ✅
|
|
10
|
+
✨ **Multilingual Token Optimization!**
|
|
11
|
+
- ✅ Accurate token counting for 15+ languages (Chinese, Japanese, Korean, Spanish, Arabic, etc.)
|
|
12
|
+
- ✅ Language-aware token multipliers (2x for Chinese, 2.5x for Japanese, 3x for Arabic)
|
|
13
|
+
- ✅ Mixed-language text support with automatic detection
|
|
14
|
+
- ✅ Improved optimization accuracy based on real benchmarks
|
|
15
|
+
- ✅ Data-backed token savings claims (30-65% range, typically 50-55%)
|
|
15
16
|
|
|
16
17
|
## Features
|
|
17
18
|
|
|
18
|
-
- **
|
|
19
|
+
- **30-65% Token Reduction** (typically 50-55%) for JSON, CSV, YAML data
|
|
20
|
+
- **Multilingual Support** - Accurate token counting for 15+ languages
|
|
19
21
|
- **Fully Automatic** - PostToolUse hook intercepts tool results
|
|
20
22
|
- **Zero Configuration** - Works out of the box with sensible defaults
|
|
21
23
|
- **Dual Mode** - Works as Plugin (auto) or MCP Server (manual)
|
|
@@ -79,7 +81,7 @@ Hook detects JSON, converts to TOON
|
|
|
79
81
|
↓
|
|
80
82
|
Optimized content sent to Claude API
|
|
81
83
|
↓
|
|
82
|
-
|
|
84
|
+
50-55% typical token reduction achieved ✨
|
|
83
85
|
```
|
|
84
86
|
|
|
85
87
|
### MCP Server Mode (Manual)
|
|
@@ -241,6 +243,15 @@ MIT License - see [LICENSE](LICENSE)
|
|
|
241
243
|
|
|
242
244
|
## Changelog
|
|
243
245
|
|
|
246
|
+
### v0.3.0 (2025-12-26)
|
|
247
|
+
- ✨ **Multilingual token optimization** - accurate counting for 15+ languages
|
|
248
|
+
- ✨ Language-aware token multipliers (2x Chinese, 2.5x Japanese, 3x Arabic, etc.)
|
|
249
|
+
- ✨ Mixed-language text detection and optimization
|
|
250
|
+
- ✨ Comprehensive benchmark testing with real statistics
|
|
251
|
+
- 📊 Data-backed token savings claims (30-65% range, typically 50-55%)
|
|
252
|
+
- ✅ 75+ tests passing, including multilingual edge cases
|
|
253
|
+
- 📝 Multilingual README versions
|
|
254
|
+
|
|
244
255
|
### v0.2.0 (2025-12-25)
|
|
245
256
|
- ✨ Added Claude Code Plugin support with PostToolUse hook
|
|
246
257
|
- ✨ Automatic token optimization (no manual calls needed)
|
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) | [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
|