Output của Claude đầy rác không cần thiết.
ContextZip nén 60-90%. npx contextzip → 5 giây (lần chạy đầu tải binary).
Cài đặt • Before/After • Benchmark • English • 한국어 • 日本語 • 中文 • Español • Português • हिन्दी • Français • Deutsch • Русский • Türkçe • Tiếng Việt
30 dòng stacktrace node_modules → 3 dòng
150 dòng cảnh báo npm deprecated → 3 dòng
50 dòng hash Docker build → 1 dòng
Màu ANSI, spinner, thanh tiến trình → xóa sạch
npx contextzipKhởi động lại Claude Code. Mọi lệnh tự động được nén. Không cần cấu hình.
macOS · Linux · Windows
Các cách cài đặt khác
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/jee599/contextzip/main/install.sh | bash
brew install jee599/tap/contextzip
# Windows (PowerShell)
npx contextzip
# Lập trình viên Rust
cargo install --git https://github.com/jee599/contextzip|
❌ Before |
✅ After |
|
❌ Before |
✅ After |
|
❌ Before |
✅ After |
|
❌ Before |
✅ After |
|
❌ Before |
✅ After |
|
❌ Before |
✅ After |
|
❌ Before (output curl) |
✅ After |
|
❌ Before (raw terminal) |
✅ After |
🐳 Docker thất bại — bối cảnh được giữ lại
✗ 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
Bước thất bại + 2 bước trước + thông báo lỗi + mã thoát. Luôn luôn.
☕ Java / 🐹 Go stacktrace
Java — xóa 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 — xóa 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 bài test thực tế. Không cherry-picking.
| Danh mục | Bài test | Tiết kiệm TB | 🏆 Tốt nhất | 💀 Tệ nhất |
|---|---|---|---|---|
| 🐳 Docker build | 10 | 88% | 97% | 77% |
| 🎨 ANSI/spinner | 15 | 83% | 98% | 0% |
| 💥 Error trace | 20 | 59% | 97% | -12% |
| 🔨 Build error | 15 | 56% | 90% | -10% |
| 🌐 Trang web | 15 | 43% | 64% | 5% |
| 💻 Lệnh CLI | 12 | 42% | 99% | -56% |
| 📦 Cài đặt package | 15 | 39% | 99% | 2% |
Tổng có trọng số: tiết kiệm 61% → 326K chars in, 127K chars out
Note
Âm = output tăng lên. Xảy ra với input rất nhỏ. Chúng tôi đưa con số tệ nhất vào bảng vì giấu đi là không trung thực. Benchmark đầy đủ →
┌─────────────────────────────────────────────┐
│ 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%) │
└─────────────────────────────────────────────┘
Xây dựng trên RTK (28k⭐). Bao gồm toàn bộ 34 lệnh RTK. Thêm vào đó:
| RTK | ContextZip | |
|---|---|---|
| Nén CLI (git, test, ls) | ✅ | ✅ |
| Stacktrace lỗi (Node/Python/Rust/Go/Java) | ❌ | ✅ |
| Trích xuất nội dung web | ❌ | ✅ |
| Xóa ANSI / spinner / trang trí | 🟡 | ✅ |
| Gom nhóm lỗi build (tsc/eslint/cargo) | 🟡 | ✅ |
| Rác cài đặt package (npm/pip/cargo) | ❌ | ✅ |
| Nén Docker build | 🟡 | ✅ |
| Hiển thị tiết kiệm theo lệnh | ❌ | ✅ |
$ 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 biểu đồ hàng ngày • --history lệnh gần đây
| 🔴 Thông báo lỗi | LUÔN được giữ |
| 📍 File:dòng trong lỗi build | KHÔNG BAO GIỜ bị xóa |
| 🔒 Cảnh báo bảo mật (CVE, GHSA) | LUÔN được giữ |
| 🐳 Bối cảnh Docker thất bại | LUÔN được giữ |
| ⏎ Mã thoát | LUÔN được truyền |
Important
ContextZip chỉ xóa rác đã xác nhận. Khi nghi ngờ → passthrough.
# Tự động (hook chuyển đổi — không cần tiền tố):
git status npm install cargo test
docker build . pip install flask go test ./...
# Thủ công:
contextzip web https://docs.example.com # trang → chỉ nội dung
contextzip err node server.js # output tập trung vào lỗi
# Phân tích:
contextzip gain # bảng điều khiển
contextzip gain --by-feature # thống kê theo bộ lọc
contextzip gain --graph # biểu đồ hàng ngày
contextzip gain --history # lệnh gần đây
# Quản lý:
contextzip init --show # kiểm tra cài đặt
contextzip update # tự cập nhật
contextzip uninstall # gỡ cài đặt sạchgit clone https://github.com/jee599/contextzip.git && cd contextzip
cargo test # 1,056 tests
cargo clippy # lintContextZip thu thập thống kê sử dụng ẩn danh (số lệnh, phần trăm tiết kiệm) để cải thiện công cụ. Không truyền dữ liệu cá nhân hay nội dung lệnh.
Tắt:
export CONTEXTZIP_TELEMETRY_DISABLED=1
# hoặc trong ~/.config/contextzip/config.toml:
# [telemetry]
# enabled = falseMIT — Fork của RTK bởi rtk-ai.
⚡ Ít rác hơn. Nhiều code hơn. Deploy nhanh hơn.