O DeepSeek Harness (dsh) entrou em beta público e open source em 13 de agosto com uma aposta de design: tudo é um plugin — modelos, ferramentas, skills, sessões, sandboxes, armazenamento, loops, agendamento e UI podem ser compostos e trocados. Seis dias depois, chegou a v0.1.0-rc.8 com sua primeira grande atualização: 14 mudanças, com entrada multimodal como destaque. Modelos com capacidade de visão agora aceitam imagens nativamente, modelos somente de texto ganham um fallback de visão na camada de ferramentas (OCR, estatísticas de cor, varredura de pixels), e o Claude Code e o Codex podem ser instalados sob demanda como subagentes.
Aqui está o que realmente mudou e como colocar isso para funcionar hoje.
O que chegou no rc.8
O adaptador de modelos DeepSeek agora suporta solicitações nativas de imagem configuráveis. Comandos como /goal e /plan aceitam entrada mista de imagem + texto, e o menu @ pode referenciar arquivos locais e sessões existentes, permitindo puxar screenshots e contexto anterior direto para uma tarefa.
- Entrada multimodal: solicitações nativas de imagem para modelos com capacidade de visão;
/goal,/plane o menu@lidam com imagens, arquivos e sessões. - Novos subagentes: Claude Code e Codex são instalados sob demanda como Profile Bundles. O Codex adiciona modo de permissão não interativo e múltiplas instâncias nomeadas em uma única tarefa.
- Windows: terminais PTY ganham sessões persistentes de PowerShell, habilitadas por padrão no preset Minimal.
Correções que vale conhecer: imagens grandes demais ou acúmulo de payloads de imagem não travam mais as requisições aos modelos; cancelar um stream mantém o prefixo já renderizado nos prompts de follow-up e nos forks; gateways personalizados compatíveis com OpenAI, com diferenças de formato de requisição, agora funcionam e retornam conteúdo de raciocínio.
Ative a entrada nativa de imagens
Instale e execute a Web UI:
npx @deepseek-ai/dsh web
# Web UI: http://127.0.0.1:3080
Para um modelo com capacidade de visão, declare a entrada de imagem na configuração do adaptador — o padrão da comunidade é listar explicitamente os tipos de entrada do modelo:
# configuração do adaptador/modelo (o schema muda rápido no pré-lançamento, consulte a documentação)
model:
input: [text, image] # permite solicitações nativas de imagem
Depois de habilitado, arraste um screenshot direto para /goal ou /plan, ou use o menu @ para anexar um arquivo local ou uma sessão anterior à tarefa atual.
Visão para modelos somente de texto: o fallback na camada de ferramentas
A parte interessante é o que acontece quando o modelo não tem visão alguma. Quando o read_image falha, o harness degrada para uma cadeia de ferramentas: fazer OCR do texto, contar proporções de cores, varrer linhas de pixels, ler metadados (dimensões, modo de cor) — e então entregar a evidência estruturada ao modelo de texto, que reconstrói o que a imagem provavelmente mostra.
Isso funciona bem para imagens estruturalmente claras: slides de PPT, fluxogramas, screenshots de UI, tabelas. O desempenho cai em fotos reais e cenas espaciais complexas. O ponto de design merece destaque: a percepção não precisa viver no modelo base — as ferramentas podem fazer parte da visão.
A comunidade já explorava isso antes do rc.8: dsh-vision, dsh-vision-toolkit, modlens, dsh-auto-vision, dsh-subagent-vision e pi2dsh (fazendo ponte com o pi-vision). O suporte multimodal nativo e essas abordagens na camada de ferramentas agora se complementam.
Claude Code e Codex como subagentes sob demanda
Ambos agora são instaláveis como Profile Bundles — puxe-os apenas quando uma tarefa precisar deles. O Codex suporta modo de permissão não interativo e múltiplas instâncias nomeadas, então uma única tarefa pode executar vários workers Codex com papéis diferentes. O reportDelivery dos subagentes agora acorda a tarefa pai assim que um subagente reporta de volta, em vez de esperar o ciclo completo.
# exemplo ilustrativo de perfil
subagents:
codex-worker-a:
provider: codex
permission: non-interactive
codex-worker-b:
provider: codex
permission: non-interactive
Windows, correções e o que experimentar a seguir
Os terminais PTY do Windows agora mantêm uma sessão persistente de PowerShell (padrão no preset Minimal), então os comandos não reconstroem o ambiente do terminal a cada execução. O web_search executa consultas concorrentes, o backend SQLite ficou mais rápido para leitura/escrita/fork com armazenamento menor (o formato é incompatível — faça backup antes de atualizar), e o SDK Python agora cobre todos os quatro Agent Presets integrados além de busca com rg/glob e dependências MCP stdio.
Três coisas para experimentar nesta semana:
- Screenshot-para-código em um modelo com visão: solte um screenshot de UI no
/goale peça para ele criar a base da implementação. - Triagem de bugs com evidências: cole um screenshot de erro; deixe o fallback de OCR extrair a mensagem e as coordenadas em um modelo barato somente de texto.
- Divida papéis entre subagentes: o Codex escreve, o Claude Code revisa, dentro da mesma tarefa do harness.
Se você está procurando um modelo base com capacidade de visão para combinar com isso, vale conferir os avanços de visão do GPT-5.6 Sol, e o guia open source de deep research cobre padrões semelhantes de orquestração de agentes para fluxos de pesquisa.
Recursos
- GitHub: deepseek-ai/deepseek-harness (MIT)
- Notas de versão: dsh-v0.1.0-rc.8
- Comunidade: DeepSeek Harness Discord, tópico de plugins dsh-plugin