OpenClaw

OpenClaw là gì?

OpenClaw (trước đây là Moltbot, trước đó nữa là Clawdbot) là một nền tảng AI agent mã nguồn mở, mang AI hội thoại đến nhiều kênh nhắn tin gồm Telegram, Discord, Slack, Signal, iMessage và WhatsApp. Nền tảng này hỗ trợ nhiều provider LLM và cho phép người dùng chạy các AI agent tương tác được trên tất cả những kênh đó.

Thiết lập

Khuyến nghị: Sử dụng OpenClaw Setup Wizard

Cách đơn giản nhất để cấu hình OpenClaw với Trạm AI là dùng trình hướng dẫn thiết lập có sẵn:

lines
$openclaw onboard

Trình hướng dẫn sẽ giúp người dùng lần lượt:

  1. Chọn Trạm AI làm provider
  2. Nhập API key
  3. Chọn model muốn dùng
  4. Cấu hình các kênh nhắn tin

Đây là cách Trạm AI khuyến nghị cho người dùng mới, đồng thời bảo đảm mọi thứ được cấu hình chính xác.

Bắt đầu nhanh (CLI)

Nếu đã có Trạm AI API key và muốn bỏ qua trình hướng dẫn, hãy dùng câu lệnh một dòng dưới đây:

lines
$openclaw onboard --auth-choice apiKey --token-provider tram --token "$TRAM_AI_API_KEY"

Câu lệnh này tự động cấu hình OpenClaw để dùng Trạm AI với model khuyến nghị (tram/auto).

Cấu hình thủ công

Chỉ dành cho người dùng nâng cao: Phần cấu hình thủ công dưới đây dành cho người dùng cần chỉnh sửa trực tiếp file cấu hình. Với hầu hết người dùng, chúng tôi khuyến nghị dùng trình hướng dẫn thiết lập ở trên.

Nếu cần chỉnh sửa thủ công file cấu hình OpenClaw, hãy làm theo các bước dưới đây:

Bước 1: Lấy Trạm AI API Key

  1. Đăng ký hoặc đăng nhập tại Trạm AI
  2. Truy cập trang API Keys
  3. Tạo một API key mới
  4. Sao chép key (bắt đầu bằng tram_sk-...)

Bước 2: Thiết lập API Key

Thêm Trạm AI API key vào ~/.openclaw/openclaw.json:

lines
1{
2 "env": {
3 "TRAM_AI_API_KEY": "tram_sk-..."
4 },
5 "agents": {
6 "defaults": {
7 "model": {
8 "primary": "tram/~anthropic/claude-sonnet-latest"
9 },
10 "models": {
11 "tram/~anthropic/claude-sonnet-latest": {}
12 }
13 }
14 }
15}

Hoặc có thể thiết lập nó như một biến môi trường trong shell profile của mình:

lines
$export TRAM_AI_API_KEY="tram_sk-..."

Chỉ cần như vậy là đủ. OpenClaw đã hỗ trợ sẵn Trạm AI. Người dùng không cần cấu hình models.providers - chỉ cần thiết lập API key và tham chiếu model theo định dạng tram/<author>/<slug>.

Bước 3: Chọn Model

Cập nhật model primary và thêm nó vào danh sách models. Dưới đây là vài lựa chọn phổ biến:

Anthropic Claude:

lines
1"model": {
2 "primary": "tram/~anthropic/claude-sonnet-latest"
3},
4"models": {
5 "tram/~anthropic/claude-sonnet-latest": {}
6}

Google Gemini:

lines
1"model": {
2 "primary": "tram/~google/gemini-pro-latest"
3},
4"models": {
5 "tram/~google/gemini-pro-latest": {}
6}

DeepSeek:

lines
1"model": {
2 "primary": "tram/deepseek/deepseek-chat"
3},
4"models": {
5 "tram/deepseek/deepseek-chat": {}
6}

Moonshot Kimi:

lines
1"model": {
2 "primary": "tram/~moonshotai/kimi-latest"
3},
4"models": {
5 "tram/~moonshotai/kimi-latest": {}
6}

Người dùng có thể duyệt toàn bộ model khả dụng tại tram.ai/models.

Bước 4: Khởi động OpenClaw

Sau khi cập nhật cấu hình, hãy khởi động hoặc khởi động lại OpenClaw:

lines
$openclaw gateway run

Các agent giờ đây sẽ dùng Trạm AI để route request đến model đã chọn.

Định dạng Model

OpenClaw dùng định dạng tram/<author>/<slug> cho model của Trạm AI (thêm tiền tố ~ trước tên author để luôn dùng phiên bản mới nhất trong một họ model). Ví dụ:

  • tram/~anthropic/claude-sonnet-latest
  • tram/~google/gemini-pro-latest
  • tram/~moonshotai/kimi-latest
  • tram/auto (Auto router chọn model tiết kiệm chi phí nhất cho prompt của người dùng)

Người dùng có thể tìm định dạng chính xác cho từng model trên trang model của Trạm AI.

Nhiều Model với Fallback

OpenClaw hỗ trợ fallback giữa các model. Nếu model primary không khả dụng, OpenClaw sẽ lần lượt thử các model fallback theo thứ tự:

lines
1{
2 "agents": {
3 "defaults": {
4 "model": {
5 "primary": "tram/~anthropic/claude-sonnet-latest",
6 "fallbacks": [
7 "tram/~anthropic/claude-haiku-latest"
8 ]
9 },
10 "models": {
11 "tram/~anthropic/claude-sonnet-latest": {},
12 "tram/~anthropic/claude-haiku-latest": {}
13 }
14 }
15 }
16}

Cơ chế này bổ sung thêm một lớp độ tin cậy bên cạnh cơ chế failover ở cấp provider của Trạm AI.

Sử dụng Auto Model để tối ưu chi phí

Các agent của OpenClaw đảm nhận nhiều loại tác vụ khác nhau, từ xử lý heartbeat đơn giản đến những tác vụ suy luận phức tạp. Dùng một model mạnh cho mọi tác vụ sẽ lãng phí tiền vào những việc vốn không cần đến năng lực nâng cao.

Trạm AI Auto Model (tram/auto) tự động chọn model tiết kiệm chi phí nhất dựa trên prompt của người dùng. Đây là lựa chọn lý tưởng cho OpenClaw vì nó route những tác vụ đơn giản như heartbeat và kiểm tra trạng thái đến các model rẻ hơn, đồng thời chỉ dùng model mạnh hơn khi thật sự cần cho những tương tác phức tạp.

Để cấu hình Auto Model làm model primary:

lines
1{
2 "agents": {
3 "defaults": {
4 "model": {
5 "primary": "tram/auto"
6 },
7 "models": {
8 "tram/auto": {}
9 }
10 }
11 }
12}

Người dùng cũng có thể kết hợp Auto Model với fallback để đạt độ tin cậy tối đa:

lines
1{
2 "agents": {
3 "defaults": {
4 "model": {
5 "primary": "tram/auto",
6 "fallbacks": [
7 "tram/~anthropic/claude-haiku-latest"
8 ]
9 },
10 "models": {
11 "tram/auto": {},
12 "tram/~anthropic/claude-haiku-latest": {}
13 }
14 }
15 }
16}

Tìm hiểu thêm về cách Auto Model hoạt động tại tram.ai/models/tram/auto.

Sử dụng Auth Profile

Để quản lý thông tin xác thực an toàn hơn, người dùng có thể dùng auth profile của OpenClaw thay vì biến môi trường. Cách này sẽ được cấu hình tự động khi sử dụng câu lệnh openclaw onboard.

Để tạo auth profile thủ công, hãy thêm đoạn sau vào openclaw.json:

lines
1{
2 "auth": {
3 "profiles": {
4 "tramai:default": {
5 "provider": "Tram AI",
6 "mode": "api_key"
7 }
8 }
9 }
10}

Sau đó dùng OpenClaw CLI để lưu key vào keychain hệ thống:

lines
$openclaw auth set tramai:default --key "$TRAM_AI_API_KEY"

Cách này giúp API key không nằm trong file cấu hình mà được lưu an toàn trong keychain hệ thống.

Theo dõi mức sử dụng

Theo dõi mức sử dụng OpenClaw theo thời gian thực:

  1. Truy cập Trạm AI Activity Dashboard
  2. Xem request, chi phí và mức sử dụng token trên toàn bộ agent OpenClaw
  3. Lọc theo model, khoảng thời gian hoặc các tiêu chí khác
  4. Xuất dữ liệu sử dụng để phục vụ việc thanh toán hoặc phân tích

Các lỗi thường gặp

”No API key found for provider ‘Tram AI’”

OpenClaw không tìm thấy Trạm AI API key.

Cách khắc phục:

  1. Đảm bảo biến môi trường TRAM_AI_API_KEY đã được thiết lập: echo $TRAM_AI_API_KEY
  2. Hoặc kiểm tra auth profile có tồn tại không: openclaw auth list
  3. Chạy câu lệnh onboard: openclaw onboard --auth-choice apiKey --token-provider tram --token "$TRAM_AI_API_KEY"

Lỗi xác thực (401/403)

Nếu gặp lỗi xác thực:

Cách khắc phục:

  1. Xác minh API key còn hợp lệ tại tram.ai/keys
  2. Kiểm tra xem tài khoản có đủ credit không
  3. Đảm bảo key chưa hết hạn hoặc bị thu hồi

Model không hoạt động

Nếu một model cụ thể không hoạt động:

Cách khắc phục:

  1. Xác minh model ID chính xác trên trang model của Trạm AI
  2. Dùng định dạng tram/<author>/<slug>, tùy chọn thêm tiền tố ~ trước tên author để dùng phiên bản mới nhất trong một họ model (ví dụ: tram/~anthropic/claude-sonnet-latest)
  3. Thêm model vào agents.defaults.models trong file cấu hình.

Cấu hình nâng cao

Model theo từng kênh

Cấu hình model riêng cho từng kênh nhắn tin khác nhau:

lines
1{
2 "telegram": {
3 "agents": {
4 "defaults": {
5 "model": {
6 "primary": "tram/~anthropic/claude-haiku-latest"
7 }
8 }
9 }
10 },
11 "discord": {
12 "agents": {
13 "defaults": {
14 "model": {
15 "primary": "tram/~anthropic/claude-sonnet-latest"
16 }
17 }
18 }
19 }
20}

Tài nguyên