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.fr.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
|
+
Serveur MCP + Plugin Claude Code offrant une optimisation automatique des tokens pour les données structurées.
|
|
6
|
+
Réduit l'utilisation des tokens de l'API Claude de **30 à 65 % selon la structure des données** grâce à la conversion transparente au format TOON, avec des économies typiques de **50 à 55 %** pour les données structurées.
|
|
7
|
+
|
|
8
|
+
## Nouveautés de la version 0.3.0
|
|
9
|
+
|
|
10
|
+
✨ **Optimisation multilingue des tokens !**
|
|
11
|
+
- ✅ Comptage précis des tokens pour plus de 15 langues (chinois, japonais, coréen, espagnol, arabe, etc.)
|
|
12
|
+
- ✅ Multiplicateurs de tokens adaptés aux langues (2x pour le chinois, 2,5x pour le japonais, 3x pour l'arabe)
|
|
13
|
+
- ✅ Support des textes multilingues avec détection automatique
|
|
14
|
+
- ✅ Précision d'optimisation améliorée basée sur des benchmarks réels
|
|
15
|
+
- ✅ Revendications d'économies de tokens basées sur des données (plage de 30 à 65 %, typiquement 50 à 55 %)
|
|
16
|
+
|
|
17
|
+
## Fonctionnalités
|
|
18
|
+
|
|
19
|
+
- **Réduction de 30 à 65 % des tokens** (typiquement 50 à 55 %) pour les données JSON, CSV, YAML
|
|
20
|
+
- **Support multilingue** - Comptage précis des tokens pour plus de 15 langues
|
|
21
|
+
- **Entièrement automatique** - Le hook PostToolUse intercepte les résultats des outils
|
|
22
|
+
- **Zéro configuration** - Fonctionne immédiatement avec des paramètres par défaut sensés
|
|
23
|
+
- **Mode double** - Fonctionne comme Plugin (auto) ou serveur MCP (manuel)
|
|
24
|
+
- **Métriques intégrées** - Suivez les économies de tokens localement
|
|
25
|
+
- **Repli silencieux** - Ne perturbe jamais votre flux de travail
|
|
26
|
+
|
|
27
|
+
## Installation
|
|
28
|
+
|
|
29
|
+
### Option A : Plugin Claude Code (Recommandé) ⭐
|
|
30
|
+
|
|
31
|
+
**Optimisation automatique des tokens sans appels manuels :**
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 1. Installer globalement
|
|
35
|
+
npm install -g toonify-mcp
|
|
36
|
+
|
|
37
|
+
# 2. Ajouter comme plugin (mode automatique)
|
|
38
|
+
claude plugin add toonify-mcp
|
|
39
|
+
|
|
40
|
+
# 3. Vérifier l'installation
|
|
41
|
+
claude plugin list
|
|
42
|
+
# Devrait afficher : toonify-mcp ✓
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**C'est tout !** Le hook PostToolUse interceptera et optimisera automatiquement les données structurées provenant de Read, Grep et d'autres outils de fichiers.
|
|
46
|
+
|
|
47
|
+
### Option B : Serveur MCP (Mode manuel)
|
|
48
|
+
|
|
49
|
+
**Pour un contrôle explicite ou d'autres clients MCP :**
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# 1. Installer globalement
|
|
53
|
+
npm install -g toonify-mcp
|
|
54
|
+
|
|
55
|
+
# 2. Enregistrer comme serveur MCP
|
|
56
|
+
claude mcp add toonify -- toonify-mcp
|
|
57
|
+
|
|
58
|
+
# 3. Vérifier
|
|
59
|
+
claude mcp list
|
|
60
|
+
# Devrait afficher : toonify: toonify-mcp - ✓ Connected
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Ensuite, appelez les outils explicitement :
|
|
64
|
+
```bash
|
|
65
|
+
claude mcp call toonify optimize_content '{"content": "..."}'
|
|
66
|
+
claude mcp call toonify get_stats '{}'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Comment ça marche
|
|
70
|
+
|
|
71
|
+
### Mode Plugin (Automatique)
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
Utilisateur : Lire un gros fichier JSON
|
|
75
|
+
↓
|
|
76
|
+
Claude Code appelle l'outil Read
|
|
77
|
+
↓
|
|
78
|
+
Le hook PostToolUse intercepte le résultat
|
|
79
|
+
↓
|
|
80
|
+
Le hook détecte le JSON, convertit en TOON
|
|
81
|
+
↓
|
|
82
|
+
Contenu optimisé envoyé à l'API Claude
|
|
83
|
+
↓
|
|
84
|
+
Réduction typique de 50 à 55 % des tokens obtenue ✨
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Mode Serveur MCP (Manuel)
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
Utilisateur : appelle explicitement mcp__toonify__optimize_content
|
|
91
|
+
↓
|
|
92
|
+
Contenu converti au format TOON
|
|
93
|
+
↓
|
|
94
|
+
Retourne le résultat optimisé
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Configuration
|
|
98
|
+
|
|
99
|
+
Créez `~/.claude/toonify-config.json` (optionnel) :
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"enabled": true,
|
|
104
|
+
"minTokensThreshold": 50,
|
|
105
|
+
"minSavingsThreshold": 30,
|
|
106
|
+
"skipToolPatterns": ["Bash", "Write", "Edit"]
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Options
|
|
111
|
+
|
|
112
|
+
- **enabled** : Activer/désactiver l'optimisation automatique (par défaut : `true`)
|
|
113
|
+
- **minTokensThreshold** : Nombre minimum de tokens avant optimisation (par défaut : `50`)
|
|
114
|
+
- **minSavingsThreshold** : Pourcentage minimum d'économies requis (par défaut : `30%`)
|
|
115
|
+
- **skipToolPatterns** : Outils à ne jamais optimiser (par défaut : `["Bash", "Write", "Edit"]`)
|
|
116
|
+
|
|
117
|
+
### Variables d'environnement
|
|
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 # Afficher les statistiques d'optimisation dans la sortie
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Exemples
|
|
128
|
+
|
|
129
|
+
### Avant optimisation (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
|
+
### Après optimisation (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
|
+
**Appliqué automatiquement en mode Plugin - aucun appel manuel nécessaire !**
|
|
150
|
+
|
|
151
|
+
## Conseils d'utilisation
|
|
152
|
+
|
|
153
|
+
### Quand l'optimisation automatique se déclenche-t-elle ?
|
|
154
|
+
|
|
155
|
+
Le hook PostToolUse optimise automatiquement lorsque :
|
|
156
|
+
- ✅ Le contenu est un JSON, CSV ou YAML valide
|
|
157
|
+
- ✅ La taille du contenu ≥ `minTokensThreshold` (par défaut : 50 tokens)
|
|
158
|
+
- ✅ Les économies estimées ≥ `minSavingsThreshold` (par défaut : 30 %)
|
|
159
|
+
- ✅ L'outil n'est PAS dans `skipToolPatterns` (par ex., pas Bash/Write/Edit)
|
|
160
|
+
|
|
161
|
+
### Voir les statistiques d'optimisation
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# En mode Plugin
|
|
165
|
+
claude mcp call toonify get_stats '{}'
|
|
166
|
+
|
|
167
|
+
# Ou vérifier la sortie de Claude Code pour les statistiques (si TOONIFY_SHOW_STATS=true)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Dépannage
|
|
171
|
+
|
|
172
|
+
### Le hook ne se déclenche pas
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# 1. Vérifier que le plugin est installé
|
|
176
|
+
claude plugin list | grep toonify
|
|
177
|
+
|
|
178
|
+
# 2. Vérifier la configuration
|
|
179
|
+
cat ~/.claude/toonify-config.json
|
|
180
|
+
|
|
181
|
+
# 3. Activer les statistiques pour voir les tentatives d'optimisation
|
|
182
|
+
export TOONIFY_SHOW_STATS=true
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### L'optimisation n'est pas appliquée
|
|
186
|
+
|
|
187
|
+
- Vérifiez `minTokensThreshold` - le contenu pourrait être trop petit
|
|
188
|
+
- Vérifiez `minSavingsThreshold` - les économies pourraient être < 30 %
|
|
189
|
+
- Vérifiez `skipToolPatterns` - l'outil pourrait être dans la liste d'exclusion
|
|
190
|
+
- Vérifiez que le contenu est un JSON/CSV/YAML valide
|
|
191
|
+
|
|
192
|
+
### Problèmes de performance
|
|
193
|
+
|
|
194
|
+
- Réduisez `minTokensThreshold` pour optimiser de manière plus agressive
|
|
195
|
+
- Augmentez `minSavingsThreshold` pour ignorer les optimisations marginales
|
|
196
|
+
- Ajoutez plus d'outils à `skipToolPatterns` si nécessaire
|
|
197
|
+
|
|
198
|
+
## Comparaison : Plugin vs Serveur MCP
|
|
199
|
+
|
|
200
|
+
| Fonctionnalité | Mode Plugin | Mode Serveur MCP |
|
|
201
|
+
|----------------|-------------|------------------|
|
|
202
|
+
| **Activation** | Automatique (PostToolUse) | Manuelle (appel d'outil) |
|
|
203
|
+
| **Compatibilité** | Claude Code uniquement | Tout client MCP |
|
|
204
|
+
| **Configuration** | Fichier de configuration du plugin | Outils MCP |
|
|
205
|
+
| **Performance** | Aucun surcoût | Surcoût d'appel |
|
|
206
|
+
| **Cas d'usage** | Flux de travail quotidien | Contrôle explicite |
|
|
207
|
+
|
|
208
|
+
**Recommandation** : Utilisez le mode Plugin pour l'optimisation automatique. Utilisez le mode Serveur MCP pour un contrôle explicite ou d'autres clients MCP.
|
|
209
|
+
|
|
210
|
+
## Désinstallation
|
|
211
|
+
|
|
212
|
+
### Mode Plugin
|
|
213
|
+
```bash
|
|
214
|
+
claude plugin remove toonify-mcp
|
|
215
|
+
rm ~/.claude/toonify-config.json
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Mode Serveur MCP
|
|
219
|
+
```bash
|
|
220
|
+
claude mcp remove toonify
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Package
|
|
224
|
+
```bash
|
|
225
|
+
npm uninstall -g toonify-mcp
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Liens
|
|
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
|
+
- **Documentation MCP** : https://code.claude.com/docs/mcp
|
|
234
|
+
- **Format TOON** : https://github.com/toon-format/toon
|
|
235
|
+
|
|
236
|
+
## Contribution
|
|
237
|
+
|
|
238
|
+
Les contributions sont les bienvenues ! Veuillez consulter [CONTRIBUTING.md](CONTRIBUTING.md) pour les directives.
|
|
239
|
+
|
|
240
|
+
## Licence
|
|
241
|
+
|
|
242
|
+
Licence MIT - voir [LICENSE](LICENSE)
|
|
243
|
+
|
|
244
|
+
## Journal des modifications
|
|
245
|
+
|
|
246
|
+
### v0.3.0 (2025-12-26)
|
|
247
|
+
- ✨ **Optimisation multilingue des tokens** - comptage précis pour plus de 15 langues
|
|
248
|
+
- ✨ Multiplicateurs de tokens adaptés aux langues (2x chinois, 2,5x japonais, 3x arabe, etc.)
|
|
249
|
+
- ✨ Détection et optimisation des textes multilingues
|
|
250
|
+
- ✨ Tests de référence complets avec statistiques réelles
|
|
251
|
+
- 📊 Revendications d'économies de tokens basées sur des données (plage de 30 à 65 %, typiquement 50 à 55 %)
|
|
252
|
+
- ✅ Plus de 75 tests réussis, y compris les cas limites multilingues
|
|
253
|
+
- 📝 Versions multilingues du README
|
|
254
|
+
|
|
255
|
+
### v0.2.0 (2025-12-25)
|
|
256
|
+
- ✨ Ajout du support du Plugin Claude Code avec hook PostToolUse
|
|
257
|
+
- ✨ Optimisation automatique des tokens (aucun appel manuel nécessaire)
|
|
258
|
+
- ✨ Système de configuration du plugin
|
|
259
|
+
- ✨ Mode double : Plugin (auto) + Serveur MCP (manuel)
|
|
260
|
+
- 📝 Mise à jour complète de la documentation
|
|
261
|
+
|
|
262
|
+
### v0.1.1 (2024-12-24)
|
|
263
|
+
- 🐛 Corrections de bugs et améliorations
|
|
264
|
+
- 📝 Mises à jour de la documentation
|
|
265
|
+
|
|
266
|
+
### v0.1.0 (2024-12-24)
|
|
267
|
+
- 🎉 Version initiale
|
|
268
|
+
- ✨ Implémentation du serveur MCP
|
|
269
|
+
- ✨ Optimisation au format TOON
|
|
270
|
+
- ✨ Suivi des métriques intégré
|
package/README.id.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
|
+
Server MCP + Plugin Claude Code yang menyediakan optimasi token otomatis untuk data terstruktur.
|
|
6
|
+
Mengurangi penggunaan token Claude API sebesar **30-65% tergantung struktur data** melalui konversi format TOON yang transparan, dengan penghematan tipikal **50-55%** untuk data terstruktur.
|
|
7
|
+
|
|
8
|
+
## Fitur Baru di v0.3.0
|
|
9
|
+
|
|
10
|
+
✨ **Optimasi Token Multibahasa!**
|
|
11
|
+
- ✅ Penghitungan token yang akurat untuk 15+ bahasa (Mandarin, Jepang, Korea, Spanyol, Arab, dll.)
|
|
12
|
+
- ✅ Pengali token sadar bahasa (2x untuk Mandarin, 2.5x untuk Jepang, 3x untuk Arab)
|
|
13
|
+
- ✅ Dukungan deteksi otomatis teks campuran multibahasa
|
|
14
|
+
- ✅ Peningkatan akurasi optimasi berdasarkan tes benchmark nyata
|
|
15
|
+
- ✅ Klaim penghematan token yang didukung data (rentang 30-65%, biasanya 50-55%)
|
|
16
|
+
|
|
17
|
+
## Fitur
|
|
18
|
+
|
|
19
|
+
- **Pengurangan Token 30-65%** (biasanya 50-55%) untuk data JSON, CSV, YAML
|
|
20
|
+
- **Dukungan Multibahasa** - Penghitungan token akurat untuk 15+ bahasa
|
|
21
|
+
- **Sepenuhnya Otomatis** - Hook PostToolUse mencegat hasil tool
|
|
22
|
+
- **Tanpa Konfigurasi** - Bekerja langsung dengan nilai default yang masuk akal
|
|
23
|
+
- **Mode Ganda** - Bekerja sebagai plugin (otomatis) atau server MCP (manual)
|
|
24
|
+
- **Metrik Bawaan** - Melacak penghematan token secara lokal
|
|
25
|
+
- **Fallback Senyap** - Tidak pernah mengganggu alur kerja Anda
|
|
26
|
+
|
|
27
|
+
## Instalasi
|
|
28
|
+
|
|
29
|
+
### Opsi A: Plugin Claude Code (Direkomendasikan) ⭐
|
|
30
|
+
|
|
31
|
+
**Optimasi token otomatis tanpa panggilan manual:**
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 1. Instal global
|
|
35
|
+
npm install -g toonify-mcp
|
|
36
|
+
|
|
37
|
+
# 2. Tambahkan sebagai plugin (mode otomatis)
|
|
38
|
+
claude plugin add toonify-mcp
|
|
39
|
+
|
|
40
|
+
# 3. Verifikasi instalasi
|
|
41
|
+
claude plugin list
|
|
42
|
+
# Seharusnya menampilkan: toonify-mcp ✓
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Selesai!** Hook PostToolUse sekarang akan secara otomatis mencegat dan mengoptimalkan data terstruktur dari Read, Grep, dan tool file lainnya.
|
|
46
|
+
|
|
47
|
+
### Opsi B: Server MCP (mode manual)
|
|
48
|
+
|
|
49
|
+
**Untuk kontrol eksplisit atau klien MCP non-Claude Code:**
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# 1. Instal global
|
|
53
|
+
npm install -g toonify-mcp
|
|
54
|
+
|
|
55
|
+
# 2. Daftarkan sebagai server MCP
|
|
56
|
+
claude mcp add toonify -- toonify-mcp
|
|
57
|
+
|
|
58
|
+
# 3. Verifikasi
|
|
59
|
+
claude mcp list
|
|
60
|
+
# Seharusnya menampilkan: toonify: toonify-mcp - ✓ Connected
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Kemudian panggil tool secara eksplisit:
|
|
64
|
+
```bash
|
|
65
|
+
claude mcp call toonify optimize_content '{"content": "..."}'
|
|
66
|
+
claude mcp call toonify get_stats '{}'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Cara Kerja
|
|
70
|
+
|
|
71
|
+
### Mode Plugin (otomatis)
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
Pengguna: Baca file JSON besar
|
|
75
|
+
↓
|
|
76
|
+
Claude Code memanggil tool Read
|
|
77
|
+
↓
|
|
78
|
+
Hook PostToolUse mencegat hasil
|
|
79
|
+
↓
|
|
80
|
+
Hook mendeteksi JSON, konversi ke TOON
|
|
81
|
+
↓
|
|
82
|
+
Konten yang dioptimalkan dikirim ke Claude API
|
|
83
|
+
↓
|
|
84
|
+
Pengurangan token tipikal 50-55% tercapai ✨
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Mode Server MCP (manual)
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
Pengguna: Panggil mcp__toonify__optimize_content secara eksplisit
|
|
91
|
+
↓
|
|
92
|
+
Konten dikonversi ke format TOON
|
|
93
|
+
↓
|
|
94
|
+
Mengembalikan hasil yang dioptimalkan
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Konfigurasi
|
|
98
|
+
|
|
99
|
+
Buat `~/.claude/toonify-config.json` (opsional):
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"enabled": true,
|
|
104
|
+
"minTokensThreshold": 50,
|
|
105
|
+
"minSavingsThreshold": 30,
|
|
106
|
+
"skipToolPatterns": ["Bash", "Write", "Edit"]
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Opsi
|
|
111
|
+
|
|
112
|
+
- **enabled**: Aktifkan/nonaktifkan optimasi otomatis (default: `true`)
|
|
113
|
+
- **minTokensThreshold**: Token minimum sebelum optimasi (default: `50`)
|
|
114
|
+
- **minSavingsThreshold**: Persentase penghematan minimum yang diperlukan (default: `30%`)
|
|
115
|
+
- **skipToolPatterns**: Tool yang tidak pernah dioptimalkan (default: `["Bash", "Write", "Edit"]`)
|
|
116
|
+
|
|
117
|
+
### Variabel Lingkungan
|
|
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 # Tampilkan statistik optimasi dalam output
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Contoh
|
|
128
|
+
|
|
129
|
+
### Sebelum Optimasi (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
|
+
### Setelah Optimasi (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
|
+
**Diterapkan secara otomatis dalam mode plugin - tidak perlu panggilan manual!**
|
|
150
|
+
|
|
151
|
+
## Tips Penggunaan
|
|
152
|
+
|
|
153
|
+
### Kapan Optimasi Otomatis Dipicu?
|
|
154
|
+
|
|
155
|
+
Hook PostToolUse secara otomatis mengoptimalkan ketika:
|
|
156
|
+
- ✅ Konten adalah JSON, CSV, atau YAML yang valid
|
|
157
|
+
- ✅ Ukuran konten ≥ `minTokensThreshold` (default: 50 token)
|
|
158
|
+
- ✅ Perkiraan penghematan ≥ `minSavingsThreshold` (default: 30%)
|
|
159
|
+
- ✅ Tool TIDAK ada dalam `skipToolPatterns` (misalnya, bukan Bash/Write/Edit)
|
|
160
|
+
|
|
161
|
+
### Lihat Statistik Optimasi
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# Dalam mode plugin
|
|
165
|
+
claude mcp call toonify get_stats '{}'
|
|
166
|
+
|
|
167
|
+
# Atau periksa output Claude Code untuk statistik (jika TOONIFY_SHOW_STATS=true)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Pemecahan Masalah
|
|
171
|
+
|
|
172
|
+
### Hook Tidak Terpicu
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# 1. Periksa plugin sudah diinstal
|
|
176
|
+
claude plugin list | grep toonify
|
|
177
|
+
|
|
178
|
+
# 2. Periksa konfigurasi
|
|
179
|
+
cat ~/.claude/toonify-config.json
|
|
180
|
+
|
|
181
|
+
# 3. Aktifkan statistik untuk melihat percobaan optimasi
|
|
182
|
+
export TOONIFY_SHOW_STATS=true
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Optimasi Tidak Diterapkan
|
|
186
|
+
|
|
187
|
+
- Periksa `minTokensThreshold` - konten mungkin terlalu kecil
|
|
188
|
+
- Periksa `minSavingsThreshold` - penghematan mungkin < 30%
|
|
189
|
+
- Periksa `skipToolPatterns` - tool mungkin ada dalam daftar lewati
|
|
190
|
+
- Verifikasi konten adalah JSON/CSV/YAML yang valid
|
|
191
|
+
|
|
192
|
+
### Masalah Kinerja
|
|
193
|
+
|
|
194
|
+
- Kurangi `minTokensThreshold` untuk mengoptimalkan lebih agresif
|
|
195
|
+
- Tingkatkan `minSavingsThreshold` untuk melewati optimasi marginal
|
|
196
|
+
- Tambahkan lebih banyak tool ke `skipToolPatterns` jika diperlukan
|
|
197
|
+
|
|
198
|
+
## Perbandingan: Plugin vs Server MCP
|
|
199
|
+
|
|
200
|
+
| Fitur | Mode Plugin | Mode Server MCP |
|
|
201
|
+
|-------|------------|----------------|
|
|
202
|
+
| **Aktivasi** | Otomatis (PostToolUse) | Manual (panggil tool) |
|
|
203
|
+
| **Kompatibilitas** | Hanya Claude Code | Klien MCP apa pun |
|
|
204
|
+
| **Konfigurasi** | File konfigurasi plugin | Tool MCP |
|
|
205
|
+
| **Kinerja** | Tanpa overhead | Overhead panggilan |
|
|
206
|
+
| **Use Case** | Alur kerja sehari-hari | Kontrol eksplisit |
|
|
207
|
+
|
|
208
|
+
**Rekomendasi**: Gunakan mode plugin untuk optimasi otomatis. Gunakan mode server MCP untuk kontrol eksplisit atau klien MCP lainnya.
|
|
209
|
+
|
|
210
|
+
## Uninstall
|
|
211
|
+
|
|
212
|
+
### Mode Plugin
|
|
213
|
+
```bash
|
|
214
|
+
claude plugin remove toonify-mcp
|
|
215
|
+
rm ~/.claude/toonify-config.json
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Mode Server MCP
|
|
219
|
+
```bash
|
|
220
|
+
claude mcp remove toonify
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Paket
|
|
224
|
+
```bash
|
|
225
|
+
npm uninstall -g toonify-mcp
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Tautan
|
|
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
|
+
- **Dokumentasi MCP**: https://code.claude.com/docs/mcp
|
|
234
|
+
- **Format TOON**: https://github.com/toon-format/toon
|
|
235
|
+
|
|
236
|
+
## Kontribusi
|
|
237
|
+
|
|
238
|
+
Kontribusi sangat disambut! Silakan lihat [CONTRIBUTING.md](CONTRIBUTING.md) untuk panduan.
|
|
239
|
+
|
|
240
|
+
## Lisensi
|
|
241
|
+
|
|
242
|
+
Lisensi MIT - lihat [LICENSE](LICENSE)
|
|
243
|
+
|
|
244
|
+
## Catatan Perubahan
|
|
245
|
+
|
|
246
|
+
### v0.3.0 (2025-12-26)
|
|
247
|
+
- ✨ **Optimasi token multibahasa** - penghitungan akurat untuk 15+ bahasa
|
|
248
|
+
- ✨ Pengali token sadar bahasa (2x Mandarin, 2.5x Jepang, 3x Arab, dll.)
|
|
249
|
+
- ✨ Deteksi dan optimasi teks campuran multibahasa
|
|
250
|
+
- ✨ Tes benchmark komprehensif dengan statistik nyata
|
|
251
|
+
- 📊 Klaim penghematan token yang didukung data (rentang 30-65%, biasanya 50-55%)
|
|
252
|
+
- ✅ 75+ tes lulus, termasuk kasus edge multibahasa
|
|
253
|
+
- 📝 Versi README multibahasa
|
|
254
|
+
|
|
255
|
+
### v0.2.0 (2025-12-25)
|
|
256
|
+
- ✨ Menambahkan dukungan plugin Claude Code dengan hook PostToolUse
|
|
257
|
+
- ✨ Optimasi token otomatis (tidak perlu panggilan manual)
|
|
258
|
+
- ✨ Sistem konfigurasi plugin
|
|
259
|
+
- ✨ Mode ganda: Plugin (otomatis) + Server MCP (manual)
|
|
260
|
+
- 📝 Pembaruan dokumentasi komprehensif
|
|
261
|
+
|
|
262
|
+
### v0.1.1 (2024-12-24)
|
|
263
|
+
- 🐛 Perbaikan bug dan peningkatan
|
|
264
|
+
- 📝 Pembaruan dokumentasi
|
|
265
|
+
|
|
266
|
+
### v0.1.0 (2024-12-24)
|
|
267
|
+
- 🎉 Rilis awal
|
|
268
|
+
- ✨ Implementasi server MCP
|
|
269
|
+
- ✨ Optimasi format TOON
|
|
270
|
+
- ✨ Pelacakan metrik bawaan
|