DeepSeek Harness vs Claude Code vs Omnigent: qual usar
Compare arquitetura, acoplamento ao modelo, licenca, maturidade e requisitos para rodar DeepSeek Harness, Claude Code ou Omnigent em um VPS.
DeepSeek Harness vs Claude Code vs Omnigent: de qual precisa
DeepSeek Harness, Claude Code e Omnigent são todos chamados de harnesses de agentes, mas resolvem partes diferentes do problema. O DeepSeek Harness é um runtime de plugins com uma interface web no qual você fornece o modelo. O Claude Code é um programa de terminal da Anthropic que executa modelos da Anthropic. O Omnigent é um orquestrador da Databricks que controla outros harnesses, incluindo o Claude Code, em vez de implementar o seu próprio loop de agente. Nenhum deles é um substituto direto dos outros. Portanto, a pergunta relevante é qual camada está faltando. Se esse enquadramento for novo para você, o que é realmente um harness de agente apresenta as partes que estes três dividem de formas diferentes: o loop, as ferramentas, as permissões e o estado da sessão.
As diferenças efetivas estão na arquitetura, no acoplamento ao modelo, na interface, na maturidade e na licença. Todas as versões e datas abaixo foram verificadas em 18 August 2026. Dois dos três evoluem rápido o suficiente para que você deva verificar novamente antes de escolher um deles.
O que é o DeepSeek Harness e quais são as vantagens do modelo de plugins?
A DeepSeek publicou o DeepSeek Harness, ou dsh, em github.com/deepseek-ai/deepseek-harness em agosto de 2026. A descrição do repositório resume todo o design em quatro palavras: tudo é um plugin. O adaptador do modelo, o registo de ferramentas, o log da sessão, o sandbox e o próprio ciclo do agente são todos plugins, carregados por um runtime baseado no Cordis. A adoção foi invulgarmente rápida, e o repositório ultrapassou 150,000 estrelas poucos dias depois da publicação (verificado em 18 August 2026).
O DeepSeek Harness está atualmente em developer preview e evolui rapidamente. HAVERÁ ALTERAÇÕES QUE QUEBRAM A COMPATIBILIDADE.
Este é o aviso do próprio README e é a frase mais importante desta comparação. Qualquer implementação feita hoje sobre a API (interface de programação de aplicações) de plugins deve ser considerada sujeita a reescrita.
Inicie-o com npx, que requer o Node.js instalado:
npx @deepseek-ai/dsh webO comando apresenta o URL. Por predefinição, a interface web é disponibilizada em http://127.0.0.1:3080. Esse endereço é um bind deliberado, não apenas uma predefinição cosmética, e o que significa fazer bind a 127.0.0.1 para aceder à interface começa a ser relevante assim que dsh está a ser executado numa máquina diferente daquela onde está o seu browser. Cada build publicada é uma release candidate, não uma versão estável. Por isso, se esse comando falhar ou iniciar uma versão inesperada, fixar uma versão exata do dsh e limpar a cache do npx é a forma mais rápida de resolver o problema. A compilação a partir do código-fonte usa pnpm:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh webdsh web é uma abreviatura de dsh --profile web. Um perfil é um diretório dentro de $DSH_HOME/profiles/, e o launcher inicia o perfil cujo nome indicar. Isto é relevante porque também existe um perfil sem interface: dsh --profile headless "job" executa uma sessão persistida, apresenta o resultado e termina. Este é o formato adequado para uma tarefa cron ou uma etapa de build. As flags do launcher, como --profile e --patch, têm de aparecer antes dos argumentos da própria aplicação, porque o launcher deixa de os analisar a partir da transferência do controlo. Uma flag como --port pertence ao perfil iniciado, não ao launcher, pelo que a sua posição é importante. Os plugins são geridos encaminhando argumentos para o pnpm, como em dsh plugin --profile web add <package>. Um plugin é carregado no mesmo runtime que o agente e herda as respetivas permissões. Por isso, verifique a que recursos um plugin pode aceder antes de o instalar.
O que é o Claude Code e por que ele é um programa de terminal?
Claude Code é o agente CLI (interface de linha de comandos) da Anthropic. O produto não inclui uma interface Web. É executado no terminal, no diretório onde pretende trabalhar, o que o torna adequado para uma sessão no servidor. Como não há uma interface para configurar, define a forma como responde através de texto, e um estilo de saída substitui o seu prompt de sistema, fazendo com que todas as respostas da sessão tenham uma estrutura diferente. A instalação requer um comando no macOS, Linux e WSL:
curl -fsSL https://claude.ai/install.sh | bash
claude --versionUma instalação funcional apresenta uma versão e o nome do produto, por exemplo 2.1.211 (Claude Code). Se isso falhar, claude doctor apresenta diagnósticos apenas de leitura sobre a instalação e as definições, sem iniciar uma sessão. Também existe um pacote npm, npm install -g @anthropic-ai/claude-code, que, a partir da v2.1.198, requer Node.js 22 ou posterior. Ele instala o mesmo binário nativo, por isso o claude instalado não usa o seu Node.js durante a execução. A Anthropic também publica repositórios apt, dnf e apk assinados para Debian, Ubuntu, Fedora, RHEL e Alpine. Esta é a melhor opção num servidor que gere com gestão de configuração, porque as atualizações passam a chegar através do fluxo normal de atualização.
O Claude Code requer uma conta Pro, Max, Team, Enterprise ou Console. O plano gratuito Claude.ai não inclui acesso. Decidir entre uma subscrição Claude e a faturação da API altera muito mais o que paga do que qualquer definição dentro da ferramenta.
O que é o Omnigent e o que um meta-harness orquestra?
A Databricks anunciou o Omnigent em June 2026 e lançou-o sob a licença Apache 2.0. O projeto denomina-se meta-harness. Não implementa um ciclo de execução de agentes. Controla os agentes que já existem: Claude, Codex, Cursor, OpenCode, Hermes, Pi e o SDK (software development kit) de agentes da OpenAI. Vários desses agentes aparecem duas vezes na lista de harnesses: uma vez numa forma que comunica com o SDK do fornecedor e outra numa forma nativa que encapsula o programa de terminal real do fornecedor.
Um agente é um ficheiro YAML, sendo YAML um formato de configuração em texto simples:
name: my_agent
prompt: You are a helpful data analyst.
executor:
harness: claude-sdk
tools:
word_count:
type: function
callable: mypackage.mymodule.word_count
docs:
type: mcp
url: https://example.com/mcp
researcher:
type: agent
prompt: Search for relevant information.A linha executor.harness é o objetivo central do projeto. Altere claude-sdk para codex e o mesmo prompt, com as mesmas ferramentas, será executado noutro fornecedor. Uma ferramenta pode ser uma função Python, um servidor MCP (model context protocol) ou outro agente. Este último caso é a forma de expressar trabalho multiagente: um subagente é simplesmente uma ferramenta. Se ainda não definiu onde devem ficar as skills, os servidores MCP e os ficheiros de regras, vale a pena ler primeiro a diferença entre skills de agentes, MCP e ficheiros de regras, porque o Omnigent herda aquilo que o harness subjacente suportar.
O exemplo incluído torna a ideia concreta. Polly é um orquestrador de programação que não escreve código diretamente. Planeia o trabalho, distribui tarefas por subagentes de programação em worktrees git paralelas e encaminha depois cada diff para um revisor que utiliza o modelo de outro fornecedor.
Instale-o com o script publicado:
curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | shTambém pode instalá-lo manualmente. Esta opção requer Python 3.12 ou mais recente:
uv tool install omnigent
omnigent setup
omnigent startpip install "omnigent" também funciona, e os extras são selecionados da forma habitual com uv tool install "omnigent[databricks,modal]". omnigent setup recolhe as credenciais e aplica os valores predefinidos. omnigent start inicia o servidor, regista a máquina como host e disponibiliza uma interface web em http://localhost:6767. omnigent server status e omnigent stop são os outros dois comandos que utilizará diariamente. Um omnigent sem argumentos abre uma sessão interativa sem iniciar o servidor.
A lista de dependências é maior do que o instalador de uma linha sugere: Python 3.12 ou mais recente, git, Node.js 22 LTS (long term support) ou mais recente com npm e pnpm, tmux para os wrappers de terminal nativos e bubblewrap (bwrap) para a sandbox Linux. Isto resulta diretamente do desenho do projeto. O Omnigent tem de instalar e supervisionar os CLIs dos fornecedores, pelo que é software Python cuja função é executar software Node.js.
Quem fornece o modelo e quem paga por ele?
Este é o eixo com as maiores consequências práticas, e as três respostas são realmente diferentes.
DeepSeek Harness segue o modelo de credenciais próprias. O catálogo de fornecedores instalado inclui Anthropic, OpenAI, Bedrock, Vertex, Azure e Codex. Uma entrada de fornecedor personalizado exige um ID de fornecedor em minúsculas, um nome de apresentação, um URL base, um protocolo de API, uma credencial e pelo menos um modelo. É assim que o pode apontar para um gateway da empresa ou para um servidor alojado localmente. As chaves são gravadas em $DSH_HOME/.credentials.yaml, e $DSH_HOME/settings.yaml guarda apenas uma referência a elas. Isto significa que o ficheiro de definições pode ser partilhado com segurança, mas o ficheiro de credenciais não. Em alternativa, uma entrada de gateway pode indicar uma variável de ambiente, com uma linha como apiKeyEnv: GATEWAY_API_KEY. Apesar do nome do projeto, nada o obriga a usar os próprios modelos da DeepSeek. Se quiser ver estes ficheiros preenchidos com uma chave real ou direcionados para um endpoint local do Ollama, configurar chaves, modelos e endpoints do dsh explica cada modo e o que é ou não enviado para fora da sua máquina em cada um deles.
Claude Code está associado por conceção a um único fornecedor. Inicia sessão com uma conta paga ou define ANTHROPIC_API_KEY, e o Claude Code pede-lhe uma vez para aprovar essa chave em vez de abrir um browser. Esta segunda opção funciona num servidor headless. As organizações que já compram capacidade noutro local podem encaminhar as ligações através do Amazon Bedrock, do Agent Platform da Google Cloud ou do Microsoft Foundry.
Omnigent precisa do que o harness subjacente exigir, recolhido por omnigent setup. Aceita chaves de API, subscrições existentes de CLI, gateways compatíveis com OpenAI ou Anthropic e workspaces do Databricks. Esse é o custo real de um meta-harness: uma máquina acaba por armazenar as credenciais de todos os fornecedores. Leia como manter os segredos fora do alcance de um agente de IA antes de ligar essa máquina à Internet pública.
Qual é o grau de maturidade de cada um em agosto de 2026?
O Claude Code está disponível de forma geral desde 2025 e, em agosto de 2026, encontra-se na série 2.1.x. Ele é atualizado automaticamente em segundo plano, oferece os canais de lançamento latest e stable, publica manifestos de lançamento assinados com GPG e documenta uma opção de fixação minimumVersion para organizações que precisam de definir uma versão mínima. Este é o perfil de um produto que já é executado em ambientes de produção.
O Omnigent é público desde junho de 2026, ainda está na série 0.x e o README descreve-o como alfa. Espere alterações contínuas tanto na lista de harnesses como no esquema YAML. É utilizável, mas ainda não é estável.
O DeepSeek Harness é, por uma margem significativa, o mais recente. Foi publicado em agosto de 2026, poucos dias antes de esta comparação ser escrita, e o próprio README prevê alterações que podem quebrar a compatibilidade. Um número muito elevado de estrelas mostra que muitas pessoas estão a acompanhá-lo. Não indica que a API de plugins esteja estabilizada.
Que licença cada um utiliza?
O DeepSeek Harness utiliza a licença MIT, com as licenças de terceiros identificadas em THIRD_PARTY_NOTICES.md. O Omnigent utiliza a licença Apache 2.0. O Claude Code não é open source: é um produto comercial da Anthropic, e a sua execução requer uma conta paga ou acesso à API com faturação. Se o requisito for poder ler e alterar todas as linhas de código, o Claude Code fica excluído antes de qualquer comparação de funcionalidades. Se o requisito for que a ferramenta continue a funcionar no próximo mês sem intervenção, esse requisito aponta no sentido oposto.
O que é necessário para executar cada um num VPS?
O Claude Code é o mais simples dos três. Instale-o, inicie sessão e execute-o dentro do tmux para que a sessão sobreviva a uma ligação SSH (secure shell) interrompida. A Anthropic documenta 4 GB de RAM (random access memory) ou mais e um processador x64 ou ARM64, com Ubuntu 20.04 ou posterior, Debian 10 ou posterior, ou Alpine 3.19 ou posterior. No Alpine, também é necessário instalar primeiro bash, curl, libgcc, libstdc++ e ripgrep, porque o comando de instalação falha com um erro not found sem esses componentes. Executar o Claude Code num VPS dentro do tmux explica detalhadamente a gestão da sessão.
O DeepSeek Harness precisa do Node.js e de um navegador apontado para a respetiva interface web. O README pede Node.js sem indicar uma versão mínima, por isso o Node 22 LTS é a escolha segura, porque é essa a versão visada pelo ecossistema envolvente. Não publique a porta 3080. Mantenha o servidor em 127.0.0.1 e reencaminhe a porta a partir do portátil:
ssh -N -L 3080:127.0.0.1:3080 you@your-vpsDepois, abra http://127.0.0.1:3080 localmente. Instalar o DeepSeek Harness num VPS explica a organização dos perfis e os comandos dos plugins.
O Omnigent é o mais pesado, porque instala e supervisiona CLIs de terceiros. Requer Python 3.12, Node.js 22, npm, pnpm, tmux e bubblewrap no mesmo servidor. Além disso, descarrega cada CLI de fornecedor que ativar. Reencaminhe a porta da mesma forma:
ssh -N -L 6767:127.0.0.1:6767 you@your-vpsNum servidor utilizado por outras pessoas, o método suportado é a implementação Docker em deploy/, que ativa contas multiutilizador por predefinição. O mesmo comportamento está disponível num servidor iniciado manualmente, definindo OMNIGENT_AUTH_ENABLED=1. O início de sessão OIDC (OpenID Connect) funciona com Google, GitHub, Okta e Microsoft. Guia do harness multiagente Omnigent explica os fornecedores de sandbox, que se tornam relevantes assim que os agentes escrevem no disco.
Por que a interface web fica em branco no endereço IP público do servidor?
Ambas as interfaces web escutam no loopback por padrão. A medida mais óbvia é vinculá-las a 0.0.0.0 e abrir a porta. Isso causa dois problemas distintos. O primeiro é a segurança: nenhuma delas fornece autenticação no modo local padrão. Portanto, uma porta aberta equivale a um shell aberto no seu VPS. O segundo é uma regra do navegador que costuma surpreender. crypto.randomUUID() só é definido num contexto seguro, ou seja, HTTPS (hypertext transfer protocol secure), localhost ou 127.0.0.1. Se carregar a mesma interface através de um endereço sem segurança, como http://203.0.113.10:3080, a consola do navegador apresenta:
TypeError: crypto.randomUUID is not a functionA página é então apresentada apenas parcialmente ou não é apresentada, porque a criação da sessão falha antes de qualquer elemento poder ser desenhado. Não há nenhum problema no servidor, e os logs mostram um pedido normal. A origem não é considerada confiável pelo navegador. Por isso, uma função de que o frontend depende nunca foi definida. Um túnel SSH resolve o problema sem certificado, porque 127.0.0.1 é considerado um contexto seguro. Um reverse proxy com um certificado TLS (transport layer security) válido também resolve o problema. Nesse caso, terá de adicionar a autenticação por conta própria.
Qual é o mais adequado para si?
Escolha Claude Code se quiser um agente de programação que já funciona hoje, estiver disposto a pagar à Anthropic e já trabalhar no terminal. É o único dos três que é um produto comercial completo, e não uma pré-visualização.
Escolha DeepSeek Harness se o modelo de plugins for o ponto principal: quer substituir o adaptador do modelo, a sandbox ou o ciclo do agente, e aceita que a interface utilizada possa mudar. O catálogo de fornecedores inclui Anthropic e OpenAI, por isso escolhê-lo é apostar no runtime, e não nos modelos da DeepSeek.
Escolha Omnigent se já executar mais de uma CLI de agentes e o seu problema real for a coordenação: políticas, sandboxing, revisão pelo modelo de um segundo fornecedor e uma sessão partilhada que outras pessoas possam acompanhar. Esta ferramenta acrescenta uma camada à sua stack, e uma camada de que não precisa pode causar problemas. Se o seu problema de coordenação for menor, duas sessões do Claude Code no mesmo host podem enviar mensagens entre si sem um orquestrador no meio.
Se ainda estiver a selecionar opções, o agente de programação Mimo Code AI pertence à mesma categoria de agentes de terminal que o Claude Code, e executar agentes de programação numa VM descartável é uma leitura útil, independentemente da opção escolhida, porque nenhum destes três torna um rm -rf descuidado seguro por si só. Nenhum dos três decide o tamanho do diff proposto pelo agente. Essa é uma questão ao nível do prompt. Por isso, vale a pena aplicar uma skill que incentive o agente a fazer a menor alteração que funcione sobre o harness escolhido.
FAQ
Preciso de um plano pago da Anthropic para usar o Claude Code?
Sim. O Claude Code requer uma conta Pro, Max, Team, Enterprise ou Console, e o plano gratuito do Claude.ai não inclui acesso. Num VPS sem interface gráfica, defina ANTHROPIC_API_KEY antes da primeira execução. O Claude Code pede então uma vez a aprovação dessa chave, em vez de tentar abrir um navegador. Organizações com capacidade disponível noutros locais podem encaminhá-lo para Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry.
O DeepSeek Harness pode executar modelos Claude ou OpenAI?
Sim. O catálogo de provedores instalado inclui Anthropic, OpenAI, Bedrock, Vertex, Azure e Codex. Adicione uma chave por provedor em Settings e depois em Models. Qualquer serviço fora do catálogo deve ser adicionado como provedor personalizado. Para isso, são necessários um id de provedor em minúsculas, uma URL base, um protocolo de API, uma credencial e pelo menos um modelo. As chaves são armazenadas em $DSH_HOME/.credentials.yaml, enquanto $DSH_HOME/settings.yaml contém apenas uma referência. Faça uma cópia de segurança do ficheiro de credenciais separadamente e mantenha-o fora do controlo de versões.
O Omnigent substitui o Claude Code?
Não. O Omnigent executa o Claude Code. A lista de harnesses inclui Claude, Codex, Cursor, OpenCode, Hermes e Pi. Um agente seleciona um deles com uma única linha harness: no seu ficheiro YAML. Ainda precisa de instalar e autenticar individualmente a CLI subjacente. O Omnigent acrescenta orquestração, políticas e sandboxing a essa camada. Por isso, só justifica as dependências quando executa mais de um agente ou usa mais de um fornecedor.
Por que motivo a interface Web do DeepSeek Harness fica vazia no endereço IP público do meu servidor?
Porque uma origem HTTP simples não é um contexto seguro, crypto.randomUUID() não está definido nesse contexto e a consola do navegador apresenta TypeError: crypto.randomUUID is not a function. A criação da sessão falha. Por isso, a página é apresentada parcialmente ou não é apresentada, embora os logs do servidor pareçam normais. Encaminhe a porta por SSH com ssh -N -L 3080:127.0.0.1:3080 you@your-vps e abra http://127.0.0.1:3080, porque o loopback é considerado um contexto seguro. Também pode usar um reverse proxy com um certificado TLS válido. Nesse caso, terá de adicionar a autenticação por sua conta.
Quanta RAM um VPS precisa para estes harnesses?
A Anthropic documenta 4 GB ou mais para o Claude Code. O DeepSeek Harness e o Omnigent não publicam um valor. Por isso, faça medições em vez de adivinhar. Nos três casos, o modelo é executado remotamente. O harness limita-se a supervisionar processos e a trabalhar com ficheiros, sem executar a inferência. O que determina realmente o tamanho do servidor é o trabalho que o agente executa nele, como uma compilação e uma suite de testes. O Omnigent requer mais recursos, porque Python, Node.js, tmux e todas as CLIs dos fornecedores ativadas são executados na mesma máquina.