0

Claude Code 404 trên multi-protocol gateway: host root vs /v1

Disclosure: Tôi liên quan tới DaoXE. DaoXE là API gateway đa mô hình, đa giao thức (OpenAI Chat Completions / Responses, Anthropic Messages / Claude protocol, image nếu catalog có). Không khả dụng tại mainland China. Đây là bài debug cho vùng được điều khoản dịch vụ cho phép — không phải hướng dẫn vượt quy định nhà cung cấp hay chính phủ.

Nếu bạn gắn Claude Code vào third-party gateway và request đầu tiên đã 404, đừng vội đổ lỗi model hay balance. Hãy kiểm tra hình dạng base URL trước.

Cơ chế lỗi

Claude Code nói Anthropic Messagestự ghép path (khoảng /v1/messages) vào ANTHROPIC_BASE_URL.

Cấu hình Kết quả thực tế
ANTHROPIC_BASE_URL=https://daoxe.com/v1 Client gọi https://daoxe.com/v1/v1/messages404
ANTHROPIC_BASE_URL=https://daoxe.com Client gọi https://daoxe.com/v1/messages → đúng

Đây là “gateway hỏng” giả nhiều nhất. Gateway vẫn ổn; path bị double /v1.

Cấu hình đúng (ví dụ DaoXE)

# ĐÚNG: host root — KHÔNG có /v1
export ANTHROPIC_BASE_URL="https://daoxe.com"
export ANTHROPIC_AUTH_TOKEN="your_daoxe_api_key"

# tùy chọn: model ID đúng theo catalog tài khoản hiện tại
# export ANTHROPIC_MODEL="YOUR_EXACT_MODEL_ID"

claude
# SAI: dán .../v1 như OpenAI Compatible
# export ANTHROPIC_BASE_URL="https://daoxe.com/v1"
# → Claude Code ghép thành /v1/v1/messages → 404

Smoke bằng curl trước khi mở CLI

Lấy đúng model ID từ tài khoản (GET /v1/models). Giữ max_tokens rất nhỏ — request có thể bị tính phí.

export DAOXE_API_KEY="your_key"
export DAOXE_MODEL="exact_id_from_account"

# 1) Key + catalog
curl --fail-with-body -sS \
  -H "Authorization: Bearer $DAOXE_API_KEY" \
  https://daoxe.com/v1/models

# 2) Anthropic Messages smoke (max_tokens=8)
curl --fail-with-body -sS \
  -H "x-api-key: $DAOXE_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d "{\"model\":\"$DAOXE_MODEL\",\"max_tokens\":8,\"messages\":[{\"role\":\"user\",\"content\":\"Reply with OK\"}]}" \
  https://daoxe.com/v1/messages

Pass / fail nhanh:

  • 200 + payload ngắn → protocol ổn → mới mở claude
  • 401 → key / header sai — sửa ở đây, đừng đụng model
  • 404 / HTML → path hoặc base URL sai
  • model-not-found → ID không nằm trong catalog của bạn — lấy lại từ bước 1

Nếu curl Messages OK mà Claude Code vẫn 404: gần như chắc là base URL shape (thừa /v1), không phải hết tiền.

Claude Code ≠ Cline / Continue

Cùng một multi-protocol gateway, hai hình base URL:

Client Protocol Base
Cline / Continue / OpenAI SDK Chat Completions https://daoxe.com/v1
Claude Code / Anthropic SDK Anthropic Messages https://daoxe.com (host root)

Copy base OpenAI Compatible sang Claude Code là nguồn 404 kinh điển. Đó là đặc điểm multi-protocol — không phải bug gateway.

Checklist debug (VN / thẻ hay fail)

Ở Việt Nam, ma sát thẻ quốc tế / billing hay che mờ lỗi path. Debug theo thứ tự:

  1. Key sống: GET https://daoxe.com/v1/models
  2. Smoke Messages curl (max_tokens=8) như trên
  3. ANTHROPIC_BASE_URL = host root, cùng shell với claude
  4. Token: thử export cả ANTHROPIC_AUTH_TOKENANTHROPIC_API_KEY cùng giá trị (tùy bản CLI)
  5. Chỉ sau đó mới soi model quality / latency / IDE

Đừng debug prompt hay model khi path vẫn sai.

Ma trận client & docs sống

Bài liên quan

Lưu ý

  • DaoXE không có mặt tại mainland China.
  • Model list theo tài khoản, đừng hardcode từ blog.
  • Bài này nói về debug path / config client, không phải “bypass ban” hay vượt quy định.

English one-liner

Claude Code 404 on multi-protocol gateways is usually ANTHROPIC_BASE_URL=.../v1/v1/v1/messages. Use host root https://daoxe.com, smoke Messages with max_tokens=8 first. Author affiliated with DaoXE; not available in mainland China; not a bypass guide.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí