Client/DeepSeek Harness

Dùng Wokey API với DeepSeek Harness

Lấy khóa API Wokey, trỏ DeepSeek Harness đến base URL của Wokey, rồi xác nhận kết nối bằng một yêu cầu curl.

Cập nhật

Trên trang nàyexpand_more

Lấy khóa API và base URLlink

Mọi client đều dùng cùng một khóa API Wokey và cùng một base URL.

Tạo khóa API

Đăng nhập và tạo khóa nền tảng trên trang API. Các khóa trong cùng một tài khoản dùng chung số dư của tài khoản đó.

Tạo khóa APIkey

Dùng base URL của Wokey

Đặt base URL của client là tên miền của gateway; cấu hình bên dưới cho biết có cần thêm /v1 hay không.

Cấu hình clientlink

DeepSeek Harness (dsh) chấp nhận gateway tùy chỉnh, nên một khóa Wokey dùng được cho các mô hình DeepSeek, GPT, GLM và Claude. deepseek-v4.1-flash hỗ trợ Chat Completions, Responses và Anthropic Messages; cấu hình bên dưới đặt Claude Opus 5.5 và DeepSeek-V4.1-Flash dưới cùng một provider Anthropic Messages và khai báo đầu vào hình ảnh cho cả hai.

  1. 1

    Cài bản phát hành trước 0.2.1

    Tag latest trên npm vẫn là 0.2.0; DeepSeek khuyên dùng v0.2.1-rc.1 trở lên cho V4.1-Flash-1017, vì vậy hãy cài @next.

  2. 2

    Đặt biến khóa API

    Cấu hình chỉ ghi tên apiKeyEnv, nên khóa không bao giờ nằm trong tệp. Bạn cũng có thể lưu khóa tại Settings → Models trong giao diện web.

  3. 3

    Thêm provider

    Sửa ~/.dsh/profiles/web/cordis.patch.yml (profiles/headless với dsh headless). Ví dụ này dùng Anthropic Messages cho cả hai mô hình, với base URL là https://api.wokey.ai. Nếu bạn chọn OpenAI Chat Completions, hãy tạo một provider riêng và dùng https://api.wokey.ai/v1.

  4. 4

    Khai báo đầu vào hình ảnh

    DeepSeek Harness coi mô hình tùy chỉnh chưa khai báo là chỉ nhận văn bản, nên có thể từ chối ảnh trước khi Wokey nhận được yêu cầu, kể cả khi mô hình trên Wokey hỗ trợ thị giác. Với Opus 5.5, Haiku 5.5 hoặc bất kỳ mô hình thị giác nào khác, hãy thêm input: [text, image] dưới mô hình đó; trong giao diện, vào Settings → Models → sửa provider → Customized settings → mở rộng hàng của mô hình → Input types → Image. Lưu lại, rồi bắt đầu một phiên mới.

  5. 5

    Giữ các provider hiện có

    Cấu hình ghi đè này thay thế toàn bộ config của mục llm-pi-ai, nên nếu bạn đã thêm provider trong giao diện, hãy liệt kê chúng dưới providers nữa. Dùng dấu cách cho mọi mức thụt lề và không trộn tab vào YAML. Bắt đầu một phiên mới sau khi lưu.

DeepSeek Harness
# 1. Cài hoặc cập nhật lên 0.2.1
npm install -g @deepseek-ai/dsh@next
export WOKEY_API_KEY="YOUR_API_KEY"

# 2. ~/.dsh/profiles/web/cordis.patch.yml
- id: llm-pi-ai
  config:
    providers:
      wokey:
        displayName: Wokey
        apiKeyEnv: WOKEY_API_KEY
        api: anthropic-messages
        baseURL: https://api.wokey.ai
        models:
          - id: claude-opus-5-5
            name: Claude Opus 5.5
            contextWindow: 1000000
            input: [text, image]
          - id: deepseek-v4.1-flash
            name: DeepSeek-V4.1-Flash
            contextWindow: 1000000
            maxTokens: 393216
            input: [text, image]
- id: agent-default-model
  config:
    provider: wokey
    model: claude-opus-5-5

# 3. Khởi động
dsh web

Định dạng API và base URLlink

Khi một client chuyển sang định dạng API khác, việc base URL có kết thúc bằng /v1 hay không có thể thay đổi.

Định dạngBase URLDùng cho
OpenAI Chat Completionshttps://api.wokey.ai/v1DeepSeek, GLM, Kimi và các mô hình khác
Anthropic Messageshttps://api.wokey.aiMô hình Claude

Nơi cấu hình: ~/.dsh/profiles/web/cordis.patch.yml

Phí Search / Fetch và phạm vi hỗ trợ của Wokeylink

Wokey cung cấp các giao diện suy luận mô hình được liệt kê trên trang này, không cung cấp endpoint độc lập /v1/tools/search hay /v1/tools/fetch. Hỗ trợ gọi công cụ không có nghĩa là hỗ trợ mọi công cụ web tích hợp sẵn của upstream. Tìm kiếm phía máy chủ trong request mô hình phụ thuộc vào tuyến cung cấp thực tế và hiện không được liệt kê là tính năng Wokey đã xác minh và hỗ trợ đồng nhất; trang này không công bố giá Wokey cho mỗi lệnh gọi Search/Fetch. Nếu cần tìm kiếm và fetch độc lập có tài liệu hỗ trợ, hãy dùng khóa API DeepSeek với api.deepseek.com, cấu hình và tính phí riêng với các lệnh gọi mô hình qua Wokey.

Phí chính thức, thay đổi từ ngày 1 tháng 11 và chi tiết hỗ trợ

Khắc phục sự cố thường gặplink

  • “The current model does not support images”: đây là cơ chế kiểm tra năng lực cục bộ của Harness; không có nghĩa là Wokey hay Opus 5.5 không hỗ trợ thị giác. Hãy bật Image cho mô hình đó, hoặc thêm input: [text, image] vào mục YAML của nó.
  • Ảnh vẫn bị từ chối sau khi lưu: hãy bắt đầu phiên mới và chọn lại mô hình; phiên hiện có vẫn giữ năng lực mô hình và tệp đính kèm đã ghi nhận.
  • Yêu cầu có ảnh trả về 400: hãy khớp giao thức và base URL. Anthropic Messages dùng https://api.wokey.ai không có /v1; OpenAI Chat Completions dùng https://api.wokey.ai/v1. deepseek-v4.1-flash hỗ trợ cả hai định dạng, nhưng client vẫn phải gửi đúng cấu trúc của giao thức đã chọn.
  • Ứng dụng không khởi động hoặc báo số dòng YAML: kiểm tra input có nằm dưới đúng mô hình, mọi dấu gạch đầu dòng của mô hình thẳng hàng và tệp không chứa tab. Khôi phục bản sao lưu, rồi lưu lại chỉ với dấu cách.
  • Ứng dụng khởi động với “Select a model”: kiểm tra agent-default-model vẫn trỏ đến provider và mô hình đang tồn tại. Cập nhật mục này sau khi xóa hoặc đổi tên provider.
  • Mô hình xuất hiện sau khi tìm kiếm nhưng không có năng lực hình ảnh: Fetch available models chủ yếu điền ID và các trường dung lượng. Hãy khai báo rõ input: [text, image] cho từng mô hình thị giác tùy chỉnh thay vì đánh dấu mọi mô hình là hỗ trợ thị giác.
  • Các provider khác biến mất sau khi lưu: ghi đè cordis.patch.yml thay thế toàn bộ mục llm-pi-ai, nên hãy giữ mọi provider hiện có dưới providers.

Kiểm tra bằng curllink

Nếu client báo lỗi, trước hết hãy dùng curl để loại trừ vấn đề về khóa API và base URL.

DeepSeek Harness mặc định dùng định dạng OpenAI Chat Completions. Nếu yêu cầu này trả về 200 thì khóa API và base URL đều đúng. Hãy thay YOUR_API_KEY bằng khóa của bạn trước khi gửi.

cURL
curl https://api.wokey.ai/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "messages": [
      { "role": "user", "content": "Hello" }
    ]
  }'

Lỗi và khắc phục sự cốlink

Trước hết hãy phân biệt các trường hợp xác thực, số dư, giới hạn tốc độ, mô hình không khả dụng và upstream hết thời gian chờ.

401

invalid api key

Khóa bị thiếu, nhập sai, đã bị xóa, hoặc header Authorization / x-api-key mâu thuẫn nhau.

402

insufficient balance

Số dư tài khoản quá thấp. Hãy nạp tiền trước khi gửi thêm yêu cầu.

403

model_denylisted / account_restricted

Lệnh gọi đến mô hình, hoặc đến mọi mô hình trên tài khoản, bị tạm dừng sau nhiều lần vi phạm. Xem Phí xử lý vi phạm và giới hạn.

403

request_blocked

Yêu cầu này bị chặn trước khi đến upstream và không bị tính phí, ví dụ gửi lại nguyên vẹn một yêu cầu mà mô hình vừa từ chối, hoặc người dùng cuối đang bị tạm dừng (X-End-User-Id). Thông báo lỗi cho biết điều gì bị chặn; hãy sửa yêu cầu theo thông báo hoặc thử lại sau. Các yêu cầu khác không bị ảnh hưởng.

429

rate limited

Lưu lượng quá dày. Hãy thử lại sau hoặc giảm số yêu cầu đồng thời. Nếu chỉ một mô hình, hoặc một người dùng cuối (X-End-User-Id), liên tục trả về 429, đó có thể là giới hạn tạm thời sau khi vi phạm.

499

client disconnected

Client đã đóng kết nối trước khi phản hồi hoàn tất (mã downstream_aborted). Mặc định trường hợp này miễn phí. Khi một tài khoản có ít nhất 50 lần client ngắt kết nối trong 24 giờ qua và chúng chiếm từ 10% số yêu cầu trở lên, các yêu cầu bị ngắt kết nối sau đó sẽ bị tính phí theo mức sử dụng mà upstream báo cáo: phần đầu vào đã xử lý, bao gồm đọc và ghi cache, và phần đầu ra chỉ khi upstream đã tính. Ngắt kết nối trước khi upstream báo cáo bất kỳ mức sử dụng nào vẫn miễn phí. Tài khoản sẽ được thông báo khi bắt đầu tính phí, và việc tính phí tự động dừng trong vòng một giờ khi tỷ lệ ngắt kết nối trở lại bình thường. Nguyên nhân thường gặp là thời gian chờ của client hoặc proxy quá ngắn, hoặc chương trình hủy yêu cầu trước khi chúng hoàn tất.

502

upstream unavailable

Dịch vụ mô hình upstream tạm thời không khả dụng. Hãy đổi mô hình hoặc thử lại sau.

504

upstream timeout

Phản hồi từ upstream hết thời gian chờ. Hãy rút ngắn ngữ cảnh, giảm max_tokens hoặc thử lại.

529

upstream overloaded

Mô hình upstream tạm thời quá tải và Wokey đã thử lại trên các tuyến khác (mã upstream_overloaded). Lỗi này không liên quan đến số dư của bạn. Hãy thử lại sau ít phút hoặc đổi mô hình.

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

baseURL của DeepSeek Harness có cần kết thúc bằng /v1 không?
Tùy vào trường api của provider. Với anthropic-messages, dùng https://api.wokey.ai không có /v1; OpenAI Chat Completions cần một provider riêng với https://api.wokey.ai/v1.
Vì sao báo mô hình hiện tại không hỗ trợ hình ảnh?
Đó là bước kiểm tra khả năng cục bộ trong Harness: theo mặc định, mô hình tùy chỉnh chỉ khai báo đầu vào văn bản. Thêm input: [text, image] vào mục mô hình, lưu lại và thử lại trong một phiên mới.
Vì sao các provider khác của tôi biến mất sau khi lưu?
Phần ghi đè llm-pi-ai trong cordis.patch.yml thay thế toàn bộ mục. Hãy ghi các provider bạn đã có vào providers cùng với Wokey.