Trỏ Aider vào một API base tương thích OpenAI.
Updated 2026-07-29
Aider kết nối endpoint tương thích OpenAI bằng hai biến môi trường và một tiền tố model. Đặt OPENAI_API_BASE thành https://api.apisrouter.com/v1, chạy aider --model openai/<model-id>, và các phiên lập trình cặp định tuyến qua một key với mọi model trong catalog đều gọi được.
Câu trả lời nhanh: hai biến môi trường và một tiền tố model.
Đường tương thích OpenAI có tài liệu của Aider chính xác là như sau: export OPENAI_API_BASE với endpoint của bạn, export OPENAI_API_KEY với key cho nó, và thêm tiền tố openai/ vào tên model để Aider nói giao thức chat-completions tới base đó. Chuỗi sau tiền tố được chuyển thẳng tới endpoint, nên bất kỳ id nào gateway phục vụ đều dùng được, kể cả id Claude và DeepSeek. Đó là toàn bộ kết nối. Trên Mac và Linux dùng export; trên Windows dùng setx và mở một shell mới, vì setx không ảnh hưởng phiên hiện tại. Cùng các giá trị đó có thể nằm trong file cấu hình của Aider hoặc một file .env nếu bạn thích cấu hình theo từng project hơn là trạng thái shell.
export OPENAI_API_BASE=https://api.apisrouter.com/v1
export OPENAI_API_KEY=sk-APIsRouter-...
aider --model openai/claude-sonnet-4-6Cách Aider phân giải model và provider.
Aider (Aider-AI trên GitHub, khoảng 47K star) là công cụ lập trình cặp trên terminal nguyên bản: nó map repo git của bạn, nhận yêu cầu thay đổi trong chat, chỉnh sửa file trực tiếp, và commit kết quả. Bên dưới nó định tuyến lời gọi model qua litellm, đây là lý do tiền tố openai/ quan trọng: litellm đọc tiền tố để chọn giao thức provider, và openai/ nghĩa là "chat-completions tới bất cứ gì OPENAI_API_BASE nói." Một tên model không có tiền tố sẽ được suy luận provider theo cách viết của nó thay vào đó, khiến một id Claude bị định tuyến về API native của Anthropic và ANTHROPIC_API_KEY của bạn thay vì gateway của bạn. Có một hành vi đặc thù của Aider đáng biết trước phiên đầu tiên: nó giữ một registry riêng về năng lực model, và một model nó không nhận ra sẽ kích hoạt cảnh báo "Unknown context window size and costs, using sane defaults", sau đó Aider giả định một context window vô hạn và chi phí bằng không. Phiên vẫn hoạt động, nhưng hai hệ thống con hữu ích bị suy giảm: ngân sách token không thể cảnh báo bạn trước khi vượt giới hạn context thực, và bảng hiển thị chi phí trong phiên đọc bằng không. Cách sửa là một file metadata nhỏ, nói ở dưới, và đáng bỏ ra hai phút. Aider cũng chạy nhiều hơn một model mỗi phiên. Model main làm việc code chính; một model weak xử lý commit message và tóm tắt chat; và trong architect mode, một model editor riêng áp dụng kế hoạch. Mỗi model chấp nhận cùng tiền tố openai/, nên cả ba đều định tuyến qua gateway trên một key.
Cài đặt đầy đủ: kết nối cộng metadata model.
Kết nối là hai biến ở trên. Phần hoàn thiện là đăng ký metadata để Aider coi model của gateway là những đại lượng đã biết. Tạo .aider.model.metadata.json trong thư mục home của bạn, gốc repo git, hoặc thư mục làm việc (hoặc truyền --model-metadata-file), khóa bằng tên đầy đủ bao gồm tiền tố openai/; field litellm_provider nên khớp với tiền tố đó. Với max_input_tokens đã đăng ký, ngân sách context của Aider hoạt động dựa trên cửa sổ thực của model thay vì giả định nó vô hạn. Một file tùy chọn thứ hai, .aider.model.settings.yml, chỉnh hành vi theo từng model: edit_format kiểm soát cách Aider yêu cầu thay đổi code (biến thể diff cho model xử lý được, whole-file cho model không xử lý được), và use_repo_map kiểm soát việc đưa vào context của repo. Aider không thể suy luận định dạng edit tốt nhất cho một model nó không nhận ra, nên khai báo nó chính là khác biệt giữa việc một model trông tầm thường và biểu diễn đúng tầm của nó.
{
"openai/claude-sonnet-4-6": {
"max_input_tokens": 200000,
"max_output_tokens": 64000,
"litellm_provider": "openai",
"mode": "chat"
},
"openai/deepseek-v4-pro": {
"max_input_tokens": 128000,
"max_output_tokens": 16000,
"litellm_provider": "openai",
"mode": "chat"
}
}Chọn model main, weak, và editor.
Các phiên Aider dài và lặp lại, điều này khiến việc so sánh model trở nên trung thực bất thường ở đây: chạy cùng một feature branch với hai model main vào hai ngày khác nhau và chênh lệch hiện ra ở tần suất bạn gõ /undo. Một endpoint khiến mỗi ứng viên chỉ là một thay đổi flag, và mức dùng theo từng key định giá mỗi thử nghiệm.
- Model main gánh mọi chỉnh sửa. Nó đọc repo map, lý luận trên file của bạn, và tạo ra diff, nên đây là nơi claude-sonnet-4-6 hoặc gpt-5.5 thuộc về; một model vụng về với cú pháp diff sẽ tốn thời gian review của bạn ở mỗi thay đổi.
- Model weak (--weak-model) viết commit message và tóm tắt lịch sử chat. Nó chạy liên tục và không bao giờ chạm vào code, nên hãy định tuyến nó tới một id nhanh, giá rẻ qua cùng gateway thay vì để nó mặc định về nơi khác.
- Architect mode tách planning khỏi editing: model main lên kế hoạch, model editor (--editor-model) áp dụng. Một reasoner mạnh lên kế hoạch cùng một id tinh chỉnh cho code như kimi-k2.7-code áp dụng là một cặp ghép mà key đơn vendor không thể biểu đạt.
- deepseek-v4-pro và gpt-5.4 đáng benchmark làm model main hàng ngày cho công việc nặng về refactor, nơi khối lượng token theo từng phiên khiến chênh lệch giá cộng dồn.
Trả theo mức sử dụng · thấp hơn giá chính thức
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Mô hình | Giá chính thức | Giá của chúng tôi |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| GPT-5.4 | $2.50 / $15.00 per M | $2.00 / $12.00 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
| Kimi K2.7 Code | $0.95 / $4.00 per M | $1.00 / $4.00 per M |
Các kiểu lỗi đặc thù của Aider.
Tin vào "sane defaults." Fallback cho model không xác định giả định context vô hạn và chi phí bằng không. Trong thực tế, điều đó nghĩa là Aider sẽ vui vẻ để một phiên dài phình vượt cửa sổ thực của model cho tới khi gateway từ chối request hoặc model âm thầm mất context đầu, và trình theo dõi chi phí không hiện gì suốt thời gian đó. Đăng ký metadata; cả hai vấn đề biến mất. Bỏ tiền tố openai/. Nếu thiếu nó, litellm suy luận provider từ tên model. Id Claude bị định tuyến về API của Anthropic và thất bại vì thiếu ANTHROPIC_API_KEY, đọc giống một vấn đề key trong khi thực ra là vấn đề tiền tố. Metadata không khớp. Các entry trong .aider.model.metadata.json được khóa bằng tên đầy đủ, bao gồm tiền tố, và litellm_provider nên khớp với tiền tố đó. Một khóa id trần hoặc field provider không khớp sẽ âm thầm không áp dụng được, và bạn quay lại với default mà không có lỗi nào nói vậy. Trạng thái shell trên Windows. setx chỉ ghi biến cho các shell trong tương lai. Chạy aider trong cùng terminal bạn vừa chạy setx sẽ dùng môi trường cũ, và lỗi 401 kết quả là vấn đề vòng đời shell, không phải vấn đề credential. Sai định dạng edit. Một model chưa đăng ký nhận một định dạng edit mặc định có thể không phải cái nó xử lý tốt nhất. Nếu một model mạnh liên tục tạo ra các edit bị Aider từ chối, hãy đặt edit_format tường minh trong .aider.model.settings.yml trước khi kết luận model không biết code.
Ai định tuyến Aider qua một gateway.
- Người dùng Aider hàng ngày muốn Claude, GPT, và DeepSeek chuyển đổi được theo từng phiên bằng --model, mà không cần duy trì một tài khoản vendor cho mỗi họ model.
- Lập trình viên ghép một model main flagship với một model weak nhanh cho commit message, cả hai tính tiền vào một key với khả năng quan sát theo từng phiên.
- Người dùng architect mode trộn một model lên kế hoạch và một model chỉnh sửa từ các vendor khác nhau trong cùng một phiên.
- Đội onboard kỹ sư với một secret duy nhất thay vì một danh sách key vendor, với mức dùng theo từng key làm báo cáo chi tiêu.
- Lập trình viên không có quyền truy cập billing của một vendor cụ thể. Truy cập dựa trên nạp tiền không yêu cầu thẻ loại bỏ phụ thuộc đăng ký theo từng provider.
Xác minh endpoint và debug phiên đầu tiên.
Liệt kê model của gateway trước khi bắt đầu; id sau openai/ phải khớp chính xác một id được phục vụ, bao gồm cả hậu tố phiên bản. Các thất bại phiên đầu tiên phân loại nhanh chóng. Lỗi 401 nghĩa là OPENAI_API_KEY không hiển thị với shell đã khởi chạy aider (chỉ shell mới trên Windows sau setx; kiểm tra echo trong cùng terminal). Một lỗi model-not-found từ gateway là lỗi gõ id. Một lỗi nhắc tới key của vendor khác nghĩa là một tên model không tiền tố bị định tuyến kiểu native. Và cảnh báo model-không-xác-định lúc khởi động không phải một lỗi, nhưng đó là tín hiệu để thêm file metadata trước một phiên dài, không phải sau khi nó chạm giới hạn context thực. Trong phiên, chỉ số token và chi phí của chính Aider trở nên chính xác một khi metadata đã đăng ký, và console APIsRouter hiển thị cùng các phiên đó từ phía endpoint: model theo từng request, số lượng token, và chi tiêu. Với một lập trình viên cặp cả ngày, góc nhìn theo từng key đó là câu trả lời trung thực cho việc một tuần dùng Aider thực sự tốn bao nhiêu.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY" | head -50Câu hỏi thường gặp
Làm sao để kết nối Aider với một endpoint tương thích OpenAI?
Export OPENAI_API_BASE với URL endpoint và OPENAI_API_KEY với key của nó, sau đó chạy aider --model openai/<model-id>. Đây là đường openai-compat có tài liệu của Aider; tiền tố openai/ báo cho lớp litellm của nó nói chat-completions tới base URL của bạn.
Aider có thể chạy model Claude hoặc DeepSeek qua cài đặt này không?
Có. Id sau openai/ được chuyển thẳng tới endpoint như một chuỗi văn bản thuần, nên bất kỳ model nào gateway phục vụ đều hoạt động: aider --model openai/claude-sonnet-4-6 hoặc openai/deepseek-v4-pro. Giữ tiền tố, nếu không id sẽ bị suy luận provider và định tuyến ra khỏi base của bạn.
Cảnh báo "Unknown context window size and costs" nghĩa là gì?
Aider không nhận ra model, nên nó giả định một context window vô hạn và chi phí bằng không. Phiên vẫn hoạt động, nhưng ngân sách context và hiển thị chi phí sai. Đăng ký model trong .aider.model.metadata.json, khóa bằng tên openai/ đầy đủ của nó, và cảnh báo cùng cả hai vấn đề biến mất.
Model weak và model editor có định tuyến qua gateway không?
Có, nếu bạn trỏ chúng vào đó: --weak-model openai/<fast-id> cho commit message và tóm tắt, và --editor-model openai/<id> trong architect mode. Cả ba slot đều chấp nhận tiền tố, nên một key có thể bao phủ một hỗn hợp main/weak/editor đa vendor.
Vì sao Aider vẫn hỏi key Anthropic?
Một tên model được nhập vào mà không có tiền tố openai/. litellm suy luận vendor từ tên và thử tuyến native của Anthropic, thứ muốn ANTHROPIC_API_KEY. Thêm tiền tố và request sẽ tới OPENAI_API_BASE với key gateway của bạn thay vào đó.
Tôi có nên đặt edit_format cho model gateway không?
Với các model Aider không nhận ra, có. edit_format trong .aider.model.settings.yml kiểm soát cách Aider yêu cầu thay đổi code, và các model flagship nhìn chung làm việc tốt nhất với định dạng diff. Để một model chưa xác định ở default có thể khiến một model mạnh trông tệ hơn thực tế.