Hướng dẫn cài đặt IronClaw: trợ lý AI Rust tập trung bảo mật và quyền riêng tư

Artificial Intelligence tutorial - IT technology blog
Artificial Intelligence tutorial - IT technology blog

Tại sao mình cần một trợ lý AI chạy local?

Lúc 2 giờ sáng, server production bắt đầu trả về lỗi 502 loạn xạ. Mình cần gõ vội một đoạn script bash để parse log — nhưng tay thì run, đầu óc thì mù. Mình mở ChatGPT, nhập đoạn log vào… rồi dừng lại.

Đoạn log đó có IP khách hàng, có tên service nội bộ, có cả một phần connection string. Gửi lên cloud lúc này thực sự không ổn.

Đó là lần đầu mình bắt đầu tìm kiếm giải pháp AI chạy hoàn toàn offline — không leak dữ liệu, không cần lo GDPR hay policy công ty. IronClaw là thứ mình tìm ra sau đó.

IronClaw là một AI assistant CLI viết bằng Rust, thiết kế từ đầu với hai ưu tiên: tốc độquyền riêng tư. Không telemetry, không gửi request ra ngoài nếu bạn không muốn. Hỗ trợ chạy với model local qua Ollama hoặc kết nối API provider theo lựa chọn của bạn.

Cài đặt IronClaw

Yêu cầu hệ thống

  • Rust 1.75+ (stable toolchain)
  • Linux/macOS — Windows hỗ trợ qua WSL2
  • RAM tối thiểu 4GB nếu dùng model local (khuyến nghị 8GB+)
  • Git

Cài Rust nếu chưa có

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
rustc --version

Cài IronClaw qua Cargo

Cách nhanh nhất — cargo tự build từ source, không cần clone repo thủ công:

cargo install ironclaw

# Kiểm tra cài thành công
ironclaw --version

Muốn tùy chỉnh feature flags thì build từ source:

git clone https://github.com/ironclaw-ai/ironclaw.git
cd ironclaw

# Build release (tối ưu hiệu năng)
cargo build --release

# Copy binary vào PATH
sudo cp target/release/ironclaw /usr/local/bin/
ironclaw --version

Lần đầu build sẽ mất 3–5 phút tùy máy vì Rust compile toàn bộ dependencies. Bình thường — đừng lo.

Cấu hình chi tiết

Khởi tạo config lần đầu

ironclaw init

Lệnh này tạo file cấu hình tại ~/.config/ironclaw/config.toml. Mở ra sẽ thấy cấu trúc như sau:

[core]
# Chọn provider: "ollama" (local), "anthropic", "openai", "openrouter"
provider = "ollama"
default_model = "mistral:7b"

# Tắt hoàn toàn telemetry
telemetry = false

# Không ghi conversation lên cloud
persist_remote = false

[privacy]
# Redact patterns khỏi prompt trước khi gửi (ngay cả khi dùng API)
auto_redact = true
redact_patterns = [
  "\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\b",  # IP addresses
  "(?i)password\\s*=\\s*\\S+",                          # Password strings
  "sk-[a-zA-Z0-9]{48}",                                  # OpenAI API keys
]

[ollama]
host = "http://localhost:11434"

[anthropic]
# Điền nếu dùng Anthropic API
api_key = ""  # Hoặc set env var ANTHROPIC_API_KEY
model = "claude-haiku-4-5-20251001"

[context]
# Số token context giữ lại giữa các turn
max_context_tokens = 4096
# Lưu conversation local (encrypted)
local_history = true
history_path = "~/.local/share/ironclaw/history"

Chưa cài Ollama? Một lệnh là xong

curl -fsSL https://ollama.com/install.sh | sh

# Pull model (chọn 1 trong các model sau)
ollama pull mistral:7b          # Cân bằng tốc độ/chất lượng, 4.1GB
ollama pull codellama:7b        # Tập trung coding
ollama pull llama3.2:3b         # Nhẹ, chạy tốt trên máy ít RAM

Sau đó test ngay:

ironclaw ask "Viết bash script kiểm tra disk usage và alert nếu trên 80%"

Dùng IronClaw như một pipe trong terminal

Đây là tính năng mình dùng nhiều nhất — paste thẳng output của lệnh vào IronClaw:

# Phân tích log lỗi trực tiếp
tail -n 100 /var/log/nginx/error.log | ironclaw ask "Lỗi gì đang xảy ra?"

# Review code trước khi commit
git diff HEAD~1 | ironclaw ask "Review code này, tìm bug tiềm ẩn"

# Explain một config file phức tạp
cat /etc/nginx/nginx.conf | ironclaw ask "Giải thích config này"

Chế độ interactive (chat session)

# Mở session chat
ironclaw chat

# Chat với model cụ thể
ironclaw chat --model codellama:13b

# Chat với system prompt riêng (hữu ích cho từng use case)
ironclaw chat --system "Bạn là senior DevOps engineer, trả lời ngắn gọn và thực tế"

Cấu hình auto-redact nâng cao

Log production là mỏ vàng của thông tin nhạy cảm — IP nội bộ, JWT token, connection string database. Tất cả đều không nên đi kèm trong prompt gửi lên cloud. IronClaw giải quyết chuyện này bằng cách mask tự động trước khi prompt đến bất kỳ đâu:

[privacy]
auto_redact = true
redact_patterns = [
  # IP internal
  "192\\.168\\.\\d+\\.\\d+",
  "10\\.\\d+\\.\\d+\\.\\d+",
  # JWT tokens
  "eyJ[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+",
  # Database connection strings
  "(?i)(mysql|postgresql|mongodb):\\/\\/[^\\s]+",
  # AWS keys
  "AKIA[0-9A-Z]{16}",
]
# Ký tự thay thế khi redact
redact_placeholder = "[REDACTED]"

Kiểm tra và Monitoring

Verify IronClaw không gửi traffic ra ngoài

Paranoid một chút không có gì sai. Với Ollama, kiểm tra nhanh xem IronClaw có thực sự chỉ nói chuyện với localhost hay không:

# Chạy IronClaw trong một terminal
ironclaw ask "Hello" &

# Theo dõi network connection trong terminal khác
ss -tnp | grep ironclaw
# Nên chỉ thấy kết nối đến localhost:11434 (Ollama)

Muốn chắc hơn, dùng strace để kiểm tra toàn bộ syscall network:

strace -e network ironclaw ask "Test" 2>&1 | grep -v "127.0.0.1\|localhost"

Kiểm tra conversation history

IronClaw lưu history local dưới dạng encrypted. Kiểm tra:

# Xem các session đã lưu
ironclaw history list

# Xóa history cụ thể
ironclaw history delete 

# Xóa toàn bộ history
ironclaw history clear

Benchmark hiệu năng

# Test response time với model đang dùng
ironclaw benchmark --model mistral:7b --prompt "Explain Docker in one paragraph"

# Output mẫu:
# Model: mistral:7b
# First token: 0.34s
# Total: 4.2s
# Tokens/sec: 28.6

Log và debug

# Bật verbose logging
IRONCLAW_LOG=debug ironclaw ask "Test"

# Xem log file
tail -f ~/.local/share/ironclaw/ironclaw.log

# Kiểm tra config đang áp dụng
ironclaw config show

Tạo alias tiện lợi

Thêm vào ~/.bashrc hoặc ~/.zshrc:

# Quick ask
alias ai='ironclaw ask'

# Explain command
explain() { man "$1" 2>/dev/null | head -50 | ironclaw ask "Giải thích lệnh $1 ngắn gọn"; }

# Review git diff trước khi push
alias review-diff='git diff | ironclaw ask "Review code, tìm bug và security issue"'

Sau 2 tháng chạy IronClaw trên production, mình không còn ngại paste log server vào AI nữa. Tất cả xử lý local, redact tự động — không một byte nào rời máy trừ khi mình chủ động chọn. Nếu team đang làm việc trong môi trường có SOC 2, HIPAA, hay đơn giản là sếp hay hỏi “dữ liệu AI mình dùng đi đâu?” — IronClaw là câu trả lời gọn nhất mình tìm được.

Share: