Configuração de chave de terceiros no DeepSeek Harness — provedor personalizado APIMaster.ai
Como adicionar uma chave de API compatível com OpenAI da APIMaster.ai no DeepSeek Harness (dsh). Abra Settings → Models → Add a custom provider, preencha Base URL, chave e IDs de modelo e selecione o modelo no chat.
DeepSeek Harness (dsh) é o framework de agentes local de código aberto da DeepSeek. A Web UI fica em http://127.0.0.1:3080 por padrão. O cartão DeepSeek aceita só a chave oficial. Para GPT / Claude / DeepSeek e outros modelos do marketplace via APIMaster, use Add a custom provider.
Obtenha a chave de API primeiro. A chave fica em
$DSH_HOME/.credentials.yaml(padrão~/.dsh/). Não compartilhe em chats nem capturas.
Pré-requisitos
- Node.js
22.19+ou24+. - Web UI em execução:
npx @deepseek-ai/dsh web
Abra a URL do terminal (geralmente http://127.0.0.1:3080).
3. Chave copiada do console da APIMaster.
4. model id do marketplace (ex.: gpt-5.6-sol, claude-sonnet-4-6, deepseek-v4-pro).
Passo 1 — Abrir Models
- Abra Settings.
- Selecione Models.
- Não clique em Edit no cartão DeepSeek — é a chave oficial.

| Botão | Uso |
|---|---|
| + Add provider | Catálogo (Anthropic, OpenAI, …) |
| + Add a custom provider | APIMaster (este) |
Passo 2 — Preencher o provedor personalizado
| Campo | Valor |
|---|---|
| Provider ID | apimaster (minúsculas; não pode ser renomeado depois de salvar) |
| Display name | apimaster ou APIMaster.ai |
| Base URL | https://apimaster.ai/v1 (inclua /v1) |
| API protocol | openai-completions |
| API key | Sua chave APIMaster |
Adicione pelo menos um modelo (esquerda = model id, direita = nome de exibição, ex. gpt-5.6-sol) ou use Fetch available models. Clique em Create provider.

Um id fora da lista falha localmente com UNKNOWN_MODEL. Sem /v1, fetch e chat falham.
- Para modelos de visão, verifique também a configuração de entrada de imagem abaixo. Adicionar um modelo apenas pela interface pode não habilitar imagens.
Visão / Modelos Multimodais com Provedores Personalizados
Se um modelo que você adiciona manualmente suporta imagens, talvez seja necessário declarar esse recurso em .dsh/settings.yaml. O formulário de provedor personalizado atualmente não possui campo para tipos de entrada do modelo; portanto, configurar o modelo apenas pela interface não é suficiente quando sua capacidade de visão está ausente no catálogo de modelos.
Abra $DSH_HOME/settings.yaml (padrão ~/.dsh/settings.yaml) e edite a entrada existente do provedor e do modelo. Mantenha o ID do provedor, as credenciais, a URL base e as outras configurações que você já definiu; mescle os campos abaixo nessa entrada em vez de substituir o arquivo.
Habilitar imagens para um modelo específico
Adicione input: [text, image] ao modelo que suporta visão:
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]
Os IDs de provedor e modelo acima são placeholders. Para sua configuração do APIMaster, use o ID do provedor salvo (por exemplo, apimaster), https://apimaster.ai/v1 e os IDs reais dos modelos. apiKeyEnv nomeia uma variável de ambiente que contém sua chave; se você salvou a chave pela interface, preserve a configuração de credenciais existente.
input: [text, image]declara suporte para entrada de texto e imagem somente para esse modelo. Neste exemplo, ele se aplica avision-modele não alteralegacy-chat.- Se
inputfor omitido ou definido como[], o Harness usa as informações de capacidade do catálogo de modelos. Se o catálogo não tiver informações correspondentes, ele recorre adefaultInputdo provedor / rota. - Uma declaração explícita no nível do modelo é especialmente útil para modelos adicionados manualmente cuja capacidade de visão não é reconhecida pelo catálogo.
Definir um padrão para os modelos de um provedor
Se todos os modelos adicionados manualmente em um provedor personalizado suportam imagens, definir defaultInput: [text, image] no provedor é mais conciso:
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
| Campo | Escopo | Quando usar |
|---|---|---|
input |
Capacidades de entrada de um modelo | Prefira quando apenas alguns modelos suportam imagens |
defaultInput |
Capacidades de entrada padrão para modelos nesse provedor / rota | Conveniente quando todos os modelos adicionados manualmente suportam imagens |
Ordem de resolução: input de modelo não vazio → informações de capacidade do catálogo de modelos → defaultInput do provedor / rota (que, por padrão, é [text]). defaultInput é um fallback; ele não substitui uma declaração explícita de modelo nem capacidades conhecidas do catálogo. Se o catálogo descrever um modelo de visão como somente texto, defina input: [text, image] explicitamente nesse modelo.
Essas configurações declaram capacidades; elas não adicionam suporte a visão a um modelo somente texto. O modelo e a API do provedor personalizado devem suportar o formato de entrada de imagem que está sendo enviado.
Salve o arquivo e envie uma nova solicitação com uma imagem. O Harness relê as configurações na próxima solicitação, então normalmente não é necessário reiniciar. Se a alteração não entrar em vigor, recarregue a interface ou reinicie o DeepSeek Harness e selecione o modelo configurado novamente.
Passo 3 — Confirmar o salvamento
Você deve ver DeepSeek e apimaster com o selo cinza Custom.

Passo 4 — Selecionar o modelo no chat
No seletor, escolha o modelo do grupo apimaster, não do grupo DeepSeek.

Passo 5 — Mensagem de teste
Envie hi. Uma resposta normal com métricas de rodapé (LLM / TTFT / tok) significa que a chave e a URL base funcionam para solicitações de texto. Para verificar a visão, envie também uma imagem após configurar a entrada de imagem.

Solução de problemas
| Problema | Correção |
|---|---|
| Formulário não aparece | Settings → Models → + Add a custom provider |
401 / MISSING_CREDENTIAL |
Cole a chave de novo em Edit |
| Sem conexão | https://apimaster.ai/v1 |
UNKNOWN_MODEL |
Adicione o id à lista Models |
| Ainda usa DeepSeek oficial | Escolha a linha do grupo apimaster |
| Provider ID errado | Crie outro e Delete o antigo |
| Imagens recusadas | Verifique a capacidade de visão do modelo e input / defaultInput em ~/.dsh/settings.yaml; veja a lista de verificação de solução de problemas de imagem abaixo |
Imagens não estão funcionando com um modelo adicionado manualmente
Se solicitações de texto funcionam, mas solicitações contendo imagens falham, verifique:
- Suporte do modelo: o modelo selecionado realmente suporta visão / entrada de imagens.
- Configuração do modelo: a entrada correspondente em
.dsh/settings.yamldeclarainput: [text, image]se o catálogo não identificar sua capacidade de visão. - Padrão do provedor: alternativamente, o provedor tem
defaultInput: [text, image]onde o fallback se aplica. Se uma declaração de modelo ou entrada do catálogo disser somente texto, useinputno nível do modelo para habilitar imagens explicitamente em um modelo suportado. - Configuração carregada: salve o arquivo de configurações usado pela instância em execução e tente novamente. Se a alteração não for refletida, recarregue a interface ou reinicie o DeepSeek Harness.
- Compatibilidade da API: o protocolo e o endpoint da API do provedor personalizado aceitam o formato de entrada de imagem enviado pelo Harness. Apenas uma solicitação de texto bem-sucedida não verifica a compatibilidade com imagens.
Consulte Visão / Modelos Multimodais com Provedores Personalizados para ambos os exemplos YAML.
Lista de verificação
-
npx @deepseek-ai/dsh webem execução - Usou + Add a custom provider
- API protocol =
openai-completions - Base URL =
https://apimaster.ai/v1 - O modelo do grupo apimaster responde
- Para modelos de visão, a entrada de imagem é declarada ou resolvida a partir do catálogo, e uma solicitação contendo uma imagem é bem-sucedida
