Tài liệu

Tài liệu

Open Interpreter

Open Interpreter đọc nhà cung cấp từ một bảng TOML, giống như tổ tiên Codex của nó — nhưng vẫn giữ giao thức Chat Completions mà Codex upstream đã loại bỏ. Chỉ cần một khối [model_providers.kunavo] là agent có thể chạy bất kỳ mô hình nào mà khóa truy cập được.

Một bảng [model_providers.kunavo] trong ~/.openinterpreter/config.toml — base_url, env_key, wire_api = "chat" — để agent terminal Rust chạy mọi model mà key truy cập được.

~/.openinterpreter/config.toml
model_provider = "kunavo"
model = "claude-sonnet-5"

[model_providers.kunavo]
name = "Kunavo"
base_url = "https://api.kunavo.com/v1"
env_key = "KUNAVO_API_KEY"     # the NAME of the variable, not the key
wire_api = "chat"
URL cơ sở giữ nguyên hậu tố /v1 trên giao thức chat. Tài liệu Open Interpreter làm rõ điều này bằng ví dụ thay vì nêu thành quy tắc: khối nhà cung cấp tùy chỉnh trên trang nhà cung cấp dùng base_url = "https://api.example.com/v1", khối trên trang cấu hình dùng "https://api.acme.example/v1", còn cổng lưu trữ được họ nêu tên dùng "https://app.nz/v1". Bỏ hậu tố này sẽ dẫn đến lỗi 404, chứ không phải lỗi xác thực.
Kunavo chưa chạy thử ứng dụng khách này với điểm cuối của mình — không phải ứng dụng này, cũng không phải ứng dụng khách nào khác trên các trang này. Điều đã được kiểm tra là phần cấu hình: các khóa bên dưới là những khóa được in trong tài liệu chính thức của Open Interpreter, được xem vào ngày ghi ở cuối trang này; URL cơ sở và mã model là của Kunavo. Trang hướng dẫn thiết lập đã xuất bản không đồng nghĩa với một lần chạy thử. Hãy dùng yêu cầu xác minh để xác nhận cấu hình hoạt động.
Có hai chương trình khác nhau cùng mang tên "Open Interpreter", và khối cấu hình này dành cho phiên bản Rust. Gói Python được cố định ở phiên bản 0.4.3 được cấu hình qua --api_base, --api_key và --model openai/<id>, hoặc qua interpreter.llm trong Python. Những mục đó không có trong tác nhân dòng lệnh hiện tại, vốn chỉ đọc bảng TOML ở trên. Chạy interpreter --version trước khi chỉnh sửa bất cứ thứ gì — một pip install open-interpreter từ hướng dẫn cũ sẽ khiến một tệp nhị phân thứ hai tranh dùng cùng tên.
Mã model Claude khiến Open Interpreter tự chọn bộ xử lý claude-code — các giá trị mặc định được tài liệu nêu sẽ chọn bộ xử lý này khi gặp "Anthropic, mã model Claude, URL cơ sở Anthropic hoặc bất kỳ nhà cung cấp messages nào". Đây là một cách kết hợp hợp lệ trong trường hợp này: bảng định tuyến liệt kê claude-code là tương thích với wire_api = "chat". Hãy đặt rõ harness nếu bạn muốn dùng bộ xử lý khác; giá trị được đặt rõ luôn được ưu tiên, còn giá trị không được nhận diện sẽ chuyển về chat mà không có bộ tạo yêu cầu tích hợp sẵn, thay vì báo lỗi rõ ràng.
Chưa có khóa? Tạo tài khoản Kunavo, tạo khóa (bắt đầu bằng sk-kn-) và nạp tín dụng từ $10 — các lệnh gọi được thanh toán từ số dư đó và các lệnh gọi thất bại không bị tính phí. Sau đó, bảng điều khiển mở tại phần thiết lập Open Interpreter.

Từng bước

  1. Tạo khóa tại /app/keys rồi sao chép khóa — khóa chỉ hiển thị một lần.
  2. Xuất biến với tên bạn sắp ghi vào env_key: export KUNAVO_API_KEY=sk-kn-.... Trường đó chứa tên biến, không phải giá trị của biến — tài liệu liệt kê env_key là nguồn "đọc bearer token từ một biến môi trường".
  3. Đặt khối cấu hình ở trên vào ~/.openinterpreter/config.toml, hoặc vào .openinterpreter/config.toml trong một dự án đáng tin cậy nếu bạn muốn cấu hình chỉ áp dụng cho một kho lưu trữ. Cấu hình dự án được ưu tiên hơn cấu hình người dùng; cờ -c key=value được ưu tiên hơn cả hai trong lần chạy đó.
  4. Khởi chạy interpreter rồi chạy /model. Bộ chọn sẽ hỏi tuyến models của nhà cung cấp đang hoạt động trước, và Kunavo trả về GET /v1/models, vì vậy danh sách sẽ tự động được điền.
  5. Chạy /debug-config nếu các giá trị đang dùng không đúng — lệnh này in cấu hình đang có hiệu lực và nguồn của từng giá trị, giúp xác định hồ sơ cũ hoặc tệp dự án nhanh hơn việc đọc lại TOML.

Đã kiểm tra đối chiếu với Trang Nhà cung cấp mô hình của Open Interpreter vào 21 tháng 9, 2026. Cài đặt của bên thứ ba có thể thay đổi; nếu tên trường ở đây không còn khớp với những gì bạn thấy, trang đó là nguồn có thẩm quyền, không phải trang này.

Đây là phiên bản ngắn. Hướng dẫn đầy đủ — lựa chọn mô hình, chi phí của một phiên thực tế và các trường hợp lỗi — nằm trong sự khác biệt giữa các phiên bản Open Interpreter, giá cả và các lựa chọn thay thế.

Xác minh trước khi gỡ lỗi ứng dụng khách

Một yêu cầu sẽ xác định liệu lỗi nằm ở endpoint, khóa hay tệp cấu hình. Nếu lệnh này trả về JSON, cùng base URL và khóa sẽ hoạt động trong Open Interpreter.

# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer sk-kn-..."

Đặt model id nào vào trường

Mọi mô hình văn bản đều có thể truy cập bằng model id — danh sách đang hoạt động là GET /v1/models, còn danh mục kèm giá nằm trên trang mô hình. Mức giá tính bằng USD trên mỗi 1M token, đầu vào / đầu ra.

ID mô hìnhKunavo vào / raPhù hợp ở đâu trong Open Interpreter
claude-sonnet-5$1.40 / $7.00model làm việc mặc định cho các vòng lặp chỉnh sửa và chạy
claude-opus-5$3.50 / $17.50lập kế hoạch cho đợt tái cấu trúc lớn, khi một kế hoạch sai sẽ tốn kém
claude-haiku-4-5$0.70 / $3.50các phiên làm việc nặng về shell, khi số lượt trao đổi là yếu tố chi phối
gpt-5-6-sol$2.00 / $12.00ý kiến thứ hai từ một dòng model khác, dùng cùng khóa
Thanh toán theo token từ số dư trả trước, không có phí hàng tháng — xem trang Thanh toán. Với ngữ cảnh lặp lại — chiếm phần lớn dữ liệu mà trình chỉnh sửa hoặc ứng dụng trò chuyện gửi đi — bộ nhớ đệm prompt ảnh hưởng đến hóa đơn nhiều hơn lựa chọn mô hình.

Câu hỏi thường gặp

Làm cách nào để trỏ Open Interpreter đến một nhà cung cấp API tùy chỉnh?

Thêm bảng [model_providers.<id>] vào ~/.openinterpreter/config.toml với các trường name, base_url, env_key và wire_api, sau đó chọn nhà cung cấp bằng khóa model_provider cấp cao nhất và chỉ định model bằng model. Với điểm cuối tương thích OpenAI, dùng wire_api = "chat" và URL cơ sở kết thúc bằng /v1 — đây là cấu trúc mà trang nhà cung cấp của chính Open Interpreter đưa ra cho nhà cung cấp tùy chỉnh và cổng lưu trữ được họ nêu tên. env_key chứa tên biến môi trường, vì vậy hãy xuất khóa dưới dạng biến môi trường thay vì dán khóa vào tệp.

base_url của Open Interpreter có cần kết thúc bằng /v1 không?

Có, trên giao thức chat. Tài liệu không nêu thành lời quy tắc tạo đường dẫn, nhưng mọi ví dụ nhà cung cấp tùy chỉnh được in đều có hậu tố này: https://api.example.com/v1 trên trang nhà cung cấp, https://api.acme.example/v1 trên trang cấu hình và https://app.nz/v1 cho cổng được nêu tên. Giao thức messages hoạt động khác — các nhà cung cấp kiểu Anthropic có sẵn trong ứng dụng khách dùng gốc API không có /v1 — vì vậy câu trả lời /v1 chỉ áp dụng cho wire_api = "chat" và wire_api = "responses".

Các cờ --api_base và --model openai/... cũ còn hoạt động không?

Không. Chúng thuộc về gói Python được cố định ở phiên bản 0.4.3, gói này định tuyến qua LiteLLM nên cần tiền tố openai/. Tác nhân dòng lệnh hiện tại là một nhánh Rust của Codex, không có các cờ đó cũng như quy ước tiền tố ấy: nó đọc bảng nhà cung cấp TOML từ ~/.openinterpreter/config.toml hoặc .openinterpreter/config.toml cấp dự án, rồi chọn nhà cung cấp bằng model_provider và model. Cấu hình được viết lại từ đầu, còn docs.openinterpreter.com chuyển hướng đến tài liệu Rust; vì vậy các liên kết trong hướng dẫn cũ vẫn mở được nhưng mô tả một chương trình chưa được cài đặt trên máy bạn.

Vì sao bộ chọn /model không hiển thị cửa sổ ngữ cảnh cho nhà cung cấp tùy chỉnh?

Vì siêu dữ liệu đó đến từ danh mục được đóng gói cùng ứng dụng khách. Danh mục này được tạo từ models.dev cùng một số ít điểm cuối nhà cung cấp trực tuyến và chỉ được khởi tạo khi nhà cung cấp khớp với một mục theo danh tính Anthropic, URL cơ sở, tên nhà cung cấp hoặc biến môi trường xác thực. Kunavo không có trong danh mục được tạo này — đã kiểm tra tệp trong kho lưu trữ vào ngày 21 tháng 9 năm 2026 — nên nhà cung cấp được viết thủ công lấy danh sách model từ chính tuyến models của điểm cuối và không có thông tin nào khác. Các model vẫn chạy; chỉ là bộ chọn có ít thông tin hơn để hiển thị bên cạnh chúng.

Open Interpreter có thể truy cập model Claude mà không cần tài khoản Anthropic không?

Có, vì wire_api chỉ định giao thức truyền tải chứ không phải nhà cung cấp. Với wire_api = "chat", mã model được chuyển tiếp đến base_url bạn đã cấu hình và được phân giải tại đó, nên thông tin xác thực bạn có là thông tin xác thực của điểm cuối. Open Interpreter vẫn sẽ tự chọn bộ xử lý claude-code dựa trên mã model Claude, và bộ xử lý đó được liệt kê là tương thích với giao thức chat; vì vậy đây là cách kết hợp được tài liệu hỗ trợ, không phải giải pháp lách.