Windows (PowerShell)
March 19, 2026 · View on GitHub
⚡ ContextZip
Вывод Claude полон ненужного шума.
ContextZip сжимает его на 60-90%. npx contextzip → 5 секунд (первый запуск скачивает бинарник).
Установка • Before/After • Бенчмарк • English • 한국어 • 日本語 • 中文 • Español • Português • हिन्दी • Français • Deutsch • Русский • Türkçe • Tiếng Việt
30 строк стектрейса node_modules → 3 строки
150 строк предупреждений npm deprecated → 3 строки
50 строк хешей Docker build → 1 строка
ANSI-цвета, спиннеры, прогресс-бары → удалены
⬇️ Одна строка. Всё.
npx contextzip
Перезапустите Claude Code. Каждая команда сжимается автоматически. Без настройки.
macOS · Linux · Windows
Другие способы установки
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/jee599/contextzip/main/install.sh | bash
brew install jee599/tap/contextzip
# Windows (PowerShell)
npx contextzip
# Разработчики на Rust
cargo install --git https://github.com/jee599/contextzip
👀 Посмотрите Разницу
💥 Ошибка Node.js — 30 строк → 3 строки (92% экономии)
|
❌ Before
|
✅ After
|
📦 npm install — 150 строк → 3 строки (58-95% экономии, зависит от количества предупреждений)
|
❌ Before
|
✅ After
|
🐳 Docker Build — 50 строк → 1 строка (96% экономии)
|
❌ Before
|
✅ After
|
🐍 Python Traceback — фреймворк-фреймы скрыты (72% экономии)
|
❌ Before
|
✅ After
|
🦀 Rust Panic — std/tokio удалены (2-7% экономии через err-фильтр)
|
❌ Before
|
✅ After
|
🔨 TypeScript Build — 40 ошибок сгруппировано (81% экономии)
|
❌ Before
|
✅ After
|
🌐 Веб-страница — nav/footer/реклама удалены (73% экономии)
|
❌ Before (вывод curl)
|
✅ After
|
🎨 ANSI / Спиннеры — невидимый шум удалён (83% экономии)
|
❌ Before (raw terminal)
|
✅ After
|
🐳 Сбой Docker — контекст сохранён
✗ Docker build failed at step 7/12
Step 5/12 : COPY package*.json ./ (cached ✓)
Step 6/12 : RUN npm install (cached ✓)
Step 7/12 : RUN npm run build ← FAILED
error: Module not found: 'react-dom/client'
Exit code: 1
Упавший шаг + 2 предыдущих шага + сообщение об ошибке + код выхода. Всегда.
☕ Java / 🐹 Go стектрейсы
Java — удаляет java.lang.reflect, sun.reflect, org.springframework, org.apache, jdk.internal:
- java.lang.NullPointerException: Cannot invoke method on null
- at com.myapp.UserService.getUser(UserService.java:42)
- at com.myapp.Controller.handle(Controller.java:15)
- at java.lang.reflect.Method.invoke(Method.java:498)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(...)
- at org.springframework.web.servlet.FrameworkServlet.service(...)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(...)
+ java.lang.NullPointerException: Cannot invoke method on null
+ at com.myapp.UserService.getUser(UserService.java:42)
+ at com.myapp.Controller.handle(Controller.java:15)
+ (+ 4 framework frames hidden)
Go — удаляет runtime/, runtime.gopanic, runtime.main:
- goroutine 1 [running]:
- runtime/debug.Stack()
- /usr/local/go/src/runtime/debug/stack.go:24
- runtime.gopanic({0x1234, 0x5678})
- /usr/local/go/src/runtime/panic.go:884
- main.handler()
- /app/handler.go:42 +0x1a4
- main.main()
- /app/main.go:15 +0x58
+ goroutine 1 [running]:
+ (+ 2 framework frames hidden)
+ → main.handler() /app/handler.go:42
+ → main.main() /app/main.go:15
+ (+ 1 framework frames hidden)
📊 Цифры Не Врут
102 реальных теста. Без подтасовки.
| Категория | Тесты | Средняя экономия | 🏆 Лучший | 💀 Худший |
|---|---|---|---|---|
| 🐳 Docker build | 10 | 88% | 97% | 77% |
| 🎨 ANSI/спиннеры | 15 | 83% | 98% | 0% |
| 💥 Трассировки ошибок | 20 | 59% | 97% | -12% |
| 🔨 Ошибки сборки | 15 | 56% | 90% | -10% |
| 🌐 Веб-страницы | 15 | 43% | 64% | 5% |
| 💻 CLI-команды | 12 | 42% | 99% | -56% |
| 📦 Установка пакетов | 15 | 39% | 99% | 2% |
Взвешенный итог: 61% экономии → 326K chars in, 127K chars out
Note
Отрицательные = вывод увеличился. Бывает на крошечных входных данных. Худшие цифры в таблице, потому что скрывать их было бы нечестно. Полный бенчмарк →
🏎️ Как Это Работает
┌─────────────────────────────────────────────┐
│ Claude Code runs: git status │
│ ↓ │
│ Hook rewrites → contextzip git status │
│ ↓ │
│ ┌──────────────────────────────────────┐ │
│ │ [1] ANSI preprocessor strip junk │ │
│ │ [2] Command router 40+ filters │ │
│ │ [3] Error post-proc compress stack │ │
│ │ [4] SQLite tracker record savings │ │
│ └──────────────────────────────────────┘ │
│ ↓ │
│ Compressed output → Claude's context │
│ 💾 contextzip: 200 → 40 tokens (80%) │
└─────────────────────────────────────────────┘
🆚 Почему Не Просто RTK?
Построен на RTK (28k⭐). Все 34 команды RTK включены. Плюс:
| RTK | ContextZip | |
|---|---|---|
| Сжатие CLI (git, test, ls) | ✅ | ✅ |
| Стектрейсы ошибок (Node/Python/Rust/Go/Java) | ❌ | ✅ |
| Извлечение контента веб-страниц | ❌ | ✅ |
| Удаление ANSI / спиннеров / декораций | 🟡 | ✅ |
| Группировка ошибок сборки (tsc/eslint/cargo) | 🟡 | ✅ |
| Шум установки пакетов (npm/pip/cargo) | ❌ | ✅ |
| Сжатие Docker build | 🟡 | ✅ |
| Экономия по каждой команде | ❌ | ✅ |
📈 Отслеживайте Всё
$ contextzip gain
📊 ContextZip Token Savings
════════════════════════════════════════
Total commands: 2,927
Tokens saved: 10.3M (89.2%)
Efficiency meter: █████████████████████░░░ 89%
$ contextzip gain --by-feature
Feature Commands Saved Avg%
cli (RTK) 2,100 6.8M 78%
error 89 1.2M 93%
web 43 0.9M 73%
build 112 0.4M 81%
pkg 34 0.3M 95%
docker 22 0.2M 85%
--graph дневной график • --history последние команды
🛡️ Ничего Важного Не Теряется
| 🔴 Сообщения об ошибках | ВСЕГДА сохраняются |
| 📍 Файл:строка в ошибках сборки | НИКОГДА не удаляются |
| 🔒 Предупреждения безопасности (CVE, GHSA) | ВСЕГДА сохраняются |
| 🐳 Контекст сбоя Docker | ВСЕГДА сохраняется |
| ⏎ Коды выхода | ВСЕГДА передаются |
Important
ContextZip удаляет только подтверждённый шум. При сомнении → passthrough.
🔧 Команды
# Автоматически (хук преобразует — без префикса):
git status npm install cargo test
docker build . pip install flask go test ./...
# Вручную:
contextzip web https://docs.example.com # страница → только контент
contextzip err node server.js # вывод с фокусом на ошибки
# Аналитика:
contextzip gain # дашборд
contextzip gain --by-feature # статистика по фильтрам
contextzip gain --graph # дневной график
contextzip gain --history # последние команды
# Управление:
contextzip init --show # проверить настройку
contextzip update # обновить
contextzip uninstall # чистое удаление
🤝 Внести Вклад
git clone https://github.com/jee599/contextzip.git && cd contextzip
cargo test # 1,056 tests
cargo clippy # lint
📡 Телеметрия
ContextZip собирает анонимную статистику использования (количество команд, процент экономии) для улучшения инструмента. Личные данные и содержимое команд не передаются.
Отключить:
export CONTEXTZIP_TELEMETRY_DISABLED=1
# или в ~/.config/contextzip/config.toml:
# [telemetry]
# enabled = false
📜 Лицензия
MIT — Fork RTK от rtk-ai.
⚡ Меньше шума. Больше кода. Деплой быстрее.