Cấu hình khóa bên thứ ba DeepSeek Harness — nhà cung cấp tùy chỉnh APIMaster.ai
Cách thêm khóa API tương thích OpenAI của APIMaster.ai trong DeepSeek Harness (dsh). Mở Settings → Models → Add a custom provider, điền Base URL, khóa và ID mô hình, rồi chọn mô hình trong chat.
DeepSeek Harness (dsh) là khung agent cục bộ mã nguồn mở của DeepSeek. Web UI mặc định tại http://127.0.0.1:3080. Thẻ DeepSeek chỉ nhận khóa chính thức. Để dùng GPT / Claude / DeepSeek và các mô hình marketplace khác qua APIMaster, hãy Add a custom provider.
Lấy API Key trước. Khóa lưu tại
$DSH_HOME/.credentials.yaml(mặc định~/.dsh/). Đừng chia sẻ trong chat hay ảnh chụp màn hình.
Điều kiện tiên quyết
- Node.js
22.19+hoặc24+. - Web UI đang chạy:
npx @deepseek-ai/dsh web
Mở URL in ra trên terminal (thường là http://127.0.0.1:3080).
3. Đã sao chép khóa từ console APIMaster.
4. model id từ marketplace (ví dụ gpt-5.6-sol, claude-sonnet-4-6, deepseek-v4-pro).
Bước 1 — Mở Models
- Mở Settings.
- Chọn Models.
- Đừng bấm Edit trên thẻ DeepSeek — đó là khóa chính thức.

| Nút | Công dụng |
|---|---|
| + Add provider | Danh mục (Anthropic, OpenAI, …) |
| + Add a custom provider | APIMaster (cái này) |
Bước 2 — Điền nhà cung cấp tùy chỉnh
| Trường | Giá trị |
|---|---|
| Provider ID | apimaster (chữ thường; không đổi tên sau khi lưu) |
| Display name | apimaster hoặc APIMaster.ai |
| Base URL | https://apimaster.ai/v1 (phải có /v1) |
| API protocol | openai-completions |
| API key | Khóa APIMaster của bạn |
Thêm ít nhất một mô hình (trái = model id, phải = tên hiển thị, ví dụ gpt-5.6-sol) hoặc Fetch available models. Bấm Create provider.

Id không có trong danh sách thất bại cục bộ với UNKNOWN_MODEL. Thiếu /v1 thì fetch và chat sẽ lỗi.
- Đối với các mô hình thị giác, cũng hãy kiểm tra cấu hình đầu vào hình ảnh bên dưới. Chỉ riêng việc thêm mô hình trong giao diện người dùng có thể không bật được hỗ trợ hình ảnh.
Mô hình Vision / Đa phương thức với Nhà cung cấp tùy chỉnh
Nếu một mô hình bạn thêm thủ công hỗ trợ hình ảnh, bạn có thể cần khai báo khả năng đó trong .dsh/settings.yaml. Biểu mẫu nhà cung cấp tùy chỉnh hiện không có trường cho loại đầu vào của mô hình, vì vậy chỉ cấu hình mô hình trong giao diện người dùng là chưa đủ khi khả năng thị giác của nó không có trong danh mục mô hình.
Mở $DSH_HOME/settings.yaml (mặc định là ~/.dsh/settings.yaml) và chỉnh sửa mục nhà cung cấp và mô hình hiện có. Giữ nguyên Provider ID, thông tin xác thực, Base URL và các cài đặt khác bạn đã cấu hình; hợp nhất các trường bên dưới vào mục đó thay vì thay thế tệp.
Bật hỗ trợ hình ảnh cho một mô hình cụ thể
Thêm input: [text, image] vào mô hình hỗ trợ thị giác:
llm-pi-ai:
providers:
my-gateway:
apiKeyEnv: GATEWAY_API_KEY
api: openai-completions
baseURL: https://your-api-endpoint/v1
models:
- id: legacy-chat
- id: vision-model
input: [text, image]
Provider ID và model ID ở trên chỉ là các giá trị giữ chỗ. Đối với cấu hình APIMaster của bạn, hãy sử dụng Provider ID đã lưu của bạn (ví dụ: apimaster), https://apimaster.ai/v1 và các model ID thực tế. apiKeyEnv đặt tên cho một biến môi trường chứa khóa của bạn; nếu bạn đã lưu khóa qua giao diện người dùng, hãy giữ nguyên cấu hình thông tin xác thực hiện có.
input: [text, image]khai báo hỗ trợ cả đầu vào văn bản và hình ảnh chỉ cho riêng mô hình đó. Trong ví dụ này, nó áp dụng chovision-modelvà không thay đổilegacy-chat.- Nếu
inputbị bỏ qua hoặc được đặt thành[], Harness sử dụng thông tin khả năng của danh mục mô hình. Nếu danh mục không có thông tin tương ứng, nó sẽ dự phòng sangdefaultInputcủa nhà cung cấp / route. - Khai báo tường minh ở cấp độ mô hình đặc biệt hữu ích cho các mô hình được thêm thủ công mà danh mục không nhận diện được khả năng thị giác.
Đặt giá trị mặc định cho các mô hình của một nhà cung cấp
Nếu tất cả các mô hình được thêm thủ công trong một nhà cung cấp tùy chỉnh đều hỗ trợ hình ảnh, việc đặt defaultInput: [text, image] trên nhà cung cấp sẽ ngắn gọn hơn:
llm-pi-ai:
providers:
vision-gateway:
apiKeyEnv: GATEWAY_API_KEY
api: openai-completions
baseURL: https://your-api-endpoint/v1
defaultInput: [text, image]
models:
- id: first-model
- id: second-model
| Trường | Phạm vi | Khi nào sử dụng |
|---|---|---|
input |
Khả năng đầu vào của một mô hình | Ưu tiên dùng khi chỉ một số mô hình hỗ trợ hình ảnh |
defaultInput |
Khả năng đầu vào mặc định cho các mô hình trên nhà cung cấp / route đó | Tiện lợi khi tất cả các mô hình được thêm thủ công đều hỗ trợ hình ảnh |
Thứ tự phân giải: input của mô hình không rỗng → thông tin khả năng của danh mục mô hình → defaultInput của nhà cung cấp / route (mặc định là [text]). defaultInput chỉ là phương án dự phòng; nó không ghi đè khai báo tường minh của mô hình hoặc các khả năng đã biết của danh mục. Nếu danh mục mô tả một mô hình thị giác là chỉ hỗ trợ văn bản, hãy đặt tường minh input: [text, image] cho mô hình đó.
Các cài đặt này khai báo khả năng; chúng không thêm hỗ trợ thị giác cho một mô hình chỉ hỗ trợ văn bản. Mô hình và API của nhà cung cấp tùy chỉnh đều phải hỗ trợ định dạng đầu vào hình ảnh đang được gửi.
Lưu tệp và gửi một yêu cầu mới kèm theo hình ảnh. Harness đọc lại cài đặt ở yêu cầu tiếp theo, vì vậy thông thường không cần khởi động lại. Nếu thay đổi không có hiệu lực, hãy tải lại giao diện người dùng hoặc khởi động lại DeepSeek Harness và chọn lại mô hình đã cấu hình.
Bước 3 — Xác nhận đã lưu
Bạn phải thấy DeepSeek và apimaster với huy hiệu xám Custom.

Bước 4 — Chọn mô hình trong chat
Trong bộ chọn, chọn mô hình thuộc nhóm apimaster, không phải nhóm DeepSeek.

Bước 5 — Tin nhắn thử
Gửi hi. Một phản hồi bình thường kèm số liệu ở chân trang (LLM / TTFT / tok) nghĩa là khóa và Base URL hoạt động cho các yêu cầu văn bản. Để xác minh khả năng thị giác, hãy gửi thêm một hình ảnh sau khi cấu hình đầu vào hình ảnh.

Xử lý sự cố
| Hiện tượng | Cách xử lý |
|---|---|
| Không thấy form | Settings → Models → + Add a custom provider |
401 / MISSING_CREDENTIAL |
Dán lại khóa trong Edit |
| Không kết nối | https://apimaster.ai/v1 |
UNKNOWN_MODEL |
Thêm id vào danh sách Models |
| Vẫn đi DeepSeek chính thức | Chọn dòng trong nhóm apimaster |
| Sai Provider ID | Tạo mới rồi Delete cái cũ |
| Hình ảnh bị từ chối | Kiểm tra khả năng thị giác của mô hình và input / defaultInput trong ~/.dsh/settings.yaml; xem danh sách kiểm tra xử lý sự cố hình ảnh bên dưới |
Hình ảnh không hoạt động với mô hình được thêm thủ công
Nếu các yêu cầu văn bản hoạt động nhưng các yêu cầu chứa hình ảnh bị lỗi, hãy kiểm tra:
- Hỗ trợ của mô hình: mô hình đã chọn thực sự hỗ trợ đầu vào thị giác / hình ảnh.
- Cấu hình mô hình: mục của nó trong
.dsh/settings.yamlkhai báoinput: [text, image]nếu danh mục không nhận diện được khả năng thị giác của nó. - Giá trị mặc định của nhà cung cấp: ngoài ra, nhà cung cấp có
defaultInput: [text, image]cho trường hợp cần dự phòng. Nếu khai báo mô hình hoặc mục danh mục ghi là chỉ hỗ trợ văn bản, hãy dùnginputở cấp độ mô hình để bật tường minh hỗ trợ hình ảnh cho một mô hình được hỗ trợ. - Cấu hình được tải: lưu tệp cài đặt được phiên bản đang chạy sử dụng và thử lại. Nếu thay đổi không được phản ánh, hãy tải lại giao diện người dùng hoặc khởi động lại DeepSeek Harness.
- Tương thích API: giao thức API và endpoint của nhà cung cấp tùy chỉnh chấp nhận định dạng đầu vào hình ảnh do Harness gửi. Chỉ riêng một yêu cầu văn bản thành công thì chưa xác minh được khả năng tương thích hình ảnh.
Xem Mô hình Vision / Đa phương thức với Nhà cung cấp tùy chỉnh để biết cả hai ví dụ YAML.
Danh sách kiểm tra
- Đã chạy
npx @deepseek-ai/dsh web - Dùng + Add a custom provider
- API protocol =
openai-completions - Base URL =
https://apimaster.ai/v1 - Mô hình nhóm apimaster trả lời được
- Đối với các mô hình thị giác, đầu vào hình ảnh được khai báo hoặc được phân giải từ danh mục và một yêu cầu chứa hình ảnh thành công
