Configuração do DeepSeek Harness
O DeepSeek Harness (nome do comando dsh) é o harness de agentes oficial e open source da DeepSeek, construído sobre uma arquitetura em que tudo é plugin — modelos, ferramentas, skills, sessões, sandboxes e a interface são plugins intercambiáveis. Por padrão ele chama a API oficial da DeepSeek; aponte o plugin de modelos para o OfoxAI e o mesmo harness alcança mais de 100 modelos.
O dsh está em preview para desenvolvedores e seus mantenedores afirmam que mudanças incompatíveis são esperadas. Este guia foi escrito com base no @deepseek-ai/dsh 0.1.2-rc.1.
Passos de configuração
1. Instalar o dsh
Instale o Node.js primeiro. O dsh é distribuído no npm como @deepseek-ai/dsh e fornece o comando dsh após a instalação.
macOS
npm install -g pnpm # pule se já estiver instalado
pnpm add -g @deepseek-ai/dsh
dsh --versionO diretório bin global do pnpm precisa estar no seu PATH; execute pnpm bin -g para localizá-lo.
Durante a instalação, o pnpm pode exibir o aviso Ignored build scripts: node-pty, koffi …. Ignore — os dois pacotes trazem binários pré-compilados para todas as plataformas e não precisam de compilação local.
Para testar sem instalar globalmente:
npx @deepseek-ai/dsh web2. Configurar o provedor OfoxAI
O dsh mantém sua configuração em $DSH_HOME — ~/.dsh no macOS e Linux, %USERPROFILE%\.dsh no Windows. Escolha um dos dois caminhos abaixo.
Escolha a Base URL de acordo com a sua rede: use api.ofox.ai em redes internacionais e api.ofox.io na China continental. Os dois são espelho do mesmo serviço — o mesmo API Key funciona nos dois e o caminho é /v1 em ambos os casos.
Web UI (recomendado)
dsh webO terminal imprime uma URL com token (http://127.0.0.1:3080 por padrão) e abre o navegador. Clique em Settings, no canto inferior esquerdo:

Vá para Models na navegação à esquerda:

A entrada integrada deepseek-official fala direto com o DeepSeek, então passar pelo OfoxAI exige adicionar um provedor personalizado — clique em Add a custom provider:

Preencha os campos abaixo e clique em Fetch available models:
| Campo | Valor |
|---|---|
| Provider ID | ofox |
| Display name | ofox |
| Base URL | https://api.ofox.ai/v1 |
| API protocol | openai-completions |
| API key | seu API Key do OfoxAI |

Na captura, API protocol está como openai-responses — esse é o valor padrão do formulário, e só os modelos DeepSeek o aceitam. Escolha openai-completions para cobrir o catálogo inteiro.
Marque os modelos que quiser, clique em Add selected e, de volta ao formulário, clique em Create provider:

De volta à visão de sessão, na primeira vez é preciso escolher um workspace (o diretório do projeto que o dsh pode ler e gravar). Depois disso, todos os modelos do grupo ofox ficam disponíveis no seletor de modelos, no canto inferior direito da caixa de texto:

A chave é gravada em $DSH_HOME/.credentials.yaml (legível apenas pelo seu próprio usuário do sistema) e a configuração do provedor em $DSH_HOME/settings.yaml. Ambas passam a valer imediatamente, sem reiniciar.
Os IDs de modelo precisam incluir o prefixo do fornecedor — anthropic/claude-sonnet-5, e não apenas claude-sonnet-5, que é rejeitado. Veja o catálogo completo no Mercado de Modelos .
3. Definir o API Key
apiKeyEnv nomeia uma credencial em vez de guardar a chave. O dsh a resolve em uma ordem fixa: o ambiente em que o dsh foi iniciado, depois $DSH_HOME/.credentials.yaml, depois o .env do seu projeto e por fim o .env do seu diretório pessoal. Se você usou a Web UI, a chave já está armazenada e você pode pular esta etapa.
macOS
export OFOX_API_KEY=<seu OFOXAI_API_KEY>4. Verificar
dsh --profile headless "Responda exatamente: OK. Não chame nenhuma ferramenta."Receber OK de volta significa que a camada de modelos está chegando ao OfoxAI. No dia a dia, abra a interface web com dsh web ou execute uma única tarefa e saia com dsh --profile headless "run the tests".
Diferenças entre plataformas
O conteúdo do arquivo de configuração é idêntico nas três plataformas — só mudam os caminhos e a sintaxe das variáveis de ambiente.
| macOS | Linux | Windows | |
|---|---|---|---|
Raiz de configuração $DSH_HOME | ~/.dsh | ~/.dsh | %USERPROFILE%\.dsh |
| Persistir o API Key | ~/.zshrc | ~/.bashrc | setx |
| Sandbox da ferramenta de shell | Bash | Bash | PowerShell (o sandbox Bash é desativado automaticamente) |
Solução de problemas
TIMEOUT: Request timed out. — o dsh é uma aplicação Node e não lê http_proxy / all_proxy, então ter um proxy de sistema funcionando não significa que o dsh consiga se conectar. Se o domínio de baseURL não estiver acessível na sua rede, usuários da China continental devem mudar para o espelho https://api.ofox.io/v1.
MISSING_CREDENTIAL — a credencial indicada por apiKeyEnv não resolveu para nenhum valor. Confirme que a variável de ambiente está ativa no terminal que iniciou o dsh ou que a chave está armazenada em $DSH_HOME/.credentials.yaml. A outra causa é escolher o modelo errado: a rota integrada deepseek-official lista seus modelos no seletor mesmo sem nenhuma chave configurada, com nomes bem parecidos com os da sua rota personalizada.
A resposta vem vazia e nenhum erro aparece — a armadilha mais fácil de cair: combinar api: openai-responses com um modelo da Anthropic encerra a requisição normalmente (finish reason: stop), mas sem conteúdo. Mova esse modelo para uma rota openai-completions ou para uma rota anthropic-messages apontada para https://api.ofox.ai/anthropic.
INVALID_REQUEST / HTTP 400 endpoint_not_supported — o payload traz Model '…' does not support the /v1/responses endpoint on this platform. Please use /v1/chat/completions instead. Modelos do Google e da Qwen fazem isso sob openai-responses. De novo, troque api para openai-completions.
O carregamento de plugins falha com erro de rota duplicada — o mesmo nome de rota foi registrado duas vezes. Verifique se $DSH_HOME/cordis.patch.yml e settings.yaml definem ofox ao mesmo tempo.
Avançado: configurar pela camada de patch
settings.yaml guarda as configurações de usuário em tempo de execução e passa a valer na próxima requisição. Para mudar a composição dos plugins em si — trocar ou desativar um plugin — use a camada de patch em $DSH_HOME/cordis.patch.yml:
- id: llm-pi-ai
config:
providers:
ofox:
apiKeyEnv: OFOX_API_KEY
api: openai-completions
baseURL: https://api.ofox.ai/v1
- id: agent-default-model
config:
provider: ofox
model: deepseek/deepseek-v4-pro-0813Execute dsh web --dump-config para imprimir a árvore de plugins composta e confirmar que sua configuração foi aplicada.
Modelos recomendados
Para modelos recomendados, consulte o Mercado de Modelos .
O dsh evolui rapidamente e seus campos de configuração podem mudar entre versões. Confira também o repositório oficial do DeepSeek Harness .