Công cụ & IDE

Cấu hình DeepSeek Harness

Tích hợp ShopAIKey với DeepSeek HarnessThêm ShopAIKey làm custom provider trong DeepSeek Harness, dùng chung một key cho cả chuẩn OpenAI Chat Completions và Anthropic Messages.

DeepSeek Harness (dsh) là agent lập trình của DeepSeek, chạy được ở cả terminal và giao diện Web. Ngoài model DeepSeek chính chủ, dsh cho phép khai báo custom provider nên bạn có thể dùng thẳng API key ShopAIKey.

Điểm đáng chú ý: dsh hỗ trợ nhiều chuẩn API khác nhau, và ShopAIKey đáp ứng được cả hai chuẩn phổ biến nhất bằng cùng một key.

Endpoint

Chuẩn API trong dshBase URL
openai-completionshttps://api.shopaikey.com/v1
anthropic-messageshttps://api.shopaikey.com

Mỗi provider trong dsh chỉ nhận một chuẩn API. Muốn dùng cả hai, bạn tạo hai provider riêng như hướng dẫn bên dưới.

1. Chạy DeepSeek Harness

code
npx @deepseek-ai/dsh web

Lệnh này khởi động giao diện Web tại http://127.0.0.1:3080 kèm token đăng nhập in ra trong terminal. Nếu muốn dùng bản terminal:

code
npx @deepseek-ai/dsh

Ở màn hình chào, dsh sẽ mời bạn đăng nhập tài khoản DeepSeek. Chọn Configure later để bỏ qua, vì bạn sẽ dùng key ShopAIKey.

2. Tạo provider theo chuẩn OpenAI

Mở Settings (góc dưới bên trái) → tab Models → Add a custom provider, rồi điền:

TrườngGiá trị
Provider IDshopaikey
Display nameShopAIKey (OpenAI)
Base URLhttps://api.shopaikey.com/v1
API protocolopenai-completions
API keykey ShopAIKey của bạn

Provider ID phải viết thường, bắt đầu bằng chữ cái, và không sửa được sau khi tạo.

Bấm Fetch available models: dsh gọi thẳng GET /v1/models của ShopAIKey bằng key vừa nhập và trả về toàn bộ danh sách model đang mở. Tick chọn các model bạn cần, ví dụ:

code
deepseek-v4-pro
deepseek-v4-flash

Cuối cùng bấm Create provider.

3. Tạo provider theo chuẩn Anthropic

Làm lại các bước trên với provider thứ hai:

TrườngGiá trị
Provider IDshopaikey-claude
Display nameShopAIKey (Claude)
Base URLhttps://api.shopaikey.com
API protocolanthropic-messages
API keydùng lại đúng key ShopAIKey ở trên

Với chuẩn anthropic-messages, nút Fetch available models sẽ báo lỗi:

code
pi-ai protocol "anthropic-messages" has no model listing this build can read;
enter this provider's models by hand

Đây là giới hạn của dsh, không phải của ShopAIKey. Bấm Add model và nhập model id bằng tay, ví dụ:

code
claude-sonnet-4-6

Sau đó bấm Create provider.

4. Khai báo trực tiếp trong settings.yaml

Nếu muốn dựng lại cấu hình trên máy khác, bạn có thể sửa thẳng file ~/.dsh/settings.yaml:

code
llm-pi-ai:
  providers:
    shopaikey:
      displayName: ShopAIKey (OpenAI)
      apiKeyEnv: SHOPAIKEY_API_KEY
      api: openai-completions
      baseURL: https://api.shopaikey.com/v1
      models:
        - id: deepseek-v4-pro
        - id: deepseek-v4-flash
    shopaikey-claude:
      displayName: ShopAIKey (Claude)
      apiKeyEnv: SHOPAIKEY_CLAUDE_API_KEY
      api: anthropic-messages
      baseURL: https://api.shopaikey.com
      models:
        - id: claude-sonnet-4-6
          name: Claude Sonnet 4.6

Với apiKeyEnv, key được đọc từ biến môi trường thay vì lưu trong file cấu hình:

code
export SHOPAIKEY_API_KEY="sk-your-api-key"
export SHOPAIKEY_CLAUDE_API_KEY="sk-your-api-key"

Key nhập qua giao diện được dsh lưu riêng ở ~/.dsh/.credentials.yaml theo Provider ID.

5. Chọn workspace và chạy thử

Trước khi chat, dsh yêu cầu chọn thư mục làm việc: bấm Choose workspace và trỏ tới dự án của bạn.

Mở danh sách model ở góc phải ô nhập liệu, model sẽ được nhóm theo từng provider bạn vừa tạo. Chọn một model rồi gửi thử:

code
Đọc file README.md trong workspace rồi tóm tắt trong 2 câu.

Nếu agent gọi được tool đọc file và trả lời bình thường, cấu hình đã hoạt động. Dòng Usage dưới mỗi câu trả lời cho biết số token đã dùng.

Muốn đổi sang Claude, chỉ cần chọn model của provider shopaikey-claude ngay trong phiên đang chạy, không phải cấu hình lại.

6. Lưu ý

  • Base URL của hai chuẩn khác nhau: chuẩn OpenAI có hậu tố /v1, chuẩn Anthropic thì không.
  • Model id phải trùng với model ShopAIKey đang hỗ trợ, tra tại trang Models.
  • Nếu gặp lỗi Invalid API Key, kiểm tra key còn credit và chưa bị thu hồi.
  • Nếu gặp lỗi Model Not Found, thử đổi sang model khác trong trang Models.
  • Sau khi sửa tay settings.yaml, khởi động lại dsh để nạp cấu hình mới.