Để sử dụng katana (công cụ web crawler của ProjectDiscovery) trong OpenCode, bạn có thể làm theo hướng dẫn chi tiết dưới đây. Quy trình này bao gồm hai phần chính: cài đặt công cụ katana và tích hợp plugin opencode-katana vào OpenCode.
1. Cài đặt Katana
Yêu cầu hệ thống
• Go: Katana yêu cầu phiên bản Go mới nhất (khuyến nghị Go 1.26+, tối thiểu Go 1.18).
• Mac Mini M4 (Apple Silicon): Hoàn toàn tương thích.
Các cách cài đặt
Cách 1: Cài đặt qua Go (khuyến nghị)
Mở Terminal và chạy lệnh:
go install github.com/projectdiscovery/katana/cmd/katana@latest
Lưu ý: Đảm bảo $GOPATH/bin đã có trong $PATH của bạn. Nếu chưa, thêm vào bằng lệnh:
echo ‘export PATH=$PATH:$HOME/go/bin’ >> ~/.zshrc
source ~/.zshrc
(Do macOS sử dụng zsh mặc định, nên dùng ~/.zshrc thay vì ~/.bashrc)
Cách 2: Tải binary có sẵn
Tải file binary cho macOS từ trang Release của Katana và giải nén vào thư mục trong $PATH.
Cách 3: Dùng Docker
docker pull projectdiscovery/katana:latest
docker run projectdiscovery/katana:latest -u //example.com
Kiểm tra cài đặt
katana -h
Nếu hiển thị danh sách các flag và hướng dẫn sử dụng, bạn đã cài đặt thành công.
2. Cài đặt Plugin opencode-katana cho OpenCode
opencode-katana là plugin cung cấp adapter để tích hợp Katana với OpenCode.
Cài đặt plugin
Trong terminal, chạy lệnh sau:
opencode plugin opencode-katana
Hoặc nếu bạn muốn cài đặt từ source code (phát triển):
git clone //github.com/Dandi007/katana
cd katana
# Thêm đường dẫn vào opencode.json
Sau đó thêm vào file opencode.json của bạn:
json
{
“plugin”: [“/path/to/katana”]
}
Cấu hình plugin
Plugin hỗ trợ các biến môi trường sau:
Biến môi trường
Mô tả
KATANA_PARITY_ROOT
Ghi đè đường dẫn gốc của Katana (mặc định tự động phát hiện)
KATANA_DISABLED_PLUGINS
Danh sách plugin cần vô hiệu hóa (cách nhau bằng dấu phẩy), ví dụ: wiki,retrieval
Ví dụ:
export KATANA_DISABLED_PLUGINS=”wiki,retrieval”
3. Cách sử dụng Katana trong OpenCode
Sau khi cài đặt plugin, OpenCode sẽ tự động nhận diện và cho phép bạn sử dụng các hook và skill của Katana:
• SessionStart hooks: Tự động inject context (guide, work-folder, retrieval, wiki)
• PostToolUse hooks: Xác thực tài liệu FPA (First Principles Analysis)
• Skills: Tất cả các skill được expose để OpenCode có thể phát hiện và sử dụng
Ví dụ sử dụng Katana trực tiếp
Bạn có thể chạy Katana từ terminal hoặc thông qua OpenCode để crawl web:
# Crawl một URL duy nhất
katana -u //example.com
# Crawl nhiều URL
katana -u //example.com,//google.com
# Crawl từ file danh sách
katana -list urls.txt
# Sử dụng headless mode (cho JavaScript-heavy sites)
katana -u //example.com -headless -system-chrome
# Giới hạn độ sâu crawl (mặc định 3)
katana -u //example.com -depth 5
Kết hợp với OpenCode Agent
Trong OpenCode, bạn có thể yêu cầu AI agent sử dụng Katana thông qua các lệnh tự nhiên, ví dụ:
“Hãy crawl //example.com và trích xuất tất cả các endpoint API”
AI agent sẽ gọi Katana với các tham số phù hợp và trả về kết quả.
4. Tóm tắt quy trình nhanh
1 Cài đặt Go (nếu chưa có): Tải từ //go.dev/dl/
2 Cài đặt Katana: go install github.com/projectdiscovery/katana/cmd/katana@latest
3 Cài đặt plugin OpenCode: opencode plugin opencode-katana
4 Kiểm tra: katana -h và mở OpenCode để xác nhận plugin đã được load
5 Sử dụng: Chạy các lệnh crawl hoặc yêu cầu AI agent thực hiện
Tài liệu tham khảo
• ProjectDiscovery Katana Documentation
• GitHub – projectdiscovery/katana
• opencode-katana trên npm
Nếu bạn gặp bất kỳ vấn đề gì trong quá trình cài đặt, hãy kiểm tra lại phiên bản Go (go version) và đảm bảo đã thêm đúng đường dẫn $GOPATH/bin vào $PATH.

Bài viết liên quan: