DeepSeek chat ou agente: por que refatorar vários arquivos quebra no copiar e colar?

DeepSeek agente Harness organizando refatoração de código em vários arquivos
Resposta rápida

Se a refatoração toca três, cinco, doze arquivos, o chat começa a escorregar: ele só enxerga o que você colou, não vê o disco nem o resultado do build. É aí que entra o DeepSeek agente, o Harness, lançado em 13/08/2026 como developer preview, open source sob licença MIT. Ele sobe com npx @deepseek-ai/dsh web, abre uma Web UI local em http://127.0.0.1:3080, tem três modos de operação e grava um log de sessão append-only auditável pela visão Trajectory. Chat para arquivo único, agente para tarefa que atravessa o projeto

Fala aí, beleza? Você abre o chat, cola o primeiro arquivo, pede a refatoração, cola de volta

Aí vem o segundo arquivo

O terceiro

No quarto você já não lembra se aplicou a mudança de assinatura naquele helper, o modelo devolve uma função que você renomeou dois arquivos atrás, e a refatoração que ia levar 20 minutos vira uma tarde de git diff procurando o que quebrou

A pergunta "chat ou agente" mudou de lugar desde que a DeepSeek passou a ter os dois lados da mesa ao mesmo tempo

Neste post: onde cada modo alcança de verdade, os cinco sinais de que sua tarefa passou do ponto do copiar e colar, e o veredito honesto por tipo de refatoração

Bora?

O que é o DeepSeek Harness e por que ele existe

O DeepSeek Harness é o agente de código open source da própria DeepSeek, publicado em 13 de agosto de 2026 em developer preview

Formação Claude Code
Formação Recomendada

Formação Claude Code

Domine Claude Code do absoluto zero até o avançado

  • 120 aulas
  • 4 projetos
  • 9h 45min

Ele sai sob licença MIT, com o código aberto no GitHub

A arquitetura é plugin-first

Que plugin-first? Significa que TODA capacidade é uma peça substituível: modelos, ferramentas, skills, sessões, sandboxes, storage, loops, agendamento e até a própria UI

Se você conhece a lógica de pacotes do NPM, a sensação é parecida: o núcleo é fino e o resto você pluga

A distribuição é como pacote npm @deepseek-ai/dsh, e ele sobe com um comando único:

npx @deepseek-ai/dsh web

Esse comando abre a Web UI local do Harness em http://127.0.0.1:3080 por padrão, e dsh web é alias fixo para --profile web

Os perfis web e headless se inicializam sozinhos no primeiro uso

Qualquer outro perfil precisa ser criado na mão, com dsh plugin --profile <nome> add <pacote-ou-git>

Tome cuidado com uma coisa antes de empolgar: ele segue em developer preview hoje, com plugins e APIs centrais ainda em evolução, ou seja, API sujeita a mudança

Isso não é detalhe de rodapé, é o que separa "ferramenta pra usar na sua máquina" de "peça pra confiar sozinha num pipeline"

Chat x agente: a comparação que importa numa refatoração

O ponto não é qual dos dois é mais inteligente

O ponto é ALCANCE: quem carrega o estado da tarefa

O que a tarefa exige Chat (você transporta) Agente (Harness)
Quem carrega o contexto dos arquivos Você, colando manualmente o que achar relevante A ferramenta, com as ferramentas do modo escolhido
Quem aplica a mudança no disco Você, copiando e colando a resposta O agente, via editor de arquivos
Quem roda comando de shell Você, fora da conversa O agente, mesmo no modo Minimal (uma ferramenta de shell e um editor de arquivos)
Escopo de ferramentas Não se aplica: a saída é texto Três modos: Standard (conjunto completo), Code (o modelo gera código pra orquestrar várias rodadas de chamadas via Code Mode SDK em TypeScript) e Minimal
Rastro do que foi feito O histórico da conversa, e só Log de sessão append-only com system prompts, raciocínio, chamadas de ferramenta e resultados, agendamento de subagentes e cada injeção de contexto
Auditar depois Rolar pra cima e torcer Visão Trajectory por origem: resume, fork, busca e replay sobre o mesmo fluxo de eventos
Dividir a tarefa Você abre outra aba Delegação a subagentes com overrides de model, provider, persona e toolFilter por chamada

Repare que a coluna do chat descreve sempre a MESMA coisa: a saída é texto, e o transportador é você

Enquanto a tarefa cabe num arquivo, isso é ótimo, é rápido e é barato

Quando a tarefa vira estado espalhado por doze arquivos, o transportador humano é o gargalo

Esse é o mesmo raciocínio de até onde o agente enxerga seus arquivos que vale pra qualquer ferramenta agêntica: o que está fora do alcance dele, alguém tem que carregar na mão

Cinco sinais de que sua refatoração passou do ponto do copiar e colar

Todos os cinco sinais têm a MESMA raiz, e vou repetir de propósito: o chat não tem estado do repositório nem retorno de execução

Ele não sabe o que está no disco agora, e não sabe se o build passou

1. Você começa a resumir o arquivo em vez de colar ele inteiro

Sintoma: você corta imports, apaga funções "que não têm a ver", cola só o miolo

Causa: a conversa não comporta mais o volume, então você virou o compressor da tarefa

Solução: modo agente, onde a leitura dos arquivos é ferramenta e não upload manual

2. O modelo devolve código com função que não existe mais

Sintoma: ele chama um método com a assinatura antiga, aquela que você mudou dois arquivos atrás

Causa: aquela mudança aconteceu no SEU editor, não na conversa, então pro chat ela nunca aconteceu

Solução: um executor que lê o arquivo atual antes de escrever, em vez de lembrar da versão que você colou meia hora antes

3. Você perde a conta de quais arquivos já aplicou

Sintoma: abre o git status pra descobrir onde parou

Causa: o progresso da tarefa mora na sua cabeça, não em lugar nenhum verificável

Solução: log de sessão append-only, com a visão Trajectory pra inspecionar chamada de ferramenta e resultado por origem

4. A resposta vem com trecho elidido

Sintoma: aquele clássico "mantenha o resto igual" no meio do bloco de código

Causa: o modelo está economizando saída porque a resposta ficou grande demais pro formato conversa

Solução: edição aplicada no arquivo, onde não existe "resto igual", existe diff

5. O mesmo erro reaparece três vezes

Sintoma: você cola o erro, ele corrige, quebra de novo, você cola de novo

Causa: o chat nunca viu o resultado do build, ele viu a sua transcrição do resultado do build

Solução: loop com execução de verdade, e um rastro pra você conferir depois

Esse rastro é o que separa depurar de adivinhar, e vale a mesma disciplina de rastrear falhas quando a tarefa é delegada: sem registro por origem, você só tem o resultado final e nenhuma pista de onde torceu

Como prevenir: defina o corte ANTES de começar, não no meio

Se a refatoração toca mais de três arquivos ou muda alguma assinatura pública, ela já nasce fora do copiar e colar

Decidir isso no arquivo sete, com metade aplicada e metade não, é o pior dos mundos

Quando o chat ainda é a escolha certa

Agora, cuidado com o discurso de que agente ganha sempre, porque não ganha

Pra um monte de coisa o chat é mais rápido, mais direto e mais barato:

  • entender um trecho que você herdou e não faz ideia do que faz
  • gerar uma função isolada, daquelas sem dependência nenhuma
  • revisar uma decisão de design antes de escrever qualquer linha
  • escrever teste pra um arquivo único
  • traduzir uma stack trace hostil pra português de gente

E o corte oposto, onde o copiar e colar sempre vai doer:

  • renomear um conceito em todo o projeto
  • trocar biblioteca
  • mover módulos de lugar
  • propagar mudança de assinatura pra quem chama

Tem uma variável extra que quase ninguém considera e que é bem real pra tarefa longa de agente: o HORÁRIO

A API da DeepSeek passou a cobrar por faixa de horário, com o preço fora de pico pela metade do preço de pico

O pico vai das 01:00 às 04:00 e das 06:00 às 10:00 UTC, e a tabela nova está em vigor desde 16/08/2026 às 16:00 UTC

Ou seja: aquela refatoração grandona que vai mastigar contexto por um tempão tem hora melhor pra rodar 😀

Vale lembrar também que o contexto de 1M de tokens é o padrão em todos os serviços oficiais da DeepSeek, e que os modelos disponíveis hoje na API são deepseek-v4-flash e deepseek-v4-pro, ambos com modo Thinking e Non-Thinking

O V4-Pro entrou em disponibilidade geral em 13/08/2026, no mesmo dia do Harness

Veredito: qual usar em cada tipo de refatoração

Mudança de arquivo único, função isolada, dúvida conceitual? Chat

É menos cerimônia, você não precisa subir nada e a resposta serve na hora

Tarefa que atravessa arquivos, muda assinatura, mexe em import de meio projeto? Agente

Não porque o modelo do agente é mais esperto, e sim porque ele carrega o estado que você estava carregando na mão

Mas segura a ressalva dura: o Harness está em developer preview, com APIs centrais sujeitas a mudança

Pra usar na sua máquina, com você olhando o Trajectory, ótimo

Pra colocar sozinho num pipeline crítico, ainda não é o momento

E existe uma saída lateral que muita gente ignora: a API da DeepSeek é compatível com os formatos da OpenAI e da Anthropic, então dá pra apontar agentes de terceiros pra ela

A própria DeepSeek mantém o guia "Integrate with AI Tools", com páginas dedicadas pra Claude Code, Codex, OpenCode, GitHub Copilot e Deep Code

Ou seja: se você já tem um agente que gosta, não precisa trocar de ferramenta pra usar os modelos deles

Conclusão

O copiar e colar não falha porque o modelo é fraco

Ele falha porque a tarefa tem mais estado do que uma janela de conversa consegue segurar, e o estado que sobra acaba na sua memória de curto prazo

Próximo passo bem concreto: pega a próxima refatoração que toca mais de três arquivos

Sobe a Web UI local com npx @deepseek-ai/dsh web, roda a mesma tarefa pelos dois caminhos e compara o resultado

Depois abre a visão Trajectory e audita o que o agente realmente fez, chamada por chamada

É o tipo de comparação que responde melhor que qualquer opinião na timeline 🙂

Até o próximo post!

Perguntas frequentes

Como instalar o DeepSeek Harness pra rodar como agente na minha máquina?

É um comando só: npx @deepseek-ai/dsh web, que sobe a Web UI local em http://127.0.0.1:3080 por padrão. O perfil web já vem com auto-init, então não precisa configurar nada antes de abrir. Se quiser outro perfil além de web ou headless, aí sim entra o dsh plugin --profile <nome> add <pacote-ou-git>.

O DeepSeek Harness é gratuito e open source de verdade?

Sim, o código fica aberto no GitHub sob licença MIT, sem custo pra rodar o próprio agente. O que pode gerar custo é o consumo da API dos modelos que ele orquestra, não o Harness em si. Vale lembrar que ele segue em developer preview, com plugins e APIs centrais ainda em evolução.

Dá pra apontar outros agentes de código pros modelos da DeepSeek?

Dá, porque a API da DeepSeek é compatível com os formatos da OpenAI e da Anthropic. A própria DeepSeek mantém o guia "Integrate with AI Tools", com páginas dedicadas pra Claude Code, Codex, OpenCode, GitHub Copilot e Deep Code, e é lá que mora o passo a passo de cada ferramenta.

O OpenCode também suporta trocar pra um provider DeepSeek?

Sim, a documentação oficial da DeepSeek cobre esse caminho também. A troca é feita dentro da própria ferramenta, mudando o provider pra DeepSeek, sem precisar sair pra outro agente.

Quanto custa usar a API da DeepSeek fora do horário de pico?

A tabela em vigor desde 16/08/2026 às 16:00 UTC cobra pela metade do preço de pico nas horas fora de pico. O pico acontece das 01:00 às 04:00 e das 06:00 às 10:00 UTC, e todo o resto do dia entra na faixa mais barata.

O DeepSeek Harness já pode ser usado em produção hoje?

Ainda não é recomendado tratar como peça definitiva de pipeline: ele está em developer preview, e a própria DeepSeek avisa que plugins e APIs centrais seguem em evolução. Pra testar refatoração e ganhar ritmo com agente local já dá pra usar, mas cuidado com automação crítica em cima dele por enquanto.



Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares