Trang này là tài liệu tham khảo về xác thực nhà cung cấp mô hình (khóa API, OAuth, tái sử dụng Claude CLI và setup-token Anthropic). Đối với xác thực kết nối gateway (token, mật khẩu, trusted-proxy), xem Cấu hình và Xác thực Trusted Proxy.
env/file/exec), xem Quản lý bí mật.
Đối với các quy tắc về điều kiện hợp lệ của thông tin xác thực/mã lý do được models status --probe sử dụng, xem
Ngữ nghĩa thông tin xác thực xác thực.
Thiết lập được khuyến nghị (khóa API, bất kỳ nhà cung cấp nào)
Nếu bạn đang chạy một gateway tồn tại lâu dài, hãy bắt đầu bằng khóa API cho nhà cung cấp bạn chọn. Riêng với Anthropic, xác thực bằng khóa API vẫn là thiết lập máy chủ dễ dự đoán nhất, nhưng OpenClaw cũng hỗ trợ tái sử dụng phiên đăng nhập Claude CLI cục bộ.- Tạo khóa API trong bảng điều khiển nhà cung cấp của bạn.
- Đặt khóa đó trên máy chủ gateway (máy đang chạy
openclaw gateway).
- Nếu Gateway chạy dưới systemd/launchd, nên đặt khóa trong
~/.openclaw/.envđể daemon có thể đọc:
openclaw onboard.
Xem Trợ giúp để biết chi tiết về kế thừa môi trường (env.shellEnv,
~/.openclaw/.env, systemd/launchd).
Anthropic: Claude CLI và tính tương thích của token
Xác thực setup-token của Anthropic vẫn có trong OpenClaw như một đường dẫn token được hỗ trợ. Nhân viên Anthropic kể từ đó đã cho chúng tôi biết rằng việc sử dụng Claude CLI theo kiểu OpenClaw lại được cho phép, nên OpenClaw xem việc tái sử dụng Claude CLI và sử dụngclaude -p là
được chấp thuận cho tích hợp này trừ khi Anthropic công bố chính sách mới. Khi
có thể tái sử dụng Claude CLI trên máy chủ, đó hiện là đường dẫn được ưu tiên.
Đối với các máy chủ gateway tồn tại lâu dài, khóa API Anthropic vẫn là thiết lập
dễ dự đoán nhất. Nếu bạn muốn tái sử dụng phiên đăng nhập Claude hiện có trên cùng máy chủ, hãy dùng
đường dẫn Anthropic Claude CLI trong onboarding/configure.
Thiết lập máy chủ được khuyến nghị để tái sử dụng Claude CLI:
- Đăng nhập chính Claude Code vào Anthropic trên máy chủ gateway.
- Cho OpenClaw biết để chuyển lựa chọn mô hình Anthropic sang backend
claude-clicục bộ và lưu hồ sơ xác thực OpenClaw tương ứng.
claude không có trong PATH, hãy cài Claude Code trước hoặc đặt
agents.defaults.cliBackends.claude-cli.command thành đường dẫn nhị phân thực.
Nhập token thủ công (bất kỳ nhà cung cấp nào; ghi kho xác thực SQLite theo tác nhân + cập nhật cấu hình):
auth-profiles.json cũ đã dùng dạng chuẩn này:
openclaw-agent.sqlite của từng tác nhân. Nếu một bản cài đặt cũ vẫn còn auth-profiles.json, auth-state.json, hoặc tệp hồ sơ xác thực phẳng như { "openrouter": { "apiKey": "..." } }, hãy chạy openclaw doctor --fix để nhập nó vào SQLite; doctor giữ các bản sao lưu có dấu thời gian cạnh các tệp JSON gốc. Các chi tiết endpoint như baseUrl, api, mã định danh mô hình, tiêu đề và timeout thuộc về models.providers.<id> trong openclaw.json hoặc models.json, không nằm trong hồ sơ xác thực.
Các tuyến xác thực bên ngoài như Bedrock auth: "aws-sdk" cũng không phải là thông tin xác thực. Nếu bạn muốn một tuyến Bedrock có tên, hãy đặt auth.profiles.<id>.mode: "aws-sdk" trong openclaw.json; đừng ghi type: "aws-sdk" vào kho hồ sơ xác thực. openclaw doctor --fix di chuyển các dấu hiệu AWS SDK cũ từ kho thông tin xác thực sang metadata cấu hình.
Tham chiếu hồ sơ xác thực cũng được hỗ trợ cho thông tin xác thực tĩnh:
- Thông tin xác thực
api_keycó thể dùngkeyRef: { source, provider, id } - Thông tin xác thực
tokencó thể dùngtokenRef: { source, provider, id } - Hồ sơ chế độ OAuth không hỗ trợ thông tin xác thực SecretRef; nếu
auth.profiles.<id>.modeđược đặt thành"oauth", dữ liệu đầu vàokeyRef/tokenRefdựa trên SecretRef cho hồ sơ đó sẽ bị từ chối.
1 khi hết hạn/thiếu, 2 khi sắp hết hạn):
- Các hàng thăm dò có thể đến từ hồ sơ xác thực, thông tin xác thực trong môi trường, hoặc
models.json. - Nếu
auth.order.<provider>tường minh bỏ qua một hồ sơ đã lưu, thăm dò báo cáoexcluded_by_auth_ordercho hồ sơ đó thay vì thử nó. - Nếu xác thực tồn tại nhưng OpenClaw không thể phân giải một ứng viên mô hình có thể thăm dò cho
nhà cung cấp đó, thăm dò báo cáo
status: no_model. - Thời gian chờ do giới hạn tốc độ có thể theo phạm vi mô hình. Một hồ sơ đang chờ hạ nhiệt cho một mô hình vẫn có thể dùng được cho mô hình anh em trên cùng nhà cung cấp.
Ghi chú về Anthropic
Backendclaude-cli của Anthropic đã được hỗ trợ trở lại.
- Nhân viên Anthropic cho chúng tôi biết đường dẫn tích hợp OpenClaw này lại được cho phép.
- Do đó OpenClaw xem việc tái sử dụng Claude CLI và sử dụng
claude -plà được chấp thuận cho các lần chạy dùng Anthropic làm backend, trừ khi Anthropic công bố chính sách mới. - Khóa API Anthropic vẫn là lựa chọn dễ dự đoán nhất cho các máy chủ gateway tồn tại lâu dài và kiểm soát lập hóa đơn phía máy chủ một cách tường minh.
Kiểm tra trạng thái xác thực mô hình
Hành vi xoay vòng khóa API (gateway)
Một số nhà cung cấp hỗ trợ thử lại yêu cầu bằng khóa thay thế khi một lệnh gọi API gặp giới hạn tốc độ của nhà cung cấp.- Thứ tự ưu tiên:
OPENCLAW_LIVE_<PROVIDER>_KEY(ghi đè đơn)<PROVIDER>_API_KEYS<PROVIDER>_API_KEY<PROVIDER>_API_KEY_*
- Các nhà cung cấp Google cũng bao gồm
GOOGLE_API_KEYnhư một phương án dự phòng bổ sung. - Cùng một danh sách khóa được khử trùng lặp trước khi sử dụng.
- OpenClaw chỉ thử lại với khóa tiếp theo đối với lỗi giới hạn tốc độ (ví dụ
429,rate_limit,quota,resource exhausted,Too many concurrent requests,ThrottlingException,concurrency limit reached, hoặcworkers_ai ... quota limit exceeded). - Các lỗi không phải giới hạn tốc độ không được thử lại bằng khóa thay thế.
- Nếu tất cả khóa đều thất bại, lỗi cuối cùng từ lần thử cuối được trả về.
Gỡ bỏ xác thực nhà cung cấp khi gateway đang chạy
Khi xác thực nhà cung cấp bị gỡ bỏ qua mặt phẳng điều khiển Gateway, OpenClaw xóa các hồ sơ xác thực đã lưu cho nhà cung cấp đó và hủy các cuộc trò chuyện hoặc lần chạy tác nhân đang hoạt động có nhà cung cấp mô hình đã chọn khớp với nhà cung cấp bị gỡ bỏ. Các lần chạy bị hủy phát ra sự kiện hủy trò chuyện và vòng đời bình thường vớistopReason: "auth-revoked", để các client đã kết nối có thể hiển thị rằng lần chạy đã
dừng vì thông tin xác thực đã bị gỡ bỏ.
Gỡ bỏ xác thực đã lưu không thu hồi khóa ở phía nhà cung cấp. Hãy xoay vòng hoặc thu hồi
khóa trong bảng điều khiển nhà cung cấp khi bạn cần vô hiệu hóa ở phía nhà cung cấp.
Kiểm soát thông tin xác thực nào được sử dụng
OpenAI và các mã định danh openai-codex cũ
Hồ sơ khóa API OpenAI và hồ sơ OAuth ChatGPT/Codex đều dùng mã định danh
nhà cung cấp chuẩn openai. Cấu hình mới nên dùng mã định danh hồ sơ openai:* và
auth.order.openai.
Nếu bạn thấy openai-codex trong cấu hình cũ, mã định danh hồ sơ xác thực, hoặc
auth.order.openai-codex, hãy xem nó là dữ liệu đầu vào di trú cũ. Đừng tạo hồ sơ
openai-codex mới. Chạy:
openai-codex:* cũ và các mục
auth.order.openai-codex thành tuyến xác thực openai chuẩn. Đối với
định tuyến mô hình/runtime riêng cho OpenAI, xem OpenAI.
Trong khi đăng nhập (CLI)
Dùngopenclaw models auth login --provider <id> --profile-id <profileId> cho
các nhà cung cấp hỗ trợ hồ sơ xác thực có tên trong khi đăng nhập.
--force khi hồ sơ nhà cung cấp đã lưu bị kẹt, hết hạn, hoặc gắn với
sai tài khoản và lệnh đăng nhập thông thường cứ tái sử dụng nó. --force xóa
các hồ sơ xác thực đã lưu cho nhà cung cấp đó trong thư mục tác nhân đã chọn, rồi
chạy lại cùng luồng xác thực nhà cung cấp. Nó không thu hồi thông tin xác thực ở phía
nhà cung cấp; hãy xoay vòng hoặc thu hồi chúng trong bảng điều khiển nhà cung cấp khi bạn cần
vô hiệu hóa ở phía nhà cung cấp.
Theo phiên (lệnh trò chuyện)
Dùng/model <alias-or-id>@<profileId> để ghim một thông tin xác thực nhà cung cấp cụ thể cho phiên hiện tại (ví dụ mã định danh hồ sơ: anthropic:default, anthropic:work).
Dùng /model (hoặc /model list) để có bộ chọn gọn; dùng /model status để xem đầy đủ (ứng viên + hồ sơ xác thực tiếp theo, cùng chi tiết endpoint nhà cung cấp khi được cấu hình).
Theo tác nhân (ghi đè CLI)
Đặt ghi đè thứ tự hồ sơ xác thực tường minh cho một tác nhân (được lưu trong trạng thái xác thực SQLite của tác nhân đó):--agent <id> để nhắm tới một tác nhân cụ thể; bỏ qua để dùng tác nhân mặc định đã cấu hình.
Khi bạn gỡ lỗi vấn đề về thứ tự, openclaw models status --probe hiển thị các hồ sơ đã lưu bị bỏ qua
dưới dạng excluded_by_auth_order thay vì âm thầm bỏ qua chúng.
Khi bạn gỡ lỗi vấn đề thời gian chờ do giới hạn tốc độ, hãy nhớ rằng thời gian chờ có thể gắn
với một mã định danh mô hình thay vì toàn bộ hồ sơ nhà cung cấp.
Nếu bạn thay đổi thứ tự xác thực hoặc ghim hồ sơ cho một cuộc trò chuyện đang chạy,
hãy gửi /new hoặc /reset trong cuộc trò chuyện đó để bắt đầu một phiên mới. Các phiên hiện có
có thể giữ lựa chọn mô hình/hồ sơ hiện tại cho đến khi đặt lại.
Khắc phục sự cố
”Không tìm thấy thông tin xác thực”
Nếu thiếu hồ sơ Anthropic, hãy cấu hình khóa API Anthropic trên máy chủ gateway hoặc thiết lập đường dẫn setup-token Anthropic, rồi kiểm tra lại:Token sắp hết hạn/đã hết hạn
Chạyopenclaw models status để xác nhận hồ sơ nào đang sắp hết hạn. Nếu một
hồ sơ token Anthropic bị thiếu hoặc đã hết hạn, hãy làm mới thiết lập đó qua
setup-token hoặc di trú sang khóa API Anthropic.