Kết nối Ailoot với các công cụ yêu thích — Kết nối API và cấu hình ứng dụng khách
Các tác nhân, trình soạn thảo, ứng dụng trò chuyện và SDK chấp nhận khóa Ailoot. Nút “Cấu hình” cho biết nơi nhập địa chỉ và khóa, cùng cấu hình có sẵn để sao chép.
Loại · Định dạng API
Tất cả tích hợp
Thống kê
85ứng dụng
77sẵn sàng
8đang kiểm tra
Tác nhân trong terminal
Tác nhân lập trình và CLI: viết mã, chạy lệnh, chỉnh sửa tệp.
Biến môi trường hoặc khối "env" trong ~/.claude/settings.json (cho một dự án riêng — .claude/settings.local.json); tiện ích VS Code — claudeCode.environmentVariables; kiểm tra — lệnh /status
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
export AILOOT_API_KEY="sk-..."
export ANTHROPIC_AUTH_TOKEN="$AILOOT_API_KEY"
claude
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Địa chỉ không có /v1: Claude Code tự thêm /v1/messages. ANTHROPIC_AUTH_TOKEN được gửi dưới dạng Authorization: Bearer, ANTHROPIC_API_KEY dưới dạng x-api-key; Ailoot chấp nhận cả hai. CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 nạp mô hình của chúng tôi vào /model qua /v1/models. Với lỗi 400 về trường không xác định, dùng CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1. Tài liệu Anthropic không hỗ trợ dùng Claude Code với mô hình ngoài Claude qua cổng API, dù /v1/messages của chúng tôi phục vụ các mô hình đó; chúng tôi khuyến nghị dùng mô hình Claude. Remote Control và nhập liệu bằng giọng nói không khả dụng khi dùng cổng API.
~/.codex/config.toml (chỉ tệp cấu hình của người dùng: các khóa model_provider/model_providers trong .codex/config.toml của dự án bị bỏ qua); khóa được lấy từ biến đặt trong env_key
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/responses rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
~/.codex/config.toml
model = "gpt-6.1-sol"
model_provider = "ailoot"
[model_providers.ailoot]
name = "Ailoot"
base_url = "https://api.ailoot.ai/v1"
env_key = "AILOOT_API_KEY"
wire_api = "responses"
export AILOOT_API_KEY="sk-..."
codex
Mô hình ví dụ: gpt-6.1-sol
Quan trọng
Codex chỉ hoạt động qua OpenAI Responses API (tài liệu chỉ nêu wire_api = "responses"), vì vậy cần /v1/responses của chúng tôi. Các ID nhà cung cấp openai, ollama, lmstudio được dành riêng. Cách khác là openai_base_url = "https://api.ailoot.ai/v1" cho nhà cung cấp openai có sẵn. Ailoot trả cho Codex danh sách mô hình theo định dạng manifest của Codex (GET /v1/models với client_version). Hãy chọn mô hình cụ thể có định dạng OpenAI Responses trong danh mục. Trong bản chụp ngày 2026-09-30, gemini-3.6-flash có OpenAI Chat, Anthropic Messages và Gemini nhưng không có Responses, nên mô hình này không phù hợp với Codex. Kiểm tra tập định dạng trên thẻ mô hình, không dựa vào tên họ mô hình.
hermes model → “Custom endpoint (self-hosted / VLLM / etc.)” hoặc ~/.hermes/config.yaml (mục model hoặc từ điển providers)
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
~/.hermes/config.yaml
model:
default: claude-sonnet-5-5
provider: custom
base_url: https://api.ailoot.ai/v1
key_env: AILOOT_API_KEY
# nhiều định dạng cùng lúc — các nhà cung cấp có tên riêng:
providers:
ailoot:
api: https://api.ailoot.ai/v1
key_env: AILOOT_API_KEY
transport: chat_completions
default_model: gpt-6.1-sol
ailoot-claude:
api: https://api.ailoot.ai
key_env: AILOOT_API_KEY
transport: anthropic_messages
default_model: claude-sonnet-5-5
# trong phiên: /model custom:claude-sonnet-5-5
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
transport: chat_completions (OpenAI Chat), anthropic_messages (Anthropic Messages) hoặc codex_responses (OpenAI Responses). LLM_MODEL trong .env không còn được dùng; OPENAI_BASE_URL chỉ áp dụng cho nhà cung cấp openai-api. Với anthropic_messages, đặt địa chỉ không có /v1 — Anthropic SDK sẽ tự thêm /v1/messages. Theo mặc định, các tác vụ phụ (nhận diện hình ảnh, nén lịch sử) dùng cùng mô hình chính.
Cấu hình OpenClaw (~/.openclaw/openclaw.json) → models.providers.<id>; mô hình mặc định — agents.defaults.model.primary; chỉnh sửa an toàn — openclaw config set models.providers.<id> '<json>' --strict-json --merge
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses, POST /v1/messages, POST /v1beta/models/{model}:generateContent rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Các bộ chuyển đổi api: openai-completions (mặc định khi đặt baseUrl), openai-responses (chỉ khi máy chủ hỗ trợ /v1/responses — Ailoot có hỗ trợ), anthropic-messages, google-generative-ai và các loại khác. Với anthropic-messages, các ví dụ OpenClaw đặt baseUrl không có /v1. OpenClaw có thể truyền hình ảnh khi input của mô hình chứa "image". Các ví dụ Claude chỉ giữ văn bản: trong bản chụp danh mục ngày 2026-09-30, những phương thức này không khai báo đầu vào image. Chỉ thêm "image" cho mô hình cụ thể có thẻ trong danh mục hiện tại khai báo đầu vào hình ảnh và định dạng API đã chọn. Ví dụ, gemini-3.6-flash trong bản chụp này khai báo đầu vào image cho OpenAI Chat; hỗ trợ thực tế phụ thuộc vào thẻ mô hình và định dạng. Đường dẫn tệp cấu hình chính được lấy từ thông lệ OpenClaw; trang đã đọc cũng nhắc đến ~/.openclaw/agents/<agentId>/agent/models.json.
opencode.json (trong dự án hoặc ~/.config/opencode/opencode.json) → provider.<id>; khóa — qua /connect hoặc "apiKey": "{env:VAR}"
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Gói @ai-sdk/openai-compatible gọi /v1/chat/completions. Với mô hình cần /v1/responses, tài liệu opencode chỉ định gói @ai-sdk/openai. Tài liệu opencode không mô tả nhà cung cấp tương thích Anthropic có baseURL tùy chỉnh. Hãy chọn mô hình mà danh mục hiện tại khai báo định dạng OpenAI Chat. Trong bản chụp ngày 2026-09-30, gemini-3.6-flash có định dạng này; các mô hình Gemini khác cần kiểm tra trên thẻ tương ứng. Cách này không dùng định dạng Gemini gốc. Có phương thức trong danh mục không có nghĩa đã chạy thử thực tế phiên bản máy khách cụ thể.
Các biến OPENAI_API_KEY / OPENAI_BASE_URL / OPENAI_MODEL, lệnh /auth trong phiên hoặc ~/.qwen/settings.json (modelProviders + security.auth.selectedType)
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages, POST /v1beta/models/{model}:generateContent rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: qwen3.8-max
Quan trọng
Các loại giao thức: openai (Chat Completions), anthropic, gemini, vertex-ai. Với openai, baseUrl có /v1. Ví dụ trong tài liệu cho anthropic và gemini không có baseUrl, vì vậy chúng tôi khuyến nghị dùng phương án openai. Với loại openai, chọn mô hình có định dạng OpenAI Chat trong danh mục: gemini-3.6-flash có định dạng này. Tập định dạng của các mô hình Gemini khác có thể khác — hãy kiểm tra thẻ mô hình cụ thể. Cách dùng settings.json đọc khóa từ biến AILOOT_API_KEY (trường envKey): đặt biến bằng lệnh export AILOOT_API_KEY=sk-... hoặc dòng AILOOT_API_KEY=sk-... trong ~/.qwen/.env, nếu không Qwen Code sẽ bắt đầu với khóa rỗng và nhận lỗi 401.
Các biến môi trường GEMINI_API_KEY và GOOGLE_GEMINI_BASE_URL; phương thức đăng nhập — ~/.gemini/settings.json → security.auth.selectedType = "gemini-api-key"; mô hình — GEMINI_MODEL hoặc cờ -m
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1beta/models/{model}:generateContent rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Địa chỉ không có /v1beta: SDK tự thêm /v1beta/models/{model}:generateContent. Địa chỉ phải dùng HTTPS. Khóa được gửi trong tiêu đề x-goog-api-key và Ailoot chấp nhận tiêu đề này. Chỉ những mô hình được ghi định dạng Gemini trong danh mục mới phù hợp. Trước khi chạy, hãy kiểm tra ID chính xác và phương thức này có sẵn cho khóa của bạn. Ailoot cung cấp toàn bộ phản hồi Gemini trả phí sau khi tính chi phí, không truyền từng từ, nên văn bản của phản hồi dài sẽ không xuất hiện ngay.
~/.kimi/config.toml (các phần providers và models, default_model); /login chỉ hỗ trợ các nền tảng Moonshot — địa chỉ tùy chỉnh được đặt thủ công trong tệp
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses, POST /v1/messages, POST /v1beta/models/{model}:generateContent rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Các loại: openai_legacy (Chat Completions, base_url có /v1), openai_responses (Responses, có /v1), anthropic (không có /v1), gemini (base_url là địa chỉ gốc Google, với chúng tôi là https://api.ailoot.ai). Công cụ SearchWeb chỉ hoạt động với nền tảng riêng của Moonshot; FetchURL chuyển sang tải cục bộ khi dùng địa chỉ API khác.
crushrc (cấu hình Bash): ./.crushrc, ./crushrc hoặc ~/.config/crush/crushrc; định dạng cũ crush.json đã lỗi thời nhưng vẫn hoạt động
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
~/.config/crush/crushrc
export AILOOT_API_KEY="sk-..."
provider add ailoot --type openai-compat \
--base-url "https://api.ailoot.ai/v1" \
--api-key "$AILOOT_API_KEY"
model add ailoot/deepseek-v4-pro \
--name "DeepSeek V4 Pro (Ailoot)" \
--context-window 1000000 \
--default-max-tokens 32000
# định dạng Anthropic cho Claude: địa chỉ không có /v1
provider add ailoot-claude --type anthropic \
--base-url "https://api.ailoot.ai" \
--api-key "$AILOOT_API_KEY"
model add ailoot-claude/claude-sonnet-5-5 \
--name "Claude Sonnet 5.5 (Ailoot)" \
--context-window 1000000 \
--default-max-tokens 64000 \
--can-reason true --supports-images false
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: deepseek-v4-pro
Quan trọng
Loại openai-compat dùng định dạng OpenAI Chat, địa chỉ có /v1. Loại anthropic dùng định dạng Messages, địa chỉ không có /v1: Crush chuyển địa chỉ cho anthropic-sdk-go, và SDK tự thêm /v1/messages. Ví dụ trong README của Crush có /v1 sẽ tạo đường dẫn /v1/v1/messages và lỗi 404. Khóa được gửi trong tiêu đề x-api-key, Ailoot chấp nhận tiêu đề này. Nếu danh sách mô hình trống, nhà cung cấp openai-compat tự lấy chúng từ /v1/models. crushrc được thực thi như mã: đừng chạy Crush trong thư mục của người khác có tệp này. Trong ví dụ này, Claude có supports-images = false: bản chụp danh mục 2026-09-30 chỉ công bố đầu vào văn bản cho định dạng Messages đã chọn. Nếu phiên bản Crush của bạn hỗ trợ cờ này, chỉ bật cho mô hình mà thẻ danh mục hiện tại công bố đầu vào image ở định dạng API đã chọn; bản thân cờ của ứng dụng khách không bổ sung khả năng hỗ trợ hình ảnh cho mô hình.
Các biến OPENAI_API_BASE và OPENAI_API_KEY, cờ --model openai/<mô hình>
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Tiền tố openai/ là bắt buộc: nhờ đó Aider (qua LiteLLM) gửi yêu cầu đến /v1/chat/completions tương thích OpenAI. Với mô hình mà Aider chưa biết, ứng dụng sẽ cảnh báo về kích thước ngữ cảnh chưa xác định — đây không phải lỗi. Trang tài liệu này không mô tả cách dùng địa chỉ Anthropic với base URL riêng.
goose configure → Custom Providers → Add A Custom Provider, hoặc JSON trong ~/.config/goose/custom_providers/ (Windows: %APPDATA%\Block\goose\config\custom_providers\); cách khác — nhà cung cấp OpenAI tích hợp với OPENAI_HOST/OPENAI_BASE_PATH
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
export AILOOT_API_KEY="sk-..."
goose session start --provider ailoot
# cách dùng nhà cung cấp OpenAI tích hợp sẵn:
export GOOSE_PROVIDER=openai
export OPENAI_HOST=https://api.ailoot.ai
export OPENAI_BASE_PATH=v1/chat/completions
export OPENAI_API_KEY="$AILOOT_API_KEY"
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Các engine của nhà cung cấp riêng: openai, anthropic, ollama. Trong ví dụ Goose, base_url cho engine openai được đặt là đường dẫn đầy đủ đến /v1/chat/completions. Với nhà cung cấp tích hợp, OPENAI_HOST là địa chỉ gốc không có đường dẫn, OPENAI_BASE_PATH là đường dẫn (mặc định v1/chat/completions). Goose bỏ qua khóa trong config.yaml — chỉ dùng biến môi trường hoặc kho khóa hệ thống. Kho mã đã chuyển sang aaif-goose/goose.
~/.factory/settings.json → mảng customModels; chọn mô hình bằng lệnh /model, mục “Custom models”
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
provider: anthropic = Messages API (baseUrl như của Anthropic, không có /v1), openai = Responses API (có /v1), generic-chat-completion-api = Chat Completions (có /v1). Với anthropic, theo mặc định khóa được gửi trong x-api-key (Ailoot chấp nhận); "authMode": "bearer" chuyển sang Authorization. Các khóa được lưu cục bộ. Factory chỉ kiểm thử đầy đủ API chính thức của Anthropic và OpenAI.
Cài đặt → Model Routing → Add → Custom URL (hoặc Model Routing của workspace cho nhóm); qua dòng lệnh — amp config model-providers (list, test, set-priority, edit-router…)
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses, POST /v1/messages, POST /v1beta/models/{model}:generateContent rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Model Routing → Add → Custom URL
Format: anthropic-messages
Base URL: https://api.ailoot.ai
API key: sk-...
Model mapping:
anthropic/claude-fable-5 -> anthropic/claude-fable-5
Kết nối thứ hai cho GPT:
Format: responses
Base URL: https://api.ailoot.ai/v1
API key: sk-...
Model mapping:
openai/gpt-5.6-sol -> gpt-5.6-sol
Kiểm tra: amp config model-providers check-access --provider-model anthropic/claude-fable-5
Mô hình ví dụ: claude-fable-5
Quan trọng
Các định dạng Custom URL: chat-completions (<base>/chat/completions), responses (<base>/responses), anthropic-messages (<base>/v1/messages, không lặp /v1), google-genai (<base>/models/<model>:streamGenerateContent). Khóa được gửi dưới dạng Authorization: Bearer. Ánh xạ dùng ID chuẩn của Amp dạng provider/model; mũi tên xác định ID được gửi cho chúng tôi. Những mô hình ngoài phạm vi kết nối sẽ do Amp tự phục vụ bằng tín dụng của Amp. Tài liệu yêu cầu máy chủ riêng phải truy cập được từ Amp — địa chỉ này là công khai nên đáp ứng điều kiện đó.
config.yaml của AIChat → clients (các loại openai-compatible, claude, gemini); mô hình — -m <client>:<model>
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages, POST /v1beta/models/{model}:generateContent rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Trong cấu hình ví dụ của AIChat, api_base cho claude có /v1, còn cho gemini có /v1beta; dùng Ailoot cũng vậy. Ba ứng dụng khách cung cấp cả ba định dạng của Ailoot: OpenAI, Anthropic và Gemini.
Cấu hình YAML của Continue (config.yaml), được truyền cho CLI bằng cờ --config <path>
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Với dịch vụ tương thích OpenAI, Continue dùng provider: openai và apiBase có /v1. Tiện ích và CLI dùng chung định dạng cấu hình; tệp được truyền bằng cờ --config.
forge provider login → OpenAI-compatible (cách được khuyến nghị); cách cũ — .env với OPENAI_URL và OPENAI_API_KEY cùng model trong forge.yaml
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Cấu hình qua .env được đánh dấu là lỗi thời: ở lần chạy đầu tiên, Forge chuyển các biến sang kho lưu trữ tệp riêng. README không nêu nhãn chính xác của các bước trong trình hướng dẫn provider login.
Các biến môi trường COPILOT_PROVIDER_BASE_URL, COPILOT_PROVIDER_TYPE, COPILOT_PROVIDER_API_KEY, COPILOT_MODEL (hoặc cờ --model)
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
export AILOOT_API_KEY="sk-..."
unset COPILOT_PROVIDER_TYPE
# chế độ tương thích với OpenAI
export COPILOT_PROVIDER_BASE_URL=https://api.ailoot.ai/v1
export COPILOT_PROVIDER_API_KEY="$AILOOT_API_KEY"
export COPILOT_MODEL=gpt-6.1-sol
copilot
# chế độ Anthropic
export COPILOT_PROVIDER_TYPE=anthropic
export COPILOT_PROVIDER_BASE_URL=https://api.ailoot.ai
export COPILOT_PROVIDER_API_KEY="$AILOOT_API_KEY"
export COPILOT_MODEL=claude-sonnet-5-5
copilot
Mô hình ví dụ: gpt-6.1-sol
Quan trọng
Các loại: openai (mặc định, máy chủ tương thích OpenAI bất kỳ), azure, anthropic. Mô hình phải hỗ trợ gọi công cụ và đầu ra dạng luồng. COPILOT_PROVIDER_WIRE_API cho phép chọn giao thức, nhưng trang này không liệt kê các giá trị. Có thể đặt giới hạn bằng COPILOT_PROVIDER_MAX_PROMPT_TOKENS / MAX_OUTPUT_TOKENS.
~/.config/gptme/config.toml → [[providers]]; mô hình được chọn theo dạng <provider>/<model>
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Máy chủ tương thích OpenAI bất kỳ; khóa được tìm lần lượt trong api_key, api_key_env rồi <NAME>_API_KEY. Xem danh sách nhà cung cấp bằng gptme-util providers list.
~/.config/kilo/kilo.jsonc (hoặc ./kilo.jsonc; cũng có KILO_CONFIG) → provider.<id>.options.baseURL; trong tiện ích mở rộng — Settings → Providers → Custom provider
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Hộp thoại Custom provider cho phép chọn giao thức: OpenAI Compatible (Chat Completions), OpenAI Responses, Anthropic Messages. {env:VAR} chỉ hoạt động trong cấu hình toàn cục đáng tin cậy (~/.config/kilo); trong kilo.json của dự án, khóa sẽ không được lấy từ biến môi trường.
Tệp extra-openai-models.yaml trong thư mục cấu hình llm; đặt khóa bằng llm keys set <tên>
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
llm keys set ailoot
llm -m ailoot-sonnet 'Xin chào'
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Mặc định là Chat Completions; responses: true chuyển mô hình sang /responses. Khi đặt api_base, khóa OpenAI không được gửi — cần api_key_name. Đây là công cụ CLI để gửi yêu cầu, không phải tác nhân.
Cấu hình YAML của tác nhân → phần model (model_name, model_kwargs); đường dẫn cấu hình mặc định được thay đổi bằng MSWEA_MINI_CONFIG_PATH
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
# đoạn cấu hình tác nhân
model:
model_name: "claude-sonnet-5-5"
model_kwargs:
custom_llm_provider: "openai"
api_base: "https://api.ailoot.ai/v1"
cost_tracking: "ignore_errors"
Hoạt động qua LiteLLM: model_kwargs được truyền thẳng đến litellm.completion. Nếu không có bảng giá, LiteLLM báo không xác định được chi phí — hãy tắt theo dõi bằng cost_tracking: "ignore_errors" (hoặc MSWEA_COST_TRACKING=ignore_errors). Truyền khóa qua OPENAI_API_KEY là chuẩn của LiteLLM, không được minh họa ngay trên trang mini-SWE-agent.
Ctrl+P → Settings (nhà cung cấp và mô hình), tệp ~/.openhands/agent_settings.json (llm.model / llm.api_key / llm.base_url) hoặc các biến LLM_MODEL, LLM_API_KEY, LLM_BASE_URL với cờ --override-with-envs
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
export AILOOT_API_KEY="sk-..."
# dùng biến môi trường cho một lần chạy:
export LLM_MODEL=openai/claude-sonnet-5-5
export LLM_API_KEY="$AILOOT_API_KEY"
export LLM_BASE_URL=https://api.ailoot.ai/v1
openhands --override-with-envs
Mô hình ví dụ: openai/claude-sonnet-5-5
Quan trọng
OpenHands hoạt động qua LiteLLM; với proxy OpenAI, tài liệu yêu cầu Custom Model dạng openai/<mô hình> và Base URL của proxy. Các thay đổi qua --override-with-envs không được lưu. Trong giao diện web: Settings → LLM → Advanced → Custom Model, Base URL, API Key.
~/.pi/agent/models.json (hoặc .pi/models.json của dự án sau khi tin cậy dự án); chọn bằng /model
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages, POST /v1beta/models/{model}:generateContent rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Tài liệu Pi cho phép rõ ràng các endpoint tương thích OpenAI, Anthropic và Google qua models.json; ví dụ dùng api: openai-completions. apiKey hiểu $NAME/${NAME}, giá trị trực tiếp hoặc !lệnh. Tệp được đọc lại khi mở /model.
plandex models custom (hoặc \models custom trong REPL) — mở tệp JSON chứa mô hình và nhà cung cấp tùy chỉnh
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Nhà cung cấp tùy chỉnh chỉ hoạt động trong Plandex tự lưu trữ; trên dịch vụ đám mây với khóa BYO, chỉ được dùng các nhà cung cấp có sẵn. Mọi nhà cung cấp custom phải tương thích OpenAI (Chat Completions). Sau đó thêm mô hình vào model pack riêng.
trae_config.yaml → model_providers.<tên>.base_url; cách khác — các biến OPENAI_BASE_URL / ANTHROPIC_BASE_URL trong .env
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Trong YAML chỉ dùng dấu cách, không dùng tab. Với định dạng Anthropic — provider: anthropic và ANTHROPIC_BASE_URL (README không nêu chính xác anthropic yêu cầu /v1 thế nào; hãy dùng https://api.ailoot.ai).
Settings → tìm “inference endpoint” → Custom inference endpoint: URL cơ sở, khóa, ID mô hình; sau đó chọn mô hình trong bộ chọn
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Settings → inference endpoint
Endpoint URL: https://api.ailoot.ai/v1
API key: sk-...
Models: claude-sonnet-5-5, gpt-6.1-sol, deepseek-v4-pro
Sau đó chọn một mô hình trong danh sách, ví dụ claude-sonnet-5-5 (không chọn Auto).
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Chỉ OpenAI Chat Completions (POST /v1/chat/completions). Yêu cầu đi qua máy chủ Warp: khóa được lưu cục bộ nhưng được chuyển đến backend của Warp trong mỗi yêu cầu. Chế độ Auto và bộ định tuyến tùy chỉnh luôn tiêu thụ tín dụng Warp; tác nhân đám mây không dùng endpoint này. Khả dụng trên Free và các gói trả phí cho cá nhân và nhóm tối đa 10 người. Hãy chọn mô hình mà danh mục hiện tại khai báo định dạng OpenAI Chat. Trong bản chụp ngày 2026-09-30, gemini-3.6-flash có định dạng này; các mô hình Gemini khác cần kiểm tra trên thẻ tương ứng. Cách này không dùng định dạng Gemini gốc. Có phương thức trong danh mục không có nghĩa đã chạy thử thực tế phiên bản máy khách cụ thể.
Bảng Cline → biểu tượng bánh răng (Settings) → API Provider = “OpenAI Compatible” → các trường Base URL, API Key, Model ID. Cách thứ hai: API Provider = “Anthropic” → chọn “Use custom base URL”.
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
OpenAI Compatible (khuyến nghị):
API Provider: OpenAI Compatible
Base URL: https://api.ailoot.ai/v1
API Key: sk-...
Model ID: claude-sonnet-5-5 (hoặc gpt-6.1-sol, deepseek-v4-pro, qwen3.8-max)
Model Configuration: Context Window và Max Output Tokens — theo mô hình; Image Support — chỉ dành cho mô hình có khả năng xử lý hình ảnh.
Anthropic (Messages):
API Provider: Anthropic
Anthropic API Key: sk-...
[x] Use custom base URL → https://api.ailoot.ai
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
OpenAI Compatible gọi /v1/chat/completions, nên địa chỉ cần có /v1. Tùy chọn Anthropic gọi /v1/messages, địa chỉ không có /v1, nhưng danh sách mô hình của tùy chọn này chỉ có tên Anthropic — các mô hình Ailoot khác dùng được qua OpenAI Compatible. Chế độ tác nhân cần mô hình hỗ trợ gọi công cụ. Các mô hình Gemini 3.1 Pro không khả dụng qua chat/completions (chỉ có định dạng Gemini và Anthropic) — ở đây hãy dùng gemini-3.6-flash.
Bảng Roo Code → biểu tượng bánh răng → API Provider = “OpenAI Compatible” → Base URL, API Key, Model; tùy chọn Model Configuration (Max Output Tokens, Context Window, Image Support, Computer Use, giá). Nhà cung cấp Anthropic có ô chọn “Use custom base URL”.
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
API Provider: OpenAI Compatible
Base URL: https://api.ailoot.ai/v1
API Key: sk-...
Model: gpt-6.1-sol (hoặc claude-sonnet-5-5, kimi-k3, glm-5.3)
Cách dùng Anthropic:
API Provider: Anthropic, API key sk-..., [x] Use custom base URL → https://api.ailoot.ai
Mô hình ví dụ: gpt-6.1-sol
Quan trọng
Roo Code chỉ gọi công cụ theo định dạng OpenAI, vì vậy mô hình phải hỗ trợ tools tại /v1/chat/completions. Phương án Anthropic gọi /v1/messages, địa chỉ không có /v1.
Settings (biểu tượng bánh răng) → thẻ Providers → “Custom provider” ở cuối → Provider ID, Display name, Provider API = “OpenAI Compatible”, Base URL, API key, Models (danh sách được tải từ /v1/models). Cài đặt được lưu trong kilo.json.
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Provider ID: ailoot
Display name: Ailoot
Provider API: OpenAI Compatible
Base URL: https://api.ailoot.ai/v1
API key: sk-...
Models: chọn từ danh sách, ví dụ claude-sonnet-5-5, gpt-6.1-sol, deepseek-v4-pro
Mô hình ví dụ: deepseek-v4-pro
Quan trọng
Kilo gửi yêu cầu đến {Base URL}/models và tự hiển thị danh sách mô hình — GET /v1/models của chúng tôi trả về toàn bộ danh mục. Bạn cũng có thể đặt địa chỉ đầy đủ .../v1/chat/completions. Hỗ trợ các tiêu đề tùy chỉnh.
Tệp ~/.continue/config.yaml (hoặc trình chỉnh sửa cấu hình Continue): thêm mục trong models[] với provider: openai và apiBase.
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
name: Ailoot
version: 0.0.1
schema: v1
models:
- name: Ailoot Claude Sonnet 5.5
provider: openai
model: claude-sonnet-5-5
apiBase: https://api.ailoot.ai/v1
apiKey: sk-...
- name: Ailoot GPT-6.1 Sol
provider: openai
model: gpt-6.1-sol
apiBase: https://api.ailoot.ai/v1
apiKey: sk-...
# useResponsesApi: false # chỉ khi cần buộc gửi yêu cầu đến /chat/completions
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
apiBase phải kết thúc bằng /v1. Với tên thuộc dòng gpt-5/o, Continue có thể tự chọn /v1/responses; các mô hình gpt-* của chúng tôi hỗ trợ cả /v1/responses và /v1/chat/completions, còn useResponsesApi: false buộc dùng chat/completions. Không cần useLegacyCompletionsEndpoint.
Agent Settings (agent::OpenSettings) → LLM Providers → Add Provider; hoặc settings.json → language_models.openai_compatible / language_models.anthropic_compatible. Khóa được đặt trong cửa sổ cài đặt (lưu trong kho khóa hệ thống) hoặc trong biến <ID NHÀ CUNG CẤP VIẾT HOA>_API_KEY.
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Với openai_compatible, địa chỉ có /v1 (gọi /v1/chat/completions; capabilities.chat_completions = false chuyển mô hình sang /v1/responses). Với anthropic_compatible, địa chỉ không có /v1 (gọi /v1/messages; Zed gửi khóa trong x-api-key — Ailoot chấp nhận). Mặc định images = false và parallel_tool_calls = false. Zed có thể truyền hình ảnh, nhưng chỉ bật images cho mô hình cụ thể mà thẻ danh mục hiện tại khai báo đầu vào image trong định dạng API đã chọn. Các ví dụ GPT và Claude đặt images = false: bản chụp ngày 2026-09-30 chỉ khai báo văn bản cho chúng. Ví dụ, gemini-3.6-flash trong bản chụp này khai báo đầu vào image cho OpenAI Chat; hỗ trợ thực tế phụ thuộc vào thẻ mô hình và định dạng. Mô hình có suy luận có trường reasoning_effort. Các giá trị max_tokens trong ví dụ là kích thước ngữ cảnh; xem giới hạn chính xác trong danh mục mô hình.
Chọn mô hình trong trò chuyện → Manage Language Models (biểu tượng bánh răng) → Add Models → Custom Endpoint → VS Code mở chatLanguageModels.json. (Cài đặt cũ github.copilot.chat.customOAIModels đã lỗi thời.)
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
url là đường dẫn endpoint ĐẦY ĐỦ. Các giá trị apiType: chat-completions, responses (url .../v1/responses), messages (url .../v1/messages). BYOK hoạt động không cần gói Copilot hay đăng nhập GitHub, nhưng chỉ cho trò chuyện/tác nhân — gợi ý ngay trong mã vẫn dùng Copilot. Quản trị viên tổ chức (Business/Enterprise) có thể tắt chính sách BYOK. Các giới hạn token ở trên chỉ là ví dụ; hãy dùng giá trị trong danh mục. Các ví dụ này đặt vision = false: bản chụp danh mục ngày 2026-09-30 chỉ khai báo văn bản cho GPT/OpenAI Chat và Claude/Anthropic Messages. Nếu phiên bản VS Code của bạn có vision, chỉ bật cho mô hình mà thẻ danh mục hiện tại khai báo đầu vào image trong định dạng API đã chọn; có trường trong máy khách không xác nhận mô hình đã chọn hỗ trợ hình ảnh.
Settings | Tools | AI Assistant | Providers & API keys → Third-party AI providers → OpenAI-compatible → URL, API Key → Test Connection → Apply → AI Chat / Models Assignment
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Provider: OpenAI-compatible
URL: https://api.ailoot.ai/v1
API Key: sk-...
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Chọn OpenAI-compatible, nhập https://api.ailoot.ai/v1 vào URL và khóa của bạn vào API Key. Nhấn Test Connection rồi Apply, sau đó chọn mô hình trong AI Chat. Gán mô hình trong Models Assignment để dùng cho các chức năng IDE. Chỉ bật Tool calling khi mô hình hỗ trợ công cụ; tính năng hoàn thành mã có thiết lập riêng.
Xcode → Settings → Intelligence → Chat → Add a Chat Provider → Internet Hosted → URL, API Key, API Key Header, mô tả → Add.
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Type: Internet Hosted
URL: https://api.ailoot.ai (KHÔNG CÓ /v1 — Xcode tự thêm /v1/models và /v1/chat/completions)
API Key: sk-...
API Key Header: x-api-key
Description: Ailoot
→ sau đó chọn mô hình trong danh sách (ví dụ claude-sonnet-5-5, gpt-6.1-sol)
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Apple yêu cầu nhà cung cấp hỗ trợ Chat Completions và phản hồi tại {URL}/v1/models và {URL}/v1/chat/completions. Ailoot chấp nhận khóa trong x-api-key và Authorization: Bearer (theo phản hồi của người dùng, nếu chọn tiêu đề Authorization, Xcode tự thêm tiền tố Bearer). Các tác nhân Xcode được cấu hình riêng và không thuộc hướng dẫn này.
opts cho yetone/avante.nvim trong lazy.nvim: opts.providers.<tên> với __inherited_from = 'openai' (nhà cung cấp riêng tương thích OpenAI), hoặc ghi đè providers.claude.endpoint; khóa lấy từ biến được chỉ định trong api_key_name (hỗ trợ các tên AVANTE_*).
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
opts = {
provider = "ailoot",
providers = {
ailoot = {
__inherited_from = "openai",
endpoint = "https://api.ailoot.ai/v1",
api_key_name = "AILOOT_API_KEY",
model = "claude-sonnet-5-5",
},
claude = {
endpoint = "https://api.ailoot.ai", -- Anthropic Messages, không có /v1
model = "claude-sonnet-5-5",
},
},
}
-- trong terminal: export AILOOT_API_KEY=sk-...
-- nhà cung cấp claude đọc AVANTE_ANTHROPIC_API_KEY hoặc ANTHROPIC_API_KEY
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Trong wiki của plugin, địa chỉ tương thích OpenAI kết thúc bằng /v1 (plugin tự thêm /chat/completions). Nhà cung cấp claude tích hợp dùng địa chỉ dạng https://api.anthropic.com, nên với Ailoot cần bỏ /v1. Nhà cung cấp riêng không có __inherited_from yêu cầu địa chỉ đầy đủ và hàm phân tích phản hồi riêng.
require('codecompanion').setup({ adapters = { http = { ... } } }) qua adapters.extend('openai_compatible', ...) hoặc extend('anthropic', ...); sau đó là interactions.chat/inline.adapter.
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: gpt-6.1-sol
Quan trọng
openai_compatible tách máy chủ (env.url, không có /v1) khỏi đường dẫn (env.chat_url). Giá trị env có thể là tên biến môi trường, cmd:..., file:... hoặc hàm Lua. Adapter anthropic cũng được mở rộng bằng url riêng cho /v1/messages.
init.el: đăng ký backend qua gptel-make-openai (OpenAI Chat), gptel-make-anthropic (Messages) hoặc gptel-make-gemini — mỗi backend có :host, :endpoint, :key, :stream, :models; sau đó đặt gptel-backend và gptel-model.
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages, POST /v1beta/models/{model}:generateContent rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
(setq gptel-model 'claude-sonnet-5-5
gptel-backend
(gptel-make-openai "Ailoot"
:host "api.ailoot.ai"
:endpoint "/v1/chat/completions"
:stream t
:key (getenv "AILOOT_API_KEY") ; hoặc (gptel-api-key-from-environment "AILOOT_API_KEY")
:models '(claude-sonnet-5-5 gpt-6.1-sol deepseek-v4-pro qwen3.8-max)))
;; cách dùng Anthropic Messages
(gptel-make-anthropic "Ailoot-Claude"
:host "api.ailoot.ai" ; đường dẫn mặc định /v1/messages
:stream t
:key (getenv "AILOOT_API_KEY")
:models '(claude-sonnet-5-5 claude-opus-5-5))
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
:host chỉ chứa tên máy chủ (không có https:// hoặc đường dẫn); đường dẫn được đặt trong :endpoint. gptel-make-anthropic gửi các tiêu đề x-api-key và anthropic-version — Ailoot chấp nhận chúng.
Preferences → AI-features → OpenAiCustom (hoặc khóa ai-features.openAiCustom.customOpenAiModels trong settings.json; cửa sổ AI Configuration — Alt+A).
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Settings → Models → Add Model → Custom Model → API Format, Request URL (công tắc Full URL), Model ID, Display Name, API Key; tùy chọn Advanced Settings.
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Định dạng OpenAI:
API Format: OpenAI Chat Completions
Full URL: OFF
Request URL: https://api.ailoot.ai/v1
Model ID: gpt-6.1-sol
API Key: sk-...
Định dạng Anthropic:
API Format: Anthropic Messages
Full URL: OFF
Request URL: https://api.ailoot.ai
Model ID: claude-sonnet-5-5
API Key: sk-...
Mô hình ví dụ: gpt-6.1-sol
Quan trọng
Khi tắt Full URL, Trae tự thêm đường dẫn của định dạng đã chọn (với OpenAI — địa chỉ có /v1, với Anthropic — không có /v1). Khi bật Full URL, nhập https://api.ailoot.ai/v1/chat/completions hoặc https://api.ailoot.ai/v1/messages. Trường Model Series điều chỉnh các gợi ý theo họ mô hình.
Settings > Admin > Connections > Manage OpenAI API Connections > + Add Connection (hoặc biến môi trường OPENAI_API_BASE_URL / OPENAI_API_KEY khi khởi chạy container)
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
UI: URL = https://api.ailoot.ai/v1
API Key = sk-...
Model IDs: để trống (tự tải từ /v1/models) hoặc thêm thủ công claude-sonnet-5-5, gpt-6.1-sol
Docker env:
OPENAI_API_BASE_URL=https://api.ailoot.ai/v1
OPENAI_API_KEY=sk-...
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Định dạng OpenAI Chat Completions; URL bắt buộc có /v1 và không có dấu gạch chéo cuối. Danh sách mô hình được lấy từ /v1/models; với danh mục lớn (252 mô hình), nên giới hạn Model IDs và bật bộ nhớ đệm danh sách mô hình (Cache Base Model List / ENABLE_BASE_MODELS_CACHE=True). Embedding cho RAG có RAG_OPENAI_API_BASE_URL riêng.
Tệp librechat.yaml → endpoints.custom (khóa trong .env qua ${VAR}); với định dạng Anthropic, dùng trường provider: 'anthropic'
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Custom endpoint thông thường = OpenAI Chat Completions (baseURL có /v1). provider: 'anthropic' bật máy khách gốc /v1/messages; ví dụ trong tài liệu đặt baseURL cho Anthropic không có /v1 (https://api.anthropic.com), vì vậy với chúng tôi là https://api.ailoot.ai. fetch: true lấy danh sách từ /v1/models.
Settings (biểu tượng bánh răng) > Model Provider > + Add Provider > loại giao thức OpenAI / OpenAI Responses / Anthropic / Gemini
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Provider Name: Ailoot
Loại: OpenAI (hoặc OpenAI Responses / Anthropic)
API Key: sk-...
Base URL: https://api.ailoot.ai
→ Kiểm tra phần xem trước địa chỉ cuối cùng bên dưới ô nhập: địa chỉ phải là https://api.ailoot.ai/v1/chat/completions (với Anthropic — https://api.ailoot.ai/v1/messages)
Models: + claude-sonnet-5-5, gpt-6.1-sol
Sau đó nhấn nút Model Check
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Tài liệu xác nhận các giao thức OpenAI, Anthropic, OpenAI Responses và Gemini cùng bản xem trước đường dẫn cuối cùng dưới trường nhập, nhưng không mô tả quy tắc thêm /v1 — hãy dựa vào bản xem trước. Cả ba định dạng của chúng tôi (Chat Completions, Responses, Messages) đều phù hợp.
Cài đặt (nút ở thanh bên) > Model Provider > Add (ở dưới cùng) > loại OpenAI API Compatible
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Name: Ailoot
API Mode: OpenAI API Compatible
API Key: sk-...
API Host: https://api.ailoot.ai
API Path: (để trống, mặc định là /v1/chat/completions)
Models: + gpt-6.1-sol, claude-sonnet-5-5 (vision bị tắt trong các ví dụ này; tool_use — tùy khả năng của mô hình được chọn)
Mô hình ví dụ: gpt-6.1-sol
Quan trọng
Tài liệu ghi API Host không có /v1 (ví dụ https://api.openai.com), còn đường dẫn mặc định là /v1/chat/completions. Có cả loại Google Gemini compatible, nhưng chưa được kiểm tra với /v1beta của chúng tôi. Từ 1.15.1, có thể nhập cấu hình JSON (type: 'openai', apiHost, apiPath) qua chatbox://provider/import?config=<base64>. Trong các ví dụ GPT và Claude này, vision bị tắt: bản chụp danh mục 2026-09-30 chỉ công bố đầu vào văn bản cho định dạng OpenAI Chat. Nếu phiên bản Chatbox của bạn có tùy chọn vision, chỉ bật cho mô hình mà thẻ danh mục hiện tại công bố đầu vào image ở định dạng API đã chọn; việc ứng dụng khách cho phép đính kèm hình không chứng minh mô hình hỗ trợ hình đó.
Tự lưu trữ: các biến môi trường OPENAI_PROXY_URL / OPENAI_API_KEY / OPENAI_MODEL_LIST, ANTHROPIC_PROXY_URL, GOOGLE_PROXY_URL
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
OPENAI_PROXY_URL mặc định là https://api.openai.com/v1, vì vậy hãy đặt địa chỉ có /v1. ANTHROPIC_PROXY_URL mặc định là https://api.anthropic.com (không có /v1). Về mặt cấu hình, GOOGLE_PROXY_URL có thể kết nối định dạng Gemini (https://api.ailoot.ai), nhưng chúng tôi chưa kiểm thử cách này. Hãy dùng chế độ máy chủ: nếu yêu cầu đi trực tiếp từ trình duyệt, API Ailoot hiện có thể từ chối theo quy tắc CORS.
Settings > Model Providers > Add Provider → chọn định dạng OpenAI-compatible hoặc Anthropic-compatible
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
OpenAI-compatible:
Provider name: Ailoot
Base URL: https://api.ailoot.ai/v1
API key: sk-...
Anthropic-compatible:
Provider name: Ailoot Claude
Base URL: https://api.ailoot.ai
API key: sk-...
Models: tự tải từ {base_url}/models hoặc + thêm thủ công: claude-sonnet-5-5
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Tài liệu: với chế độ tương thích OpenAI, Base URL bắt buộc có /v1 (nếu không sẽ gặp lỗi 404), dấu gạch chéo cuối bị loại bỏ; ví dụ cho chế độ Anthropic dùng LiteLLM không có /v1. Khả năng của mô hình (tools, vision) cho nhà cung cấp tùy chỉnh được đặt thủ công. Hỗ trợ khóa dự phòng (chỉ thử lại khi gặp 401/403/429).
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Custom Endpoint (Base URL): https://api.ailoot.ai/v1
Custom API Key: sk-...
Model: chọn từ danh sách (/v1/models) hoặc nhập claude-sonnet-5-5
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Tài liệu: khi gặp vấn đề kết nối, hãy thêm /v1 và KHÔNG thêm /chat/completions. Danh sách mô hình được tải nếu máy chủ cung cấp /v1/models (máy chủ của chúng tôi có cung cấp).
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
UI: Base URL = https://api.ailoot.ai/v1
API Key = sk-...
Chat Model Name = deepseek-v4-pro
Token context window = theo mô hình
Docker .env:
LLM_PROVIDER='generic-openai'
GENERIC_OPEN_AI_BASE_PATH='https://api.ailoot.ai/v1'
GENERIC_OPEN_AI_MODEL_PREF='deepseek-v4-pro'
GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=128000
GENERIC_OPEN_AI_API_KEY='sk-...'
Mô hình ví dụ: deepseek-v4-pro
Quan trọng
Tài liệu đánh dấu nhà cung cấp này là “dành cho nhà phát triển”. Nếu cần, đặt GENERIC_OPEN_AI_MODEL_MAX_TOKEN_KEY='max_completion_tokens'. Embedding có bộ tạo riêng generic-openai (EMBEDDING_BASE_PATH + GENERIC_OPEN_AI_EMBEDDING_API_KEY) — mô hình nemotron-3-embed qua /v1/embeddings.
Biến môi trường khi triển khai: OPENAI_API_KEY / OPENAI_API_HOST, ANTHROPIC_API_KEY / ANTHROPIC_API_HOST; trong giao diện — Models > Add OpenAI-compatible
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Tài liệu mô tả các biến này là cách thay backend host của OpenAI và Anthropic (cho proxy và endpoint riêng). Tài liệu dùng từ “host”, nên đặt địa chỉ không có /v1, nhưng không nêu chi tiết định dạng đường dẫn — cần kiểm tra ở yêu cầu đầu tiên.
Settings > Models > (+) > OpenAI-compatible Server
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Friendly name: Ailoot
API Endpoint URL: https://api.ailoot.ai/v1/chat/completions
API Key: sk-...
Model ID: gpt-6.1-sol
Context length: theo mô hình
Streaming: bật
Mô hình ví dụ: gpt-6.1-sol
Quan trọng
Cần địa chỉ đầy đủ của chat completions. Để AI Command dùng địa chỉ này, hãy đặt dịch vụ đó làm dịch vụ chính. Hướng dẫn dựa trên trợ giúp của BoltAI; cửa sổ trong BoltAI 2 có thể khác.
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Model Hub > Model Providers > Add Provider > OpenAI-compatible
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Provider: OpenAI Compatible
Name: Ailoot
API Endpoint: https://api.ailoot.ai/v1
API Key: sk-...
Models: gpt-6.1-sol, claude-sonnet-5-5
Mô hình ví dụ: gpt-6.1-sol
Quan trọng
Tài liệu xác nhận có nhà cung cấp tương thích OpenAI tùy chỉnh, nhưng không nêu định dạng địa chỉ; /v1 là đường dẫn gốc chuẩn của OpenAI API, khi gặp lỗi 404 hãy kiểm tra cách đặt không có /v1. Tài liệu không mô tả endpoint tùy chỉnh tương thích Anthropic.
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Với thiết lập này, hãy dùng OpenAI Chat qua máy chủ NextChat. Khi triển khai trên Vercel hoặc Docker, đặt BASE_URL=https://api.ailoot.ai không kèm /v1, cùng OPENAI_API_KEY, CUSTOM_MODELS và DEFAULT_MODEL. Triển khai lại máy chủ sau khi đổi các biến này.
Settings > Copilot > BYOK > Add a provider > Add a custom provider
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Base URL: https://api.ailoot.ai/v1
API key: sk-...
Model ID: claude-sonnet-5-5 (hoặc chọn từ danh sách /v1/models)
Sau đó nhấn Test; bật mô hình trong Basic > Agents > Quick Chat
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Danh sách mô hình được lấy từ /v1/models; bạn có thể nhập mô hình thủ công. Nếu Test thành công nhưng Quick Chat không gửi tin nhắn, hãy bật Enable CORS ở nhà cung cấp (câu trả lời được trả về toàn bộ, không theo luồng). Khóa được lưu trong Obsidian Keychain.
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Provider: Custom
Name: Ailoot
Base URL: https://api.ailoot.ai/v1
API Key: sk-...
Sau đó thêm mô hình thủ công: gpt-6.1-sol, claude-sonnet-5-5
Mô hình ví dụ: gpt-6.1-sol
Quan trọng
Tài liệu xác nhận Custom có API URL và khóa; định dạng URL không được nêu rõ, /v1 là đường dẫn gốc chuẩn của OpenAI API. Việc tự tải danh sách mô hình chỉ được bảo đảm cho Ollama, LM Studio và Llamafile — các nhà cung cấp khác cần thêm mô hình thủ công.
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
base_url là endpoint tương thích OpenAI không có hậu tố /chat/completions. Raycast đọc lại tệp mà không cần khởi động lại. Nếu không đặt abilities, ứng dụng coi như không hỗ trợ tools và vision. Mô hình xuất hiện trong Quick AI, AI Chat và AI Commands. Ví dụ này đặt vision.supported = false: bản chụp danh mục ngày 2026-09-30 chỉ khai báo văn bản cho Claude/OpenAI Chat. Nếu phiên bản Raycast của bạn hỗ trợ cài đặt này, chỉ bật vision cho mô hình mà thẻ danh mục hiện tại khai báo đầu vào image trong định dạng OpenAI Chat; riêng cờ của máy khách không xác nhận API hỗ trợ hình ảnh.
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Name: Claude Sonnet 5.5 (Ailoot)
API Type: OpenAI Chat Completions
Endpoint: https://api.ailoot.ai/v1/chat/completions
Model ID: claude-sonnet-5-5
Custom Headers: Authorization = Bearer sk-...
Context Length: theo mô hình
Test → Save
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Nhập endpoint bằng đường dẫn đầy đủ. Khóa được truyền qua tiêu đề tùy chỉnh Authorization: Bearer sk-... — Ailoot chấp nhận tiêu đề này. Bản web TypingMind gọi API trực tiếp từ trình duyệt, và hiện CORS có thể chặn các yêu cầu đó; bản máy tính đáng tin cậy hơn. Loại Gemini trong TypingMind gửi khóa trong tiêu đề apiKey mà Ailoot không chấp nhận — hãy dùng loại OpenAI Chat Completions.
Tham số hàm khởi tạo OpenAI(base_url=..., api_key=...) hoặc các biến môi trường OPENAI_BASE_URL và OPENAI_API_KEY
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
export AILOOT_API_KEY="sk-..."
# biến môi trường
export OPENAI_BASE_URL="https://api.ailoot.ai/v1"
export OPENAI_API_KEY="$AILOOT_API_KEY"
# hoặc trong mã
ailoot-openai-python-sdk.py
import os
from openai import OpenAI
client = OpenAI(max_retries=0, base_url="https://api.ailoot.ai/v1", api_key=os.environ["AILOOT_API_KEY"])
r = client.chat.completions.create(model="gpt-6.1-sol", messages=[{"role":"user","content":"Xin chào"}])
print(r.choices[0].message.content)
# Responses API: client.responses.create(model="gpt-6.1-sol", input="Xin chào")
# Embedding: client.embeddings.create(model="nemotron-3-embed", input=["văn bản"])
Địa chỉ có /v1: SDK tự thêm /chat/completions, /responses, /embeddings, /images/*, /audio/*. Chat Completions và Responses hoạt động (Responses dành cho mô hình có định dạng này trong danh mục). Đầu ra dạng luồng và công cụ theo chuẩn. Lỗi Ailoot được trả về dưới dạng JSON có Request ID và được bắt bằng openai.APIStatusError.
Tùy chọn hàm khởi tạo new OpenAI({ baseURL, apiKey }); mặc định SDK đọc biến môi trường OPENAI_BASE_URL
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: claude-sonnet-5-5, gpt-6.1-sol, grok-4.7
Quan trọng
README minh họa tùy chọn baseURL; việc đọc OPENAI_BASE_URL thể hiện trong mã nguồn máy khách (src/client.ts), giá trị mặc định là https://api.openai.com/v1. Địa chỉ Ailoot cần có /v1. Có cả chat.completions và responses.
Tham số Anthropic(base_url=...) hoặc biến môi trường ANTHROPIC_BASE_URL; khóa: api_key hoặc ANTHROPIC_API_KEY
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Mô hình ví dụ: claude-sonnet-5-5, claude-opus-5-5; cũng qua /v1/messages gpt-6.1-sol, deepseek-v4-pro, gemini-3.6-flash
Quan trọng
Địa chỉ KHÔNG CÓ /v1: SDK tự thêm /v1/messages. Cổng API chấp nhận khóa trong x-api-key (SDK gửi theo cách này) và Authorization: Bearer. Hỗ trợ đầu ra dạng luồng, công cụ và /v1/messages/count_tokens. Xử lý theo lô (Batches) và Files API không được công bố trong danh mục Ailoot.
Các nhà cung cấp: createOpenAICompatible({ name, baseURL, apiKey }) từ @ai-sdk/openai-compatible; createAnthropic({ baseURL, apiKey }) từ @ai-sdk/anthropic; createGoogleGenerativeAI({ baseURL, apiKey }) từ @ai-sdk/google; createOpenAI({ baseURL }) hoặc OPENAI_BASE_URL
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses, POST /v1/messages, POST /v1beta/models/{model}:generateContent rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: deepseek-v4-pro (tương thích với OpenAI), claude-sonnet-5-5 (Anthropic), gemini-3.6-flash (Gemini)
Quan trọng
Các nhà cung cấp dùng địa chỉ khác nhau: tương thích OpenAI và Anthropic — có /v1 (Anthropic mặc định là https://api.anthropic.com/v1), Google — có /v1beta (mặc định https://generativelanguage.googleapis.com/v1beta). Nhà cung cấp @ai-sdk/openai mặc định gọi Responses API; với mô hình không có phương thức responses, hãy dùng openai.chat("id") hoặc createOpenAICompatible.
ChatOpenAI(base_url=...) hoặc các biến OPENAI_API_BASE / OPENAI_BASE_URL; ChatAnthropic(base_url=...) hoặc ANTHROPIC_API_URL / ANTHROPIC_BASE_URL
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
import os
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-6.1-sol", base_url="https://api.ailoot.ai/v1", api_key=os.environ["AILOOT_API_KEY"])
print(llm.invoke("Xin chào").content)
from langchain_anthropic import ChatAnthropic
claude = ChatAnthropic(model="claude-sonnet-5-5", base_url="https://api.ailoot.ai", api_key=os.environ["AILOOT_API_KEY"])
Mô hình ví dụ: gpt-6.1-sol, qwen3.8-max (ChatOpenAI); claude-sonnet-5-5 (ChatAnthropic)
Quan trọng
ChatOpenAI: địa chỉ có /v1. Theo tài liệu, ChatOpenAI chỉ hỗ trợ đặc tả OpenAI chính thức: các trường ngoài chuẩn như reasoning_content của mô hình bên thứ ba không được giữ lại. Với Claude, nên dùng ChatAnthropic: địa chỉ không có /v1, SDK tự thêm /v1/messages. Tham số base_url và các biến ANTHROPIC_API_URL/ANTHROPIC_BASE_URL của ChatAnthropic được mô tả trong tài liệu lớp ở mã nguồn (langchain_anthropic/chat_models.py), nhưng không có trên trang tích hợp. Cờ use_responses_api bật chế độ Responses trong ChatOpenAI.
crewai.LLM(model=..., base_url=..., api_key=...); các biến OPENAI_API_KEY và OPENAI_BASE_URL; với Claude — nhà cung cấp anthropic/ gốc có base_url
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/messages rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
import os
from crewai import LLM
# định dạng tương thích với OpenAI
llm = LLM(model="openai/gpt-6.1-sol", base_url="https://api.ailoot.ai/v1", api_key=os.environ["AILOOT_API_KEY"])
# Anthropic Messages
claude = LLM(model="anthropic/claude-sonnet-5-5", base_url="https://api.ailoot.ai", api_key=os.environ["AILOOT_API_KEY"], max_tokens=4096)
Mô hình ví dụ: openai/gpt-6.1-sol, anthropic/claude-sonnet-5-5
Quan trọng
Tiền tố openai/ hoặc anthropic/ chọn nhà cung cấp trong CrewAI; yêu cầu gửi id không có tiền tố. Với OpenAI, địa chỉ có /v1; với Anthropic, không có /v1. Tài liệu cũng mô tả cờ custom_openai=True cho cổng API tương thích OpenAI bất kỳ. Anthropic bắt buộc có max_tokens.
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1beta/models/{model}:generateContent rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
import os
from google import genai
from google.genai import types
client = genai.Client(
api_key=os.environ["AILOOT_API_KEY"],
http_options=types.HttpOptions(base_url="https://api.ailoot.ai"))
r = client.models.generate_content(model="gemini-3.6-flash", contents="Xin chào")
print(r.text)
Mô hình ví dụ: gemini-3.6-flash, gemini-3.1-pro
Quan trọng
Địa chỉ không có /v1beta: SDK tự tạo /v1beta/models/{model}:generateContent. Khóa được gửi trong tiêu đề x-goog-api-key — Ailoot chấp nhận tiêu đề này. Chỉ dùng được các mô hình có định dạng Gemini. Tài liệu của phiên bản JavaScript (@google/genai) không mô tả địa chỉ riêng, nên phiên bản đó không được trình bày ở đây.
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Mô hình ví dụ: openai/claude-sonnet-5-5, openai/qwen3.8-max, openai/nemotron-3-embed
Quan trọng
Tiền tố openai/ biểu thị giao thức tương thích OpenAI; id được gửi đến Ailoot không kèm tiền tố. LiteLLM tự thêm /chat/completions và /embeddings; theo tài liệu, khi gặp lỗi Not Found, địa chỉ phải kết thúc bằng /v1.
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: openai/claude-sonnet-5-5, openai/gpt-6.1-sol
Quan trọng
Proxy hữu ích nếu bạn muốn cấp khóa nội bộ riêng cho nhóm dùng chung một khóa Ailoot. Các khoản khấu trừ tại Ailoot được ghi vào khóa đặt trong api_key. Địa chỉ có /v1.
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
pip install llama-index-llms-openai-like
import os
from llama_index.llms.openai_like import OpenAILike
llm = OpenAILike(
model="deepseek-v4-pro",
api_base="https://api.ailoot.ai/v1",
api_key=os.environ["AILOOT_API_KEY"],
is_chat_model=True,
is_function_calling_model=True,
context_window=128000)
print(llm.complete("Xin chào"))
Mô hình ví dụ: deepseek-v4-pro, claude-sonnet-5-5, gpt-6.1-sol
Quan trọng
Địa chỉ có /v1. Bắt buộc đặt is_chat_model=True, nếu không lớp sẽ gọi /completions đã lỗi thời. Đặt is_function_calling_model=True để tác nhân sử dụng công cụ. Hãy đặt context_window theo thẻ mô hình trong danh mục Ailoot.
Trong Agent: model: { id: "<nhà cung cấp>/<mô hình>", url: "<địa chỉ cơ sở>", apiKey, api?: "chat" | "responses" }
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
import { Agent } from "@mastra/core/agent";
const agent = new Agent({
id: "ailoot-agent",
name: "Ailoot Agent",
instructions: "Trả lời bằng tiếng Nga",
model: {
id: "ailoot/claude-sonnet-5-5",
url: "https://api.ailoot.ai/v1",
apiKey: process.env.AILOOT_API_KEY
// api: "responses" // chỉ dành cho mô hình có phương thức responses
}
});
Khóa được đọc từ biến AILOOT_API_KEY — hãy đặt biến trước khi chạy:
export AILOOT_API_KEY="sk-..." # thêm vào ~/.zshrc hoặc ~/.bashrc
setx AILOOT_API_KEY "sk-..." # sau đó khởi động lại terminal
Mô hình ví dụ: ailoot/claude-sonnet-5-5, ailoot/gpt-6.1-sol
Quan trọng
Trong url, đặt địa chỉ cơ sở có /v1, không phải đường dẫn đầy đủ đến /chat/completions. Mặc định dùng Chat Completions; api: "responses" chuyển sang Responses API. Dạng id "nhà cung cấp/mô hình" gửi đến cổng kết nối id mô hình không kèm tiền tố. Tài liệu minh họa trường apiKey trong đối tượng model bằng ví dụ có tiêu đề; không mô tả riêng cách dùng cùng url.
AsyncOpenAI(base_url=..., api_key=...) + OpenAIChatCompletionsModel(model=..., openai_client=client), hoặc đặt toàn cục bằng set_default_openai_client(client)
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
import os
from agents import Agent, Runner, AsyncOpenAI, OpenAIChatCompletionsModel, set_tracing_disabled
set_tracing_disabled(disabled=True)
client = AsyncOpenAI(max_retries=0, base_url="https://api.ailoot.ai/v1", api_key=os.environ["AILOOT_API_KEY"])
model = OpenAIChatCompletionsModel(model="claude-sonnet-5-5", openai_client=client)
agent = Agent(name="Trợ lý", instructions="Trả lời bằng tiếng Nga", model=model)
print(Runner.run_sync(agent, "Xin chào").final_output)
Mô hình ví dụ: claude-sonnet-5-5, gpt-6.1-sol
Quan trọng
Địa chỉ có /v1. Tắt truy vết bằng set_tracing_disabled(True), nếu không SDK sẽ cố gửi dữ liệu truy vết tới OpenAI mà không có khóa OpenAI. Chat Completions chỉ có ở những mô hình được ghi phương thức này trong danh mục và khóa của bạn được phép dùng; Responses, mặc định trong SDK, chỉ có ở những mô hình có phương thức responses trong danh mục. Các công cụ tích hợp của OpenAI như tìm kiếm web và tệp không được bảo đảm qua cổng của bên thứ ba.
OpenAIProvider(base_url=..., api_key=...) với mô hình OpenAIChatModel (Chat Completions) hoặc OpenAIResponsesModel (Responses); hoặc biến OPENAI_BASE_URL
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
import os
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIChatModel
from pydantic_ai.providers.openai import OpenAIProvider
model = OpenAIChatModel("deepseek-v4-pro",
provider=OpenAIProvider(base_url="https://api.ailoot.ai/v1", api_key=os.environ["AILOOT_API_KEY"]))
agent = Agent(model)
print(agent.run_sync("Xin chào").output)
Mô hình ví dụ: deepseek-v4-pro, gpt-6.1-sol (cho OpenAIResponsesModel)
Quan trọng
Địa chỉ có /v1. Tài liệu mặc định dùng OpenAIResponsesModel: chỉ chọn lớp này cho mô hình có phương thức responses; với các mô hình còn lại, dùng OpenAIChatModel.
Credentials → OpenAI → trường Base URL (mặc định https://api.openai.com/v1); Credentials → Anthropic → Base URL (mặc định https://api.anthropic.com); Credentials → Google Gemini(PaLM) Api → Host (mặc định https://generativelanguage.googleapis.com). Sau đó dùng các nút OpenAI Chat Model / Anthropic Chat Model / Google Gemini Chat Model
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions, POST /v1/responses, POST /v1/messages, POST /v1beta/models/{model}:generateContent rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
OpenAI credential:
API Key: sk-...
Base URL: https://api.ailoot.ai/v1
Anthropic credential:
API Key: sk-...
Base URL: https://api.ailoot.ai
Google Gemini(PaLM) Api credential:
Host: https://api.ailoot.ai
API Key: sk-...
Nút OpenAI Chat Model → Model: By ID → gpt-6.1-sol (công tắc Use Responses API — chỉ dành cho mô hình có phương thức responses)
Kiểm tra thông tin xác thực gọi /models (OpenAI), /v1/models (Anthropic) và /v1beta/models (Gemini); Ailoot có cả ba đường dẫn. Các trang tài liệu n8n không mô tả trường Base URL: trường này nằm trong phần thông tin xác thực (mã nguồn OpenAiApi.credentials.ts và AnthropicApi.credentials.ts, nhãn “Override the default base URL for the API”). Trên n8n Cloud, đừng chọn “Use Gateway credits”, nếu không yêu cầu sẽ không đi qua Ailoot.
Integrations → Model Provider → cài plugin OpenAI-API-compatible → Add Model (các trường: Model Type, Model Name, API Key, API Base URL, Completion mode, Model context size)
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Model Type: LLM
Model Name: claude-sonnet-5-5
API Key: sk-...
API Base URL: https://api.ailoot.ai/v1
Completion mode: Chat
Model context size: theo thẻ mô hình trong danh mục Ailoot
Cho Text Embedding:
Model Name: nemotron-3-embed
API Base URL: https://api.ailoot.ai
Mô hình ví dụ: claude-sonnet-5-5, gpt-6.1-sol, qwen3.8-max; nemotron-3-embed (embedding)
Quan trọng
Chỉ chủ sở hữu và quản trị viên workspace mới được quản lý nhà cung cấp. Theo README của plugin: với LLM, địa chỉ có /v1; với embedding, rerank, STT và TTS, plugin tự thêm phiên bản API, nên địa chỉ không có /v1 (nếu không sẽ thành /v1/v1). Thêm từng mô hình Ailoot bằng một mục riêng; bật hỗ trợ đầu vào hình ảnh và đầu ra dạng luồng trong cài đặt mô hình.
Nút ChatOpenAI hoặc ChatOpenAI Custom → Connect Credential (khóa) → Additional Parameters → Base Path (và Base Options cho tiêu đề)
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Credential (OpenAI API): sk-...
Nút ChatOpenAI Custom:
Model Name: deepseek-v4-pro
Additional Parameters → Base Path: https://api.ailoot.ai/v1
Mô hình ví dụ: deepseek-v4-pro, claude-sonnet-5-5, gpt-6.1-sol
Quan trọng
Danh sách mô hình trong ChatOpenAI là cố định, nên với id Ailoot bất kỳ, hãy dùng ChatOpenAI Custom, nơi nhập tên mô hình thủ công. Base Path có /v1. Embedding có nút OpenAI Embeddings Custom.
Cài qua HACS (Custom repository) hoặc sao chép custom_components/extended_openai_conversation → khởi động lại → Settings → Devices & Services → Add Integration → Extended OpenAI Conversation (API Key, Base Url) → Settings → Voice Assistants → Conversation agent
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
API Key: sk-...
Base Url: https://api.ailoot.ai/v1
Options → Chat Model: gpt-6.1-sol
Voice Assistants → Conversation agent: Extended OpenAI Conversation
Mô hình ví dụ: gpt-6.1-sol, claude-sonnet-5-5
Quan trọng
Đây là thành phần của bên thứ ba, không phải tích hợp chính thức. Thiết bị được điều khiển qua gọi hàm (tools) trong Chat Completions, nên hãy chọn mô hình hỗ trợ công cụ. Tích hợp OpenAI Conversation chính thức không hỗ trợ địa chỉ riêng.
Hồ sơ → Settings → Model Providers → OpenAI Compatible (các trường Base URL và API Key; các biến OPENAI_COMPATIBLE_BASE_URL và OPENAI_COMPATIBLE_API_KEY). Cách khác: thành phần OpenAI → trường OpenAI API Base
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Settings → Model Providers → OpenAI Compatible:
Base URL: https://api.ailoot.ai/v1
API Key: sk-...
hoặc qua biến môi trường:
export OPENAI_COMPATIBLE_BASE_URL="https://api.ailoot.ai/v1"
export OPENAI_COMPATIBLE_API_KEY="sk-..."
Sau đó, trong các thành phần Language Model / Agent, chọn OpenAI Compatible → claude-sonnet-5-5
Mô hình ví dụ: claude-sonnet-5-5, gpt-6.1-sol, nemotron-3-embed (Embedding Model)
Quan trọng
Langflow kiểm tra kết nối và tải danh sách mô hình từ /v1/models; các mô hình xuất hiện trong Language Models và Embedding Models. Sau đó bạn cần bật thủ công các mô hình muốn dùng. Nhà cung cấp được cài cùng langflow.
Mô-đun OpenAI tích hợp sẵn chỉ hoạt động với tài khoản OpenAI. Hãy dùng HTTP → Make a request: URL, Method, Headers, Body type Raw / JSON
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Mô-đun: HTTP → Make a request
URL: https://api.ailoot.ai/v1/chat/completions
Method: POST
Headers:
Authorization: Bearer sk-...
Content-Type: application/json
Body (JSON):
{"model":"gpt-6.1-sol","messages":[{"role":"user","content":"{{1.text}}"}]}
Parse response: Yes → câu trả lời nằm trong choices[].message.content
Mô hình ví dụ: gpt-6.1-sol, claude-sonnet-5-5
Quan trọng
Đây là mô-đun HTTP đa dụng, không phải nhà cung cấp riêng cho Ailoot: tài liệu mô tả địa chỉ HTTPS bất kỳ. Nên lưu khóa trong kết nối dùng khóa API (Make khuyến nghị cách này thay vì truyền trong tiêu đề). Không cần đầu ra dạng luồng trong Make, hãy gửi yêu cầu không có stream.
Các framework Telegram không có lớp LLM riêng: hàm xử lý tin nhắn gọi OpenAI SDK với base_url của Ailoot (hoặc Anthropic SDK với base_url không có /v1)
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Lưu mã Python thành ailoot-telegram-bot.py. Cài các gói phụ thuộc, đặt cả hai biến môi trường rồi chạy tệp. Gửi Hello cho bot và kiểm tra phản hồi văn bản. Khi có lỗi, giữ Request ID và kiểm tra kết quả ban đầu trước khi gửi yêu cầu tạo mới.
python3 -m pip install "aiogram>=3,<4" openai
ailoot-telegram-bot.py
import asyncio
import os
from aiogram import Bot, Dispatcher, F
from aiogram.types import Message
from openai import AsyncOpenAI, APIError
async def main():
dp = Dispatcher()
async with AsyncOpenAI(
base_url="https://api.ailoot.ai/v1",
api_key=os.environ["AILOOT_API_KEY"],
max_retries=0,
) as llm:
@dp.message(F.text)
async def reply(message: Message):
try:
result = await llm.chat.completions.create(
model="claude-sonnet-5-5",
messages=[{"role": "user", "content": message.text}],
)
content = result.choices[0].message.content or "—"
for start in range(0, len(content), 4000):
await message.answer(content[start:start + 4000])
except APIError as error:
await message.answer(
f"{type(error).__name__}; Request ID: "
f"{getattr(error, 'request_id', None) or '—'}"
)
bot = Bot(token=os.environ["TELEGRAM_BOT_TOKEN"])
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())
Mô hình ví dụ: claude-sonnet-5-5, deepseek-v4-pro, qwen3.8-flash
Quan trọng
Các framework Telegram không có lớp mô hình AI riêng: địa chỉ Ailoot được đặt trong OpenAI SDK bên trong bot. Khi số dư bằng không, Ailoot trả về lỗi 402 dễ hiểu kèm Request ID — hãy hiển thị lỗi cho người dùng bot thay vì để bot gặp sự cố.
Ứng dụng ChatGPT (OpenAI) trong Zapier chỉ hoạt động với OpenAI. Hãy dùng Webhooks by Zapier → Custom Request (Method, URL, Data, Headers)
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Hành động: Webhooks by Zapier → Custom Request
Method: POST
URL: https://api.ailoot.ai/v1/chat/completions
Data (raw JSON):
{"model":"claude-sonnet-5-5","messages":[{"role":"user","content":"Xin chào"}]}
Headers:
Authorization | Bearer sk-...
Content-Type | application/json
Mô hình ví dụ: claude-sonnet-5-5, gpt-6.1-sol
Quan trọng
Đây là yêu cầu HTTP đa dụng; Zapier không có nhà cung cấp có sẵn với trường địa chỉ cơ sở. Custom Request gửi nguyên trạng trường Data, không phân tích, nên cần kiểm tra JSON trước. Webhooks by Zapier khả dụng trên các gói Zapier trả phí.
~/.gemini/antigravity-cli/settings.json → "modelProvider": "gemini"; các biến GEMINI_API_KEY và GOOGLE_GEMINI_BASE_URL
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1beta/models/{model}:generateContent rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Giao thức là Gemini REST gốc (streamGenerateContent, khóa trong X-Goog-Api-Key), đường dẫn https://api.ailoot.ai/v1beta/... Với một câu hỏi, agy gửi hai yêu cầu: tiêu đề cuộc trò chuyện và câu trả lời. Tác nhân giữ trước nhiều tiền hơn đáng kể cho mỗi bước so với ứng dụng trò chuyện thông thường, nên hãy duy trì số dư dự phòng. Thẻ ứng dụng nằm trong mục “Đang được kiểm tra”: cấu hình được xây dựng theo tài liệu, nhưng chưa chạy thử trực tiếp ứng dụng khách qua Ailoot. Nếu modelProvider = gemini mà GEMINI_API_KEY trống, CLI sẽ không khởi động.
cline auth → nhà cung cấp API riêng → OpenAI Compatible: Base URL, API Key, Model ID; cờ -P/--provider chọn nhà cung cấp
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
cline auth
# API Provider: OpenAI Compatible
# Base URL: https://api.ailoot.ai/v1
# API Key: sk-...
# Model ID: claude-sonnet-5-5
cline "Chạy các bài kiểm thử và sửa lỗi"
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Các trường Base URL / API Key / Model ID được mô tả trong tài liệu Cline cho OpenAI Compatible. Tài liệu CLI không nêu nhãn chính xác của các bước trong trình hướng dẫn cline auth — hãy đối chiếu với màn hình.
GitHub xác nhận hỗ trợ điểm cuối tùy chỉnh. Ảnh chính thức hiển thị Provider Name, API Key và API Type: Chat Completions nhưng không có ví dụ URL. Vì vậy, ở đây không cung cấp cấu hình Ailoot sẵn để sao chép. JetBrains AI Assistant là phương án có hướng dẫn trong IDE này. Hãy hỏi bộ phận hỗ trợ chính thức của plugin về yêu cầu đối với URL.
Cursor Settings → Models → API Keys → OpenAI API Key + bật “Override OpenAI Base URL”; sau đó thêm ID mô hình vào danh sách mô hình riêng.
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
OpenAI API Key: sk-...
Override OpenAI Base URL: https://api.ailoot.ai/v1
Mô hình tùy chỉnh: gpt-6.1-sol (thêm, bật và chọn trong cuộc trò chuyện)
Mô hình ví dụ: gpt-6.1-sol
Quan trọng
Tài liệu chính thức hiện tại của Cursor không mô tả địa chỉ riêng: chỉ liệt kê khóa OpenAI/Anthropic/Google/Azure/Bedrock, nói rằng khóa riêng chỉ dùng trong trò chuyện (Tab vẫn dùng mô hình Cursor) và mọi yêu cầu đều đi qua máy chủ Cursor (địa chỉ phải công khai — api.ailoot.ai là công khai). Giao diện có tùy chọn thay địa chỉ, nhưng diễn đàn Cursor ghi nhận lỗi: tùy chọn áp dụng cho mọi mô hình, chế độ Agent có thể không dùng khóa riêng, và ở một số bản 3.15.x, trường nhập không nhận nội dung.
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Provider: OpenAI Chat
API Key: sk-...
Base Path: https://api.ailoot.ai/v1
Model: gpt-6.1-sol
Mô hình ví dụ: gpt-6.1-sol
Quan trọng
Tài liệu plugin nhắc đến nhà cung cấp Custom nhưng không mô tả trường địa chỉ và định dạng của nó; cấu hình được đưa ra dựa trên giao diện plugin — hãy đối chiếu với cửa sổ cài đặt.
Cmd/Ctrl+Shift+P → Open config.json → mục trong models[] (PearAI là nhánh phát triển từ Continue).
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Không kiểm tra được tài liệu chính thức của PearAI (trang tài liệu không truy cập được), kho mã đã lâu không cập nhật. Cấu trúc cấu hình được lấy theo mẫu Continue — hãy kiểm tra trong ứng dụng.
Chat → chọn mô hình → Manage models → Add custom model → nhà cung cấp OpenAI (custom endpoint) → địa chỉ, khóa, mô hình.
Cấu hình
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Blog Visual Studio (29.09.2026) công bố địa chỉ tùy chỉnh cho OpenAI và Ollama trong VS 2026 Stable, nhưng trang tài liệu vẫn chỉ mô tả khóa OpenAI/Anthropic/Google mà không có trường địa chỉ, nên tên trường và định dạng địa chỉ chưa được xác nhận. Chỉ dành cho trò chuyện; không khả dụng trên các gói Copilot Business/Enterprise.
Trước khi chạy, gọi GET /v1/models bằng khóa Ailoot của bạn. Chọn ID mô hình chính xác có các phương thức POST /v1/chat/completions rồi dùng ID đó trong cấu hình. Với tác tử, hãy kiểm tra cả công cụ và tính năng mà phiên bản ứng dụng của bạn cần.
Provider: OpenAI-Compatible
baseURL: https://api.ailoot.ai/v1 (không có /chat/completions)
API key: sk-...
Model: claude-sonnet-5-5
Mô hình ví dụ: claude-sonnet-5-5
Quan trọng
Cấu hình được lấy từ mã nguồn Void, không phải tài liệu người dùng. Kho mã Void đã được lưu trữ, trình soạn thảo không còn được phát triển — chỉ phù hợp với người đang dùng.
Không tìm thấy kết quả. Nếu ứng dụng cho phép đặt địa chỉ OpenAI hoặc Anthropic API riêng, nhiều khả năng sẽ hoạt động — đây là thông tin cần nhập.
Hiện chưa phù hợp
Các ứng dụng này không cho phép đặt địa chỉ API tùy chỉnh. Bên cạnh là giải pháp thay thế.
Ứng dụng
Lý do không phù hợp
Giải pháp thay thế
Cursor CLI (cursor-agent)
Chỉ hoạt động với các mô hình của Cursor, không thể đặt địa chỉ API tùy chỉnh.
Claude Code, Codex CLI hoặc opencode
Auggie CLI (Augment Code)
Đăng nhập bằng tài khoản Augment, không thể chỉ định nhà cung cấp bên thứ ba.
Claude Code hoặc opencode
Windsurf / Devin Desktop
Chỉ chấp nhận khóa Anthropic cho một số mô hình Claude, không thể đặt địa chỉ tùy chỉnh.
Cline, Roo Code hoặc Kilo Code trong VS Code
Kiro
Không có tùy chọn dùng khóa và địa chỉ API riêng.
Cline hoặc Roo Code
Google Antigravity (IDE)
Không có cài đặt chính thức cho nhà cung cấp tùy chỉnh; chúng tôi không khuyến nghị các bản vá của bên thứ ba.
Antigravity CLI hoặc Gemini CLI
Visual Studio với Copilot Business hoặc Enterprise
Các gói Copilot này không cho phép dùng mô hình riêng.
Gói Copilot cá nhân — xem thẻ Visual Studio 2026
Tự động hoàn thành Cursor Tab
Luôn hoạt động với các mô hình của Cursor, kể cả khi dùng khóa riêng.
Trò chuyện Cursor được cấu hình riêng — xem thẻ Cursor
Enchanted
Chỉ hoạt động với API Ollama.
Open WebUI hoặc Chatbox
Smart Connections (Obsidian)
API bên ngoài chỉ khả dụng trong gói trả phí Smart Chat Pro.
Obsidian Copilot
Witsy, 5ire
Chưa tìm thấy tài liệu chính thức về địa chỉ API tùy chỉnh.
Cherry Studio hoặc Jan
Make: mô-đun OpenAI tích hợp sẵn
Chỉ kết nối với tài khoản OpenAI.
Mô-đun HTTP → Make a request — xem thẻ Make
Zapier: ứng dụng ChatGPT (OpenAI)
Không có trường nhập địa chỉ tùy chỉnh.
Webhooks by Zapier → Custom Request — xem thẻ Zapier
Home Assistant: OpenAI Conversation
Tích hợp có sẵn chỉ hoạt động với địa chỉ OpenAI.
Extended OpenAI Conversation từ HACS — xem thẻ Home Assistant
aiogram, python-telegram-bot, grammY, Telegraf
Các framework bot không tự kết nối với mô hình.
OpenAI hoặc Anthropic SDK bên trong bot — xem thẻ bot Telegram
Xem thêm chi tiết
Kết nối API và cấu hình ứng dụng khách
Nhập địa chỉ API và khóa ở đâu trong ứng dụng khách?
Các tác nhân, trình soạn thảo, ứng dụng trò chuyện và SDK chấp nhận khóa Ailoot. Nút “Cấu hình” cho biết nơi nhập địa chỉ và khóa, cùng cấu hình có sẵn để sao chép.
Kết nối Ailoot với Claude Code, OpenCode, Hermes hoặc ứng dụng của bạn.
Công ty và danh mục dự án của công ty
Công ty và danh mục dự án của công ty: hàng triệu khách hàng; doanh số hàng tỷ mỗi tháng.
Mua token với giá ưu đãi.
Ưu đãi thuê bao cho nhu cầu thường xuyên. Mã khuyến mãi giảm đến 50% khi mua token.
Thuê bao
Chọn gói ưu đãi cho các yêu cầu thường xuyên của bạn.
Mã giảm đến 50%
Nhập mã khi mua. Giá được tính lại theo chương trình đang áp dụng.
Chi phí trong lịch sử
Mô hình, token và số tiền được lưu cho mỗi yêu cầu.
Chọn định dạng OpenAI, Anthropic hoặc Gemini mà ứng dụng khách hỗ trợ. Trên thẻ mô hình Ailoot, kiểm tra phương thức API tương thích và ID mô hình; hỗ trợ một định dạng không có nghĩa mọi mô hình đều hỗ trợ tất cả định dạng.
Tôi cần cấu hình gì trong ứng dụng khách?
Đặt khóa API Ailoot, địa chỉ API và ID mô hình tương thích với phương thức của ứng dụng khách. OpenAI SDK dùng https://api.ailoot.ai/v1; Anthropic và Gemini SDK dùng https://api.ailoot.ai. Giữ các trường yêu cầu theo ví dụ của định dạng đó.
Làm sao gửi yêu cầu API đầu tiên?
Tạo khóa API Ailoot. Đặt https://api.ailoot.ai/v1 cho OpenAI SDK, hoặc https://api.ailoot.ai cho Anthropic và Gemini SDK. GET /v1/models miễn phí và liệt kê các mô hình mà khóa của bạn có thể truy cập; sau đó dùng ví dụ cho mô hình và phương thức API đã chọn.
Cần kiểm tra gì khi ứng dụng khách đã kết nối báo lỗi?
Kiểm tra ứng dụng khách gửi đúng định dạng OpenAI, Anthropic hoặc Gemini đến địa chỉ API tương ứng bằng khóa API Ailoot của bạn. Xác nhận ID mô hình và phương thức, rồi đối chiếu lỗi trả về với hướng dẫn của ứng dụng khách. Gửi lỗi và ID yêu cầu đến support@ailoot.ai mà không chia sẻ khóa.
Có thể dùng Ailoot trong sản phẩm trả phí không?
Có. Kết nối API vào SaaS, ứng dụng hoặc bot theo đề nghị giao kết và thỏa thuận cấp phép Ailoot. Muốn bán lại, hãy yêu cầu điều khoản bằng văn bản và giấy phép bán lại cho dự án.
Làm sao xin giấy phép bán lại?
Gửi email đến support@ailoot.ai, mô tả sản phẩm làm gì, ai sử dụng và cách bạn cung cấp quyền truy cập. Yêu cầu giấy phép bán lại và điều khoản bằng văn bản cho dự án của bạn.