Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ shellcraft - Trợ lý Terminal AI Ngôn ngữ Tự nhiên

Go Version Platform AI Engine License

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 macOSLinux (Ubuntu/Debian).

Giao diện shellcraft (Minh họa giao diện TUI hiện đại)


✨ Tính năng Nổi bật

  • 🤖 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).

🚀 Hướng dẫn Cài đặt

Cách 1: Cài đặt Tự động 1-Click (Khuyên dùng)

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.sh

Cách 2: Tự Biên dịch từ Nguồn (Build từ Source)

Yê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 install

Biên dịch Đa nền tảng (Cross-Compile):

Nếu bạn muốn tạo file cài đặt cho các máy Mac hoặc Linux khác:

make build-all

Cá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 Intel
  • bin/shellcraft-linux-amd64: Linux Ubuntu / Debian x86_64
  • bin/shellcraft-linux-arm64: Linux Ubuntu ARM64

⚙️ Cấu hình API Key & Model

1. Lấy Google Gemini API Key

2. Lưu API Key vào shellcraft

shellcraft config set-key <YOUR_GEMINI_API_KEY>

3. Tùy chọn Chuyển đổi & Xem danh sách Model Gemini

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-pro

4. Kiểm tra Cấu hình Hiện tại

shellcraft config show

Output ví dụ:

📂 File cấu hình: /Users/username/.config/shellcraft/config.yaml
🤖 Provider:      gemini
🧠 Model:         gemini-flash-latest
🔑 API Key:       AIzaSy...

💡 Ví dụ Sử dụng Thực tế

Bạn có thể truyền câu hỏi trực tiếp đằng sau lệnh shellcraft:

📂 1. Thao tác File & Thư mục

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"

🐙 2. Quản lý Git & Codebase

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"

🐳 3. Quản lý Container & Process

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"

📊 4. Giám sát Hệ thống

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"

🛠️ Cấu trúc Mã nguồn Dự án

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

📄 License

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.

About

Trợ lý Terminal AI Ngôn ngữ Tự nhiên

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages