Vấn đề thực tế với các AI assistant thông thường
Mình làm việc ở một dự án có yêu cầu bảo mật khá nghiêm — dữ liệu khách hàng, source code nội bộ, tài liệu hệ thống. Sau một thời gian dùng các AI assistant dạng cloud (ChatGPT, Copilot…), câu hỏi từ phía security team là: “Dữ liệu mày paste vào đó đi đâu?”
Không ai trả lời được chắc chắn. Dù các nhà cung cấp cam kết không dùng data để train model, traffic vẫn đi qua server của họ. Log vẫn tồn tại đâu đó. Với môi trường enterprise hay dự án xử lý dữ liệu nhạy cảm, đây là rủi ro không thể bỏ qua.
IronClaw giải quyết đúng chỗ đó. CLI tool viết bằng Rust, chạy hoàn toàn trên máy local — không telemetry, không kết nối ra ngoài trừ khi bạn cố tình cấu hình. An toàn bộ nhớ là đặc tính của ngôn ngữ, không phải lời hứa.
Cài đặt IronClaw
Có hai cách cài: build từ source qua Cargo, hoặc tải binary release về dùng ngay. Mình hay chọn cách đầu để kiểm soát version và audit code khi cần.
Chuẩn bị: Cài đặt Rust toolchain
Chưa có Rust trên máy? Cài qua rustup — cách chính thức, tránh đủ thứ phiền phức với package manager của distro:
# Cài rustup (Rust version manager)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Load environment cho session hiện tại
source $HOME/.cargo/env
# Kiểm tra version
rustc --version
cargo --version
IronClaw yêu cầu Rust 1.70 trở lên. Máy đang dùng phiên bản cũ hơn? Một lệnh là xong:
rustup update stable
Cài đặt IronClaw qua Cargo
# Cài từ crates.io
cargo install ironclaw
# Hoặc build từ source nếu muốn audit code
git clone https://github.com/ironclaw-ai/ironclaw.git
cd ironclaw
cargo build --release
# Copy binary vào PATH
sudo cp target/release/ironclaw /usr/local/bin/
Lần đầu build mất khoảng 2-3 phút do compile dependencies. Rust compile chậm, nhưng binary ra đời nhỏ gọn và hiệu năng ổn định — đánh đổi xứng đáng.
Cài đặt từ binary release (nhanh hơn)
Không muốn cài cả Rust toolchain? Tải binary pre-built thẳng về:
# Linux x86_64
wget https://github.com/ironclaw-ai/ironclaw/releases/latest/download/ironclaw-linux-x86_64.tar.gz
tar -xzf ironclaw-linux-x86_64.tar.gz
sudo mv ironclaw /usr/local/bin/
sudo chmod +x /usr/local/bin/ironclaw
# Verify binary — bước này đừng bỏ qua
sha256sum ironclaw # So với file SHA256SUMS trên release page
Cấu hình chi tiết
Phần này quyết định IronClaw có thực sự bảo mật hay không. File cấu hình dùng định dạng TOML, lưu tại ~/.config/ironclaw/config.toml.
Khởi tạo cấu hình mặc định
# Tạo cấu hình mặc định
ironclaw init
# Kiểm tra file được tạo
cat ~/.config/ironclaw/config.toml
Cấu hình backend AI
IronClaw hỗ trợ nhiều backend: Ollama (local), LM Studio, hoặc bất kỳ endpoint tương thích OpenAI API. Ưu tiên bảo mật tối đa? Dùng Ollama — model chạy hoàn toàn offline, không có byte nào rời khỏi máy:
# ~/.config/ironclaw/config.toml
[backend]
type = "ollama" # "ollama" | "openai-compatible" | "anthropic"
endpoint = "http://localhost:11434"
model = "llama3.2:3b" # Model nhẹ cho máy yếu
# model = "qwen2.5-coder:7b" # Model tốt hơn cho coding tasks
[privacy]
no_telemetry = true # Tắt hoàn toàn telemetry
no_history_sync = true # Không sync history lên cloud
encrypt_history = true # Mã hóa lịch sử chat local
[security]
history_retention_days = 30 # Tự xóa history sau 30 ngày
mask_secrets = true # Tự động che API key, password trong output
sandbox_mode = false # Bật nếu muốn restrict file system access
[ui]
theme = "dark"
syntax_highlight = true
stream_response = true # Hiển thị response dần thay vì chờ hết
Cấu hình bảo mật nâng cao
Môi trường production hoặc máy dùng chung? Thêm pattern matching để che secrets tự động:
[security]
# Danh sách pattern sẽ bị che trong output (regex)
secret_patterns = [
"sk-[a-zA-Z0-9]+", # OpenAI API key
"ghp_[a-zA-Z0-9]+", # GitHub token
"password\\s*=\\s*\\S+", # Password trong config
"Bearer\\s+[\\w-]+", # Bearer token
]
[backend]
# Nếu dùng API bên ngoài (chấp nhận trade-off)
type = "openai-compatible"
endpoint = "https://api.anthropic.com/v1" # Hoặc endpoint nội bộ
api_key_env = "IRONCLAW_API_KEY" # Đọc từ env var, KHÔNG hardcode
max_tokens = 4096
Quan trọng: không hardcode API key vào file config. IronClaw đọc từ environment variable qua api_key_env — luôn dùng cách này.
Tích hợp Ollama (recommended cho bảo mật tối đa)
Chưa có Ollama? Cài và pull model trước khi tiếp tục:
# Cài Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Pull model phù hợp
ollama pull llama3.2:3b # Nhanh, nhẹ (~2GB)
ollama pull qwen2.5-coder:7b # Tốt cho coding (~4.7GB)
ollama pull deepseek-r1:8b # Reasoning tốt (~4.9GB)
# Kiểm tra Ollama đang chạy
curl http://localhost:11434/api/tags
Mình đã dùng cách này trên môi trường production — Ollama với Qwen2.5-Coder chạy trên máy chủ nội bộ, IronClaw trỏ vào endpoint đó. Latency vài giây tùy cấu hình máy, đủ dùng cho daily workflow. Security team không còn phàn nàn nữa.
Kiểm tra hoạt động và Monitoring
Test cơ bản sau cài đặt
# Kiểm tra version
ironclaw --version
# Test kết nối backend
ironclaw check
# Output mong đợi:
# ✓ Config loaded: ~/.config/ironclaw/config.toml
# ✓ Backend reachable: ollama @ localhost:11434
# ✓ Model available: llama3.2:3b
# ✓ Privacy settings: telemetry=off, encryption=on
# Hỏi thử
ironclaw ask "Giải thích ngắn gọn về Rust ownership model"
# Mode interactive (chat liên tục)
ironclaw chat
# Hỏi về file cụ thể (context-aware)
ironclaw ask --file main.rs "File này có vấn đề gì không?"
# Pipe output từ lệnh khác
git diff HEAD~1 | ironclaw ask "Tóm tắt thay đổi trong diff này"
Kiểm tra log và audit trail
# Xem log hoạt động
ironclaw logs --tail 50
# Xem history (đã mã hóa, decrypt khi hiển thị)
ironclaw history list
ironclaw history show --date 2026-03-06
# Xóa history thủ công
ironclaw history clear --before 2026-01-01
# Kiểm tra không có kết nối ra ngoài (nếu dùng Ollama)
sudo ss -tlnp | grep ironclaw # Không nên thấy kết nối external
Monitoring với systemd (nếu chạy Ollama dưới dạng service)
# Kiểm tra Ollama service
systemctl status ollama
# Xem resource usage
top -p $(pgrep ollama)
# Monitor GPU nếu có
nvidia-smi -l 2 # Refresh mỗi 2 giây
# Kiểm tra bộ nhớ model đang load
curl -s http://localhost:11434/api/ps | python3 -m json.tool
Workflow thực tế
Thiết lập xong, đây là flow mình dùng hàng ngày:
# Review code trước khi commit
git diff --staged | ironclaw ask "Review code này, tìm bug tiềm ẩn và security issue"
# Giải thích error log
cat /var/log/nginx/error.log | tail -20 | ironclaw ask "Giải thích lỗi này và cách fix"
# Tạo documentation từ code
ironclaw ask --file utils.py "Viết docstring cho tất cả function trong file này"
# Debug nhanh
ironclaw ask "Tại sao Rust báo lỗi: cannot borrow x as mutable because it is also borrowed as immutable"
Điểm khác biệt lớn nhất so với ChatGPT hay Copilot: paste code chứa config nội bộ hay business logic nhạy cảm không còn là vấn đề. Toàn bộ xử lý ở local. Không có request nào ra ngoài mạng.
Muốn standardize cho cả team? Deploy Ollama trên một máy chủ nội bộ, phân phối file config IronClaw trỏ vào endpoint đó. Tất cả traffic AI chỉ đi trong mạng nội bộ — dễ audit, dễ kiểm soát, và IT security sẽ hài lòng hơn nhiều.

