Docs / Công cụ & SDK
DeepSeek Harness (dsh)
dsh: provider openai-completions cho deepseek-*, anthropic-messages cho claude-*.
Chạy dsh
# Web UI tại http://127.0.0.1:3080 (--no-open để không tự mở trình duyệt)
npx @deepseek-ai/dsh webMở Settings → Models. Nếu dsh mời đăng nhập tài khoản DeepSeek thì bỏ qua — bạn thêm nhà cung cấp riêng bằng key của chúng tôi ở nút "Add model provider" → chuyển thẻ sang "Custom model API".
dsh cho chọn ba giao thức: OpenAI Chat Completions, OpenAI Responses và Anthropic Messages. Gateway của chúng tôi không dịch giao thức, nên muốn dùng cả hai họ model thì tạo HAI provider — cùng lúc, trong cùng một phiên.Provider 1 — OpenAI-compatible (deepseek-*, gpt-*, grok-*)
| Trường | Giá trị |
|---|---|
| Provider ID | apimodelhub |
| Display name | Apimodelhub (OpenAI) |
| Base URL | https://api.apimodelhub.com/v1 |
| API protocol | openai-completions |
| API key | sk-spk-… |
Bấm "Fetch available models": dsh gọi thẳng GET /v1/models bằng key vừa nhập và liệt kê đúng những model key bạn gọi được. Tick model bạn cần (vd. deepseek-flash, gpt-5.4), rồi Create provider. Nếu bước này báo lỗi hoặc không liệt kê gì, thêm id bằng tay — kết quả y hệt.
Provider 2 — Anthropic Messages (claude-*)
| Trường | Giá trị |
|---|---|
| Provider ID | apimodelhub-claude |
| Display name | Apimodelhub (Claude) |
| Base URL | https://api.apimodelhub.com |
| API protocol | anthropic-messages |
| API key | dùng lại đúng key ở trên |
anthropic-messages tự nối /v1/messages, nên base URL là https://api.apimodelhub.com. Bước "Fetch available models" thường không đọc được danh sách model của giao thức Anthropic — đây là giới hạn của dsh, không phải của chúng tôi: bấm "Add model" và gõ id, vd. claude-sonnet-5-5.Khai thẳng trong file cấu hình
Thẻ Custom model API chỉ là giao diện của một file cấu hình: dsh ghi mọi provider vào $DSH_HOME/profiles/<profile>/cordis.patch.yml (với dsh web thì <profile> là web). Sửa file này thì không cần khởi động lại — adapter đọc lại ở request kế tiếp. Key lưu riêng ở $DSH_HOME/.credentials.yaml, không bao giờ ghi vào file cấu hình.
- id: llm-pi-ai
config:
providers:
apimodelhub:
apiKeyEnv: APIMODELHUB_API_KEY
api: openai-completions
baseURL: https://api.apimodelhub.com/v1
models:
- id: deepseek-flash
- id: gpt-5.4
apimodelhub-claude:
apiKeyEnv: APIMODELHUB_CLAUDE_API_KEY
api: anthropic-messages
baseURL: https://api.apimodelhub.com
models:
- id: claude-sonnet-5-5export APIMODELHUB_API_KEY=sk-spk-...
export APIMODELHUB_CLAUDE_API_KEY=sk-spk-...dsh không kiểm tra id khi bạn gõ tay: id của DeepSeek/Anthropic gửi kèm hậu tố (hoặc id không có trong bảng giá) sẽ trả 404 ở request đầu tiên. Tra id bằng GET /v1/models.