shellcraft là một công cụ dòng lệnh (CLI tool) thông minh viết bằng Golang, giúp bạn chuyển đổi yêu cầu bằng ngôn ngữ tự nhiên (Tiếng Việt hoặc Tiếng Anh) thành các câu lệnh Terminal chính xác và thực thi trực tiếp trên hệ điều hành macOS và Linux (Ubuntu/Debian).
(Minh họa giao diện TUI hiện đại)
- 🤖 Chuyển đổi Ngôn ngữ Tự nhiên sang Lệnh Shell: Dịch các câu nói thường ngày như "nén thư mục src thành zip", "tìm file log lớn hơn 100MB" thành lệnh shell cực kỳ chính xác.
- 🎯 Hiểu Ngữ cảnh Môi trường (Context-Aware): Tự động nhận diện OS (
macOS/Ubuntu), Shell (zsh/bash), thư mục hiện tại (CWD), và danh sách các file xung quanh để sinh ra câu lệnh tương thích 100%. - 🎨 Giao diện TUI Hiện đại: Sử dụng bộ thư viện Charm.sh (
bubbletea,lipgloss) cho trải nghiệm giao diện màu sắc, trực quan. - ⚡ Menu Tương tác 1-Click:
[Enter]: Thực thi ngay lệnh shell.[e]: Chỉnh sửa lệnh trực tiếp trước khi chạy.[c]: Sao chép lệnh vào Clipboard.[q / Esc]: Hủy bỏ.
- 🚨 Cảnh báo An toàn (Safety Guardrails): Phân tích và phát hiện 3 cấp độ an toàn (
Safe,Warning,Dangerous) đối với các lệnh nguy hiểm (nhưrm -rf,dd,mkfs, sửa quyền hệ thống). - 📦 File Đơn Siêu Nhẹ & Nhanh: Đóng gói thành standalone binary (<8MB), khởi động tức thì, hỗ trợ cả kiến trúc Intel & Apple Silicon (ARM64).
Chạy script tự động nhận diện hệ điều hành và cài đặt binary phù hợp vào /usr/local/bin hoặc ~/.local/bin:
chmod +x scripts/install.sh
./scripts/install.shYêu cầu máy tính đã cài đặt Go 1.22+:
# Clone dự án
git clone https://github.com/thuanpt/shellcraft.git
cd shellcraft
# Biên dịch cho máy hiện tại
make build
# Cài đặt vào hệ thống
make installNếu bạn muốn tạo file cài đặt cho các máy Mac hoặc Linux khác:
make build-allCác file thực thi sẽ nằm trong thư mục bin/:
bin/shellcraft-darwin-arm64: macOS Apple Silicon (M1/M2/M3/M4)bin/shellcraft-darwin-amd64: macOS chip Intelbin/shellcraft-linux-amd64: Linux Ubuntu / Debian x86_64bin/shellcraft-linux-arm64: Linux Ubuntu ARM64
- Truy cập hoàn toàn miễn phí tại: https://aistudio.google.com/app/apikey
- Bấm
Create API keyvà sao chép mã Key (chuỗi bắt đầu bằngAIzaSy...).
shellcraft config set-key <YOUR_GEMINI_API_KEY>Xem danh sách các model khả dụng:
shellcraft config modelsĐổi sang bất kỳ model nào bạn muốn:
# Đổi sang Gemini 1.5 Flash (Mặc định)
shellcraft config set-model gemini-flash-latest
# Đổi sang Gemini 2.0 Flash
shellcraft config set-model gemini-2.0-flash
# Đổi sang Gemini 2.5 Pro (Suy luận sâu)
shellcraft config set-model gemini-2.5-proshellcraft config showOutput ví dụ:
📂 File cấu hình: /Users/username/.config/shellcraft/config.yaml
🤖 Provider: gemini
🧠 Model: gemini-flash-latest
🔑 API Key: AIzaSy...
Bạn có thể truyền câu hỏi trực tiếp đằng sau lệnh shellcraft:
shellcraft "nén tất cả file .log trong thư mục hiện tại thành file logs_backup.zip"
shellcraft "tìm tất cả các file có dung lượng lớn hơn 50MB"shellcraft "tạo nhánh mới tên feature/login và chuyển sang nhánh đó"
shellcraft "hủy bỏ commit gần nhất nhưng giữ lại thay đổi trong code"shellcraft "hiển thị danh sách các container Docker đang chạy"
shellcraft "tìm tiến trình đang chiếm cổng port 8080 và dừng nó lại"shellcraft "xem dung lượng ổ đĩa còn trống theo định dạng GB"
shellcraft "hiển thị top 5 tiến trình tiêu tốn nhiều RAM nhất"ShellBash/
├── cmd/
│ └── shellcraft/
│ └── main.go # CLI Entry point & Cobra subcommands
├── internal/
│ ├── config/ # Quản lý file cấu hình ~/.config/shellcraft/config.yaml
│ ├── detector/ # Tự động phát hiện OS, Shell, CWD & cây thư mục
│ ├── llm/ # Client kết nối Google Gemini API
│ ├── safety/ # Phân tích mức độ an toàn của lệnh (Safe, Warning, Dangerous)
│ ├── tui/ # Giao diện TUI tương tác (Charm Bubbletea & Lipgloss)
│ └── executor/ # Thực thi lệnh Shell và stream kết quả real-time
├── scripts/
│ └── install.sh # Script cài đặt tự động 1-click
├── Makefile # Lệnh build & cross-compile tiện lợi
├── README.md # Tài liệu hướng dẫn sử dụng
├── go.mod
└── go.sum
Dự án được phát hành theo giấy phép MIT License. Bạn hoàn toàn có thể tự do chỉnh sửa, đóng góp hoặc phát triển thêm tính năng.