rtk-ai/rtk
rtk là một CLI proxy cho workflow agentic coding, nhắm tới giảm 60-90% token ở các lệnh dev/LLM phổ biến. Dự án là single Rust binary , zero-dependency, phù hợp để chèn vào giữa CLI coding tools và mo…
Kết luận: fit · Công nghệ: cli-proxy · llm-optimization · agentic-coding · developer-tools · rust
rtk là một CLI proxy cho workflow agentic coding, nhắm tới giảm 60-90% token ở các lệnh dev/LLM phổ biến. Dự án là single Rust binary, zero-dependency, phù hợp để chèn vào giữa CLI coding tools và model provider nhằm tối ưu chi phí, đặc biệt với các repo dùng claude-code, codex, hoặc automation qua terminal.
📖 Giới thiệu chi tiết
🧩 Nó là gì?
rtk-ai/rtk là một công cụ dòng lệnh giúp “làm gọn” kết quả của các lệnh dev trước khi gửi vào ngữ cảnh của LLM, nhờ đó giảm khoảng 60-90% token trong workflow coding với AI.
Nói đơn giản: thay vì để AI đọc nguyên một đống output dài từ git, test, lint, docker, aws..., rtk lọc và tóm gọn phần quan trọng để AI vẫn hiểu việc gì đang xảy ra nhưng tốn ít token hơn.
🎯 Giải quyết vấn đề gì? Dành cho ai?
Khi dùng các công cụ AI coding như claude-code, codex, Gemini CLI, Cursor, Windsurf, Cline..., AI thường phải chạy nhiều lệnh terminal như:
git status
git diff
rg "something" .
npm test
cargo test
docker ps
Các lệnh này có thể trả về output rất dài. Output càng dài thì càng tốn token, đồng nghĩa với:
- Chi phí dùng LLM cao hơn.
- Ngữ cảnh bị đầy nhanh hơn.
- AI dễ bị nhiễu bởi log, dòng lặp, thông tin không quan trọng.
- Những phần quan trọng như lỗi test, lỗi build, file thay đổi... có thể bị chìm trong output.
rtk sinh ra để giải quyết đúng việc đó: giữ lại phần AI cần, bỏ bớt phần thừa.
Dự án này phù hợp với:
- Lập trình viên dùng AI coding hằng ngày.
- Team muốn giảm chi phí token khi dùng LLM.
- Người dùng
claude-code,codex,Gemini CLI,Cursor,Windsurf,Cline,Roo Code,Kilo Code... - Repo có nhiều lệnh test, build, lint, git, Docker, AWS, Kubernetes...
- Người thích công cụ nhẹ, chạy nhanh, không cần cài nhiều thứ phụ thuộc.
⚙️ Hoạt động ra sao?
rtk hoạt động như một CLI proxy. “Proxy” ở đây hiểu đơn giản là: thay vì AI gọi thẳng lệnh gốc, lệnh sẽ đi qua rtk trước.
Ví dụ:
git status
có thể được chuyển thành:
rtk git status
Luồng hoạt động cơ bản:
Không dùng rtk:
AI -> shell -> git status -> output dài -> AI
Dùng rtk:
AI -> rtk -> git status -> rtk lọc output -> output gọn -> AI
Các cơ chế chính:
- Smart Filtering: bỏ bớt phần nhiễu như khoảng trắng thừa, comment, boilerplate, log không cần thiết.
- Grouping: gom các mục giống nhau lại, ví dụ nhóm lỗi theo file, nhóm file theo thư mục.
- Truncation: cắt bớt phần lặp hoặc quá dài, chỉ giữ đoạn có ích.
- Deduplication: gộp các dòng log lặp lại và ghi số lần xuất hiện.
- Command-aware output:
rtkhiểu nhiều loại lệnh khác nhau, ví dụgit,pytest,cargo test,docker logs,aws,kubectl, nên cách rút gọn sẽ phù hợp với từng lệnh. - Hook/plugin integration: với một số AI tool,
rtk initcó thể cấu hình để lệnh trong terminal tự động được viết lại quartk.
Ví dụ khác biệt:
# Lệnh gốc có thể trả về rất nhiều dòng
git push
# Qua rtk có thể chỉ còn dạng ngắn gọn
rtk git push
# ok main
Hoặc với test:
rtk pytest
Thay vì đổ toàn bộ log test, rtk ưu tiên hiển thị lỗi, test fail và thông tin cần để sửa bug.
🆚 Khi nào nên dùng / không nên
Nên dùng rtk khi:
- Bạn dùng AI coding agent và agent thường xuyên chạy lệnh terminal.
- Bạn muốn giảm token khi làm việc với repo vừa hoặc lớn.
- Bạn chạy nhiều lệnh như
git diff,git status,rg,pytest,cargo test,npm test,docker logs. - Bạn muốn output ngắn, dễ đọc, tập trung vào lỗi và thay đổi quan trọng.
- Bạn dùng
claude-code,codex,Gemini CLI,Cursor,Windsurf,Clinehoặc các workflow agentic coding qua terminal.
Không nên hoặc chưa cần dùng khi:
- Bạn hiếm khi dùng AI coding tool.
- Project rất nhỏ, output terminal vốn đã ngắn.
- Bạn cần xem toàn bộ output gốc, không muốn bị rút gọn.
- Bạn đang debug một lỗi rất đặc biệt mà từng dòng log đều quan trọng.
- Tool bạn dùng không chạy qua shell/hook phù hợp, hoặc bạn chưa muốn cấu hình thêm.
So với việc gọi lệnh trực tiếp:
git diff
dùng rtk:
rtk git diff
sẽ phù hợp hơn khi output được gửi cho AI. Còn nếu chính bạn muốn soi từng dòng chi tiết, lệnh gốc vẫn có thể tiện hơn.
Một điểm cần nhớ: hook của rtk chủ yếu áp dụng cho các lệnh Bash. Với một số built-in tools của Claude Code như Read, Grep, Glob, chúng không đi qua Bash hook, nên sẽ không tự động được rtk xử lý. Khi đó bạn có thể dùng shell command như cat, rg, find, hoặc gọi trực tiếp:
rtk read file.rs
rtk grep "pattern" .
rtk find "*.rs" .
🚀 Bắt đầu nhanh
Cài đặt bằng Homebrew:
brew install rtk
Hoặc cài nhanh trên Linux/macOS:
curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh
Nếu cần thêm vào PATH:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
Với zsh:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
Cài bằng Cargo:
cargo install --git https://github.com/rtk-ai/rtk
Kiểm tra cài đặt:
rtk --version
rtk gain
Ví dụ khởi tạo cho AI tool:
# Claude Code / Copilot
rtk init -g
# Gemini CLI
rtk init -g --gemini
# Codex
rtk init -g --codex
# Cursor
rtk init -g --agent cursor
# Windsurf
rtk init -g --agent windsurf
# Cline / Roo Code
rtk init --agent cline
Sau đó restart AI tool của bạn.
Ví dụ tối thiểu:
# Thay vì để AI nhận output dài từ git
git status
# Sau khi cấu hình, lệnh có thể được tự động xử lý qua rtk
# Hoặc bạn gọi trực tiếp:
rtk git status
Một vài lệnh hữu ích để thử ngay:
rtk ls .
rtk read README.md
rtk grep "TODO" .
rtk git diff
rtk git log -n 10
rtk pytest
rtk cargo test
rtk docker ps
Xem thống kê token tiết kiệm được:
rtk gain
rtk gain --graph
rtk gain --history
✅ Điểm mạnh & ⚠️ Hạn chế
✅ Điểm mạnh:
- Giảm mạnh lượng token, thường khoảng 60-90% với các lệnh dev phổ biến.
- Chạy nhanh, overhead được mô tả là dưới 10ms.
- Là single Rust binary, tức là một file binary duy nhất, gọn và dễ phân phối.
- Zero dependencies, không cần kéo theo nhiều thư viện/runtime phức tạp.
- Hỗ trợ hơn 100 lệnh thuộc nhiều nhóm: file, git, GitHub CLI, test, build, lint, package manager, AWS, Docker, Kubernetes...
- Tích hợp được với nhiều AI coding tools như
claude-code,codex,Gemini CLI,Cursor,Windsurf,Cline. - Có lệnh phân tích hiệu quả như
rtk gain,rtk discover,rtk session. - Rất hợp với workflow agentic coding, nơi AI tự chạy lệnh, đọc kết quả, rồi sửa code.
⚠️ Hạn chế:
- Output đã được rút gọn, nên đôi khi bạn có thể cần chạy lệnh gốc nếu muốn xem toàn bộ chi tiết.
- Mức tiết kiệm token phụ thuộc vào project, loại lệnh và độ dài output thực tế.
- Hook không bắt được mọi loại thao tác; ví dụ một số built-in tools như
Read,Grep,Globcủa Claude Code không tự động đi quartk. - Cần cấu hình ban đầu bằng
rtk initcho từng AI tool/workflow. - Nếu cài nhầm package
rtkkhác từ crates.io, lệnh nhưrtk gaincó thể không hoạt động đúng; nên dùng:
cargo install --git https://github.com/rtk-ai/rtk
- Với các tình huống debug rất sâu, nơi từng dòng log đều quan trọng, bạn nên tạm dùng lệnh gốc hoặc cách đọc output đầy đủ.