toonify-mcp 0.2.2 → 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/.claude-plugin/plugin.json +1 -1
- 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.es.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
|
+
Servidor MCP + Plugin de Claude Code que proporciona optimización automática de tokens para datos estructurados.
|
|
6
|
+
Reduce el uso de tokens de la API de Claude en **30-65% según la estructura de datos** mediante conversión transparente al formato TOON, con ahorros típicos del **50-55%** para datos estructurados.
|
|
7
|
+
|
|
8
|
+
## Novedades en v0.3.0
|
|
9
|
+
|
|
10
|
+
✨ **¡Optimización de tokens multilingüe!**
|
|
11
|
+
- ✅ Conteo preciso de tokens para más de 15 idiomas (chino, japonés, coreano, español, árabe, etc.)
|
|
12
|
+
- ✅ Multiplicadores de tokens conscientes del idioma (2x para chino, 2.5x para japonés, 3x para árabe)
|
|
13
|
+
- ✅ Soporte para detección automática de texto en idiomas mixtos
|
|
14
|
+
- ✅ Precisión de optimización mejorada basada en pruebas de referencia reales
|
|
15
|
+
- ✅ Afirmaciones de ahorro de tokens respaldadas por datos (rango 30-65%, típicamente 50-55%)
|
|
16
|
+
|
|
17
|
+
## Características
|
|
18
|
+
|
|
19
|
+
- **Reducción de tokens del 30-65%** (típicamente 50-55%) para datos JSON, CSV y YAML
|
|
20
|
+
- **Soporte multilingüe** - Conteo preciso de tokens para más de 15 idiomas
|
|
21
|
+
- **Completamente automático** - El hook PostToolUse intercepta resultados de herramientas
|
|
22
|
+
- **Configuración cero** - Funciona inmediatamente con valores predeterminados sensatos
|
|
23
|
+
- **Modo dual** - Funciona como plugin (automático) o servidor MCP (manual)
|
|
24
|
+
- **Métricas integradas** - Rastrea el ahorro de tokens localmente
|
|
25
|
+
- **Fallback silencioso** - Nunca interrumpe tu flujo de trabajo
|
|
26
|
+
|
|
27
|
+
## Instalación
|
|
28
|
+
|
|
29
|
+
### Opción A: Plugin de Claude Code (Recomendado) ⭐
|
|
30
|
+
|
|
31
|
+
**Optimización automática de tokens sin llamadas manuales:**
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 1. Instalación global
|
|
35
|
+
npm install -g toonify-mcp
|
|
36
|
+
|
|
37
|
+
# 2. Agregar como plugin (modo automático)
|
|
38
|
+
claude plugin add toonify-mcp
|
|
39
|
+
|
|
40
|
+
# 3. Verificar instalación
|
|
41
|
+
claude plugin list
|
|
42
|
+
# Debería mostrar: toonify-mcp ✓
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**¡Eso es todo!** El hook PostToolUse ahora interceptará y optimizará automáticamente los datos estructurados de Read, Grep y otras herramientas de archivos.
|
|
46
|
+
|
|
47
|
+
### Opción B: Servidor MCP (modo manual)
|
|
48
|
+
|
|
49
|
+
**Para control explícito o clientes MCP que no sean Claude Code:**
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# 1. Instalación global
|
|
53
|
+
npm install -g toonify-mcp
|
|
54
|
+
|
|
55
|
+
# 2. Registrar como servidor MCP
|
|
56
|
+
claude mcp add toonify -- toonify-mcp
|
|
57
|
+
|
|
58
|
+
# 3. Verificar
|
|
59
|
+
claude mcp list
|
|
60
|
+
# Debería mostrar: toonify: toonify-mcp - ✓ Connected
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Luego llamar a las herramientas explícitamente:
|
|
64
|
+
```bash
|
|
65
|
+
claude mcp call toonify optimize_content '{"content": "..."}'
|
|
66
|
+
claude mcp call toonify get_stats '{}'
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Cómo funciona
|
|
70
|
+
|
|
71
|
+
### Modo plugin (automático)
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
Usuario: Leer archivo JSON grande
|
|
75
|
+
↓
|
|
76
|
+
Claude Code llama a la herramienta Read
|
|
77
|
+
↓
|
|
78
|
+
El hook PostToolUse intercepta el resultado
|
|
79
|
+
↓
|
|
80
|
+
El hook detecta JSON, convierte a TOON
|
|
81
|
+
↓
|
|
82
|
+
Contenido optimizado enviado a la API de Claude
|
|
83
|
+
↓
|
|
84
|
+
Reducción típica de tokens del 50-55% lograda ✨
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Modo servidor MCP (manual)
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
Usuario: Llamar explícitamente a mcp__toonify__optimize_content
|
|
91
|
+
↓
|
|
92
|
+
El contenido se convierte a formato TOON
|
|
93
|
+
↓
|
|
94
|
+
Devuelve resultado optimizado
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Configuración
|
|
98
|
+
|
|
99
|
+
Crear `~/.claude/toonify-config.json` (opcional):
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"enabled": true,
|
|
104
|
+
"minTokensThreshold": 50,
|
|
105
|
+
"minSavingsThreshold": 30,
|
|
106
|
+
"skipToolPatterns": ["Bash", "Write", "Edit"]
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Opciones
|
|
111
|
+
|
|
112
|
+
- **enabled**: Habilitar/deshabilitar optimización automática (predeterminado: `true`)
|
|
113
|
+
- **minTokensThreshold**: Tokens mínimos antes de la optimización (predeterminado: `50`)
|
|
114
|
+
- **minSavingsThreshold**: Porcentaje mínimo de ahorro requerido (predeterminado: `30%`)
|
|
115
|
+
- **skipToolPatterns**: Herramientas que nunca optimizar (predeterminado: `["Bash", "Write", "Edit"]`)
|
|
116
|
+
|
|
117
|
+
### Variables de entorno
|
|
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 # Mostrar estadísticas de optimización en la salida
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Ejemplos
|
|
128
|
+
|
|
129
|
+
### Antes de la optimización (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
|
+
### Después de la optimización (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
|
+
**¡Se aplica automáticamente en modo plugin - no se necesitan llamadas manuales!**
|
|
150
|
+
|
|
151
|
+
## Consejos de uso
|
|
152
|
+
|
|
153
|
+
### ¿Cuándo se activa la optimización automática?
|
|
154
|
+
|
|
155
|
+
El hook PostToolUse optimiza automáticamente cuando:
|
|
156
|
+
- ✅ El contenido es JSON, CSV o YAML válido
|
|
157
|
+
- ✅ Tamaño del contenido ≥ `minTokensThreshold` (predeterminado: 50 tokens)
|
|
158
|
+
- ✅ Ahorro estimado ≥ `minSavingsThreshold` (predeterminado: 30%)
|
|
159
|
+
- ✅ La herramienta NO está en `skipToolPatterns` (por ejemplo, no es Bash/Write/Edit)
|
|
160
|
+
|
|
161
|
+
### Ver estadísticas de optimización
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# En modo plugin
|
|
165
|
+
claude mcp call toonify get_stats '{}'
|
|
166
|
+
|
|
167
|
+
# O verificar la salida de Claude Code para estadísticas (si TOONIFY_SHOW_STATS=true)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Solución de problemas
|
|
171
|
+
|
|
172
|
+
### El hook no se activa
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# 1. Verificar que el plugin esté instalado
|
|
176
|
+
claude plugin list | grep toonify
|
|
177
|
+
|
|
178
|
+
# 2. Verificar configuración
|
|
179
|
+
cat ~/.claude/toonify-config.json
|
|
180
|
+
|
|
181
|
+
# 3. Habilitar estadísticas para ver intentos de optimización
|
|
182
|
+
export TOONIFY_SHOW_STATS=true
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### La optimización no se aplica
|
|
186
|
+
|
|
187
|
+
- Verificar `minTokensThreshold` - el contenido podría ser demasiado pequeño
|
|
188
|
+
- Verificar `minSavingsThreshold` - el ahorro podría ser < 30%
|
|
189
|
+
- Verificar `skipToolPatterns` - la herramienta podría estar en la lista de omisión
|
|
190
|
+
- Verificar que el contenido sea JSON/CSV/YAML válido
|
|
191
|
+
|
|
192
|
+
### Problemas de rendimiento
|
|
193
|
+
|
|
194
|
+
- Reducir `minTokensThreshold` para optimizar más agresivamente
|
|
195
|
+
- Aumentar `minSavingsThreshold` para omitir optimizaciones marginales
|
|
196
|
+
- Agregar más herramientas a `skipToolPatterns` si es necesario
|
|
197
|
+
|
|
198
|
+
## Comparación: Plugin vs Servidor MCP
|
|
199
|
+
|
|
200
|
+
| Característica | Modo Plugin | Modo Servidor MCP |
|
|
201
|
+
|----------------|------------|-------------------|
|
|
202
|
+
| **Activación** | Automático (PostToolUse) | Manual (llamar herramienta) |
|
|
203
|
+
| **Compatibilidad** | Solo Claude Code | Cualquier cliente MCP |
|
|
204
|
+
| **Configuración** | Archivo de configuración de plugin | Herramientas MCP |
|
|
205
|
+
| **Rendimiento** | Cero sobrecarga | Sobrecarga de llamada |
|
|
206
|
+
| **Caso de uso** | Flujo de trabajo diario | Control explícito |
|
|
207
|
+
|
|
208
|
+
**Recomendación**: Usar modo plugin para optimización automática. Usar modo servidor MCP para control explícito u otros clientes MCP.
|
|
209
|
+
|
|
210
|
+
## Desinstalación
|
|
211
|
+
|
|
212
|
+
### Modo plugin
|
|
213
|
+
```bash
|
|
214
|
+
claude plugin remove toonify-mcp
|
|
215
|
+
rm ~/.claude/toonify-config.json
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Modo servidor MCP
|
|
219
|
+
```bash
|
|
220
|
+
claude mcp remove toonify
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Paquete
|
|
224
|
+
```bash
|
|
225
|
+
npm uninstall -g toonify-mcp
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Enlaces
|
|
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
|
+
- **Documentación MCP**: https://code.claude.com/docs/mcp
|
|
234
|
+
- **Formato TOON**: https://github.com/toon-format/toon
|
|
235
|
+
|
|
236
|
+
## Contribuir
|
|
237
|
+
|
|
238
|
+
¡Las contribuciones son bienvenidas! Por favor, consulta [CONTRIBUTING.md](CONTRIBUTING.md) para obtener las pautas.
|
|
239
|
+
|
|
240
|
+
## Licencia
|
|
241
|
+
|
|
242
|
+
Licencia MIT - ver [LICENSE](LICENSE)
|
|
243
|
+
|
|
244
|
+
## Registro de cambios
|
|
245
|
+
|
|
246
|
+
### v0.3.0 (2025-12-26)
|
|
247
|
+
- ✨ **Optimización de tokens multilingüe** - conteo preciso para más de 15 idiomas
|
|
248
|
+
- ✨ Multiplicadores de tokens conscientes del idioma (2x chino, 2.5x japonés, 3x árabe, etc.)
|
|
249
|
+
- ✨ Detección y optimización de texto en idiomas mixtos
|
|
250
|
+
- ✨ Pruebas de referencia completas con estadísticas reales
|
|
251
|
+
- 📊 Afirmaciones de ahorro de tokens respaldadas por datos (rango 30-65%, típicamente 50-55%)
|
|
252
|
+
- ✅ Más de 75 pruebas pasadas, incluidos casos extremos multilingües
|
|
253
|
+
- 📝 Versiones README multilingües
|
|
254
|
+
|
|
255
|
+
### v0.2.0 (2025-12-25)
|
|
256
|
+
- ✨ Soporte de plugin Claude Code agregado con hook PostToolUse
|
|
257
|
+
- ✨ Optimización automática de tokens (no se necesitan llamadas manuales)
|
|
258
|
+
- ✨ Sistema de configuración de plugin
|
|
259
|
+
- ✨ Modo dual: Plugin (automático) + Servidor MCP (manual)
|
|
260
|
+
- 📝 Actualización completa de la documentación
|
|
261
|
+
|
|
262
|
+
### v0.1.1 (2024-12-24)
|
|
263
|
+
- 🐛 Correcciones de errores y mejoras
|
|
264
|
+
- 📝 Actualizaciones de documentación
|
|
265
|
+
|
|
266
|
+
### v0.1.0 (2024-12-24)
|
|
267
|
+
- 🎉 Lanzamiento inicial
|
|
268
|
+
- ✨ Implementación del servidor MCP
|
|
269
|
+
- ✨ Optimización de formato TOON
|
|
270
|
+
- ✨ Seguimiento de métricas integrado
|
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) | [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
|